00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #include <lestes/common.hh>
00035 #include <lestes/equality.hh>
00036 #include <lestes/std/file_info.hh>
00037 #include <lestes/std/source_location.hh>
00038 #include <lestes/msg/message.hh>
00039 #include <lestes/msg/report_end.hh>
00040 #include <lestes/msg/report_cache.hh>
00041 #include <lestes/msg/report_ostream.hh>
00042 #include <lestes/std/ostream_wrapper.hh>
00043 #include <lestes/msg/reporter.test.hh>
00044 #include <lestes/msg/reporter.test.m.hh>
00045
00046 package(lestes);
00047 package(msg);
00048
00049 using namespace ::std;
00050
00051
00052
00053
00054
00055
00056 void reporter_test(void)
00057 {
00058 ptr<report_cache> rc = report_cache::create(report_end::create());
00059 lassert(is_equal(rc->location_get(),ptr<source_location>(NULL)));
00060 lassert(is_equal(rc->message_get(),ptr<message>(NULL)));
00061
00062
00063
00064 ptr<reporter> rep = reporter::instance();
00065
00066 rep->filter_set(rc);
00067
00068
00069 ptr<file_info> fi = file_info::create("ab.c",NULL);
00070 ptr<source_location> loc = source_location::create(fi,1,1);
00071
00072 ptr<message> m0 = message::create(test0->kind_get(),"Test 0.",message::FLG_WARNING);
00073
00074 report << test0 << loc;
00075 lassert(is_equal(rc->location_get(),loc));
00076 lassert(is_equal(rc->message_get(),m0));
00077
00078 ptr<message> m1 = message::create(test1->kind_get(),"Test 1: abcd.",message::FLG_ERROR);
00079
00080 report << test1 << lstring("abcd") << loc;
00081 lassert(is_equal(rc->location_get(),loc));
00082 lassert(is_equal(rc->message_get(),m1));
00083
00084 ptr<message> m2 = message::create(test2->kind_get(),"Test 2: 37 65.",message::FLG_ERROR);
00085 report << test2 << 37U << 65U << loc;
00086 lassert(is_equal(rc->location_get(),loc));
00087 lassert(is_equal(rc->message_get(),m2));
00088
00089 ptr<message> m3 = message::create(test3->kind_get(),"Test 3: all your base are belong to 8472.",message::FLG_WARNING);
00090 lstring s("are belong to"), t("all your base");
00091 ulint u = 8472;
00092 report << test3 << s << u << t << loc;
00093 lassert(is_equal(rc->location_get(),loc));
00094 lassert(is_equal(rc->message_get(),m3));
00095 }
00096
00097 end_package(msg);
00098 end_package(lestes);
00099
00100
00101
00102
00103
00104
00105 int main(void)
00106 {
00107 ::lestes::msg::reporter_test();
00108 return 0;
00109 }
00110