]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/test/example/filtering_example.cpp
1 // (C) Copyright Gennadiy Rozental 2015.
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
6 // See http://www.boost.org/libs/test for the library home page.
8 #define BOOST_TEST_MODULE filtering test
9 #include <boost/test/unit_test.hpp>
10 namespace bt
=boost::unit_test
;
12 const std::string
test1v("test1");
13 const std::string
test2v("test2");
14 const std::string
test3v("test3");
16 //____________________________________________________________________________//
18 BOOST_AUTO_TEST_SUITE( s1
,
20 * bt::description( "initially disabled suite 1")
21 * bt::label( "label1" )
22 * bt::label( "label2" ))
24 BOOST_AUTO_TEST_CASE( test1
,
26 * bt::description("initially enabled case s1/t1"))
28 BOOST_TEST( "s1" == test1v
);
31 //____________________________________________________________________________//
33 BOOST_AUTO_TEST_CASE( test2
,
34 * bt::description( "initially defaulted case s1/t2")
35 * bt::expected_failures( 1 ))
37 BOOST_TEST( "s1" == test2v
);
40 //____________________________________________________________________________//
42 BOOST_AUTO_TEST_CASE( test3
,
43 * bt::description( "initially defaulted case s1/t3"))
45 BOOST_TEST( "s1" == test3v
);
48 //____________________________________________________________________________//
50 BOOST_AUTO_TEST_SUITE_END()
52 BOOST_AUTO_TEST_SUITE( s2
,
54 * bt::label( "label1" )
55 * bt::expected_failures( 3 ))
57 BOOST_AUTO_TEST_CASE( test1
,
58 * bt::description( "initially defaulted case s2/t1"))
60 BOOST_TEST( "s2" == test1v
);
63 //____________________________________________________________________________//
65 boost::test_tools::assertion_result
66 do_it( bt::test_unit_id
)
71 BOOST_AUTO_TEST_CASE( test2
,
73 * bt::description( "initially enabled case s2/t2")
74 * bt::precondition(do_it
))
76 BOOST_TEST( "s2" == test2v
);
79 //____________________________________________________________________________//
81 BOOST_AUTO_TEST_CASE( test3
,
82 * bt::description( "initially defaulted case s2/t3"))
84 BOOST_TEST( "s2" == test3v
);
87 //____________________________________________________________________________//
89 BOOST_AUTO_TEST_SUITE_END()
91 BOOST_AUTO_TEST_SUITE( s3
,
94 BOOST_AUTO_TEST_CASE( test1
)
96 BOOST_TEST( "s3" == test1v
);
99 //____________________________________________________________________________//
101 BOOST_AUTO_TEST_CASE( test2
,
104 BOOST_TEST( "s3" == test2v
);
107 //____________________________________________________________________________//
109 BOOST_AUTO_TEST_CASE( test3
,
112 BOOST_TEST( "s3" == test3v
);
115 //____________________________________________________________________________//
117 BOOST_AUTO_TEST_SUITE( s14
,
118 * bt::depends_on( "s3/s15" )
119 * bt::description( "test suite which depends on another test suite"))
121 BOOST_AUTO_TEST_CASE( test1
,
122 * bt::depends_on( "s2" ))
124 BOOST_TEST( "s14" == test1v
);
127 //____________________________________________________________________________//
129 BOOST_AUTO_TEST_SUITE_END()
131 BOOST_AUTO_TEST_SUITE( s15
)
133 BOOST_AUTO_TEST_CASE( test1
)
135 BOOST_TEST( "s15" == test1v
);
138 //____________________________________________________________________________//
140 BOOST_AUTO_TEST_SUITE_END()
142 BOOST_AUTO_TEST_SUITE_END()
144 BOOST_AUTO_TEST_SUITE( s4
)
146 BOOST_AUTO_TEST_CASE( test1
,
148 * bt::label( "label2" ))
150 BOOST_TEST( "s4" == test1v
);
153 //____________________________________________________________________________//
155 BOOST_AUTO_TEST_CASE( test2
,
156 * bt::depends_on( "s4/test1" )
157 * bt::description( "test case which depends on disabled s4/t1"))
159 BOOST_TEST( "s4" == test2v
);
162 //____________________________________________________________________________//
164 BOOST_AUTO_TEST_CASE( test3
,
165 * bt::depends_on( "s4/test2" )
166 * bt::description( "test case which depends on enabled s4/t2, but indirectly on disabled s4/t1"))
168 BOOST_TEST( "s4" == test3v
);
171 //____________________________________________________________________________//
173 BOOST_AUTO_TEST_SUITE_END()
176 BOOST_AUTO_TEST_SUITE( s5
)
178 BOOST_AUTO_TEST_CASE( test1
,
179 * bt::depends_on( "s5/test3" ))
181 BOOST_TEST( "s5" == test1v
);
184 //____________________________________________________________________________//
186 BOOST_AUTO_TEST_CASE( test2
,
187 * bt::depends_on( "s5/test1" ))
189 BOOST_TEST( "s5" == test2v
);
192 //____________________________________________________________________________//
194 BOOST_AUTO_TEST_CASE( test3
,
195 * bt::depends_on( "s5/test2" ))
197 BOOST_TEST( "s5" == test3v
);
200 //____________________________________________________________________________//
202 BOOST_AUTO_TEST_SUITE_END()
205 BOOST_AUTO_TEST_SUITE( s6
)
207 BOOST_AUTO_TEST_CASE( test1
,
208 * bt::depends_on( "s6/test3" )
209 * bt::description( "test case which depends on enabled s6/t3"))
211 BOOST_TEST( "s6" == test1v
);
214 //____________________________________________________________________________//
216 BOOST_AUTO_TEST_CASE( test2
,
217 * bt::depends_on( "s6/test1" )
218 * bt::description( "test case which depends on enabled s6/t1"))
220 BOOST_TEST( "s6" == test2v
);
223 //____________________________________________________________________________//
225 BOOST_AUTO_TEST_CASE( test3
)
227 BOOST_TEST( "s6" == test3v
);
230 //____________________________________________________________________________//
232 BOOST_AUTO_TEST_SUITE( s9
,
233 * bt::description( "test suite with all test cases disabled"))
235 BOOST_AUTO_TEST_CASE( test1
,
237 * bt::label( "label1" ))
239 BOOST_TEST( "s9" == test1v
);
242 //____________________________________________________________________________//
244 BOOST_AUTO_TEST_CASE( test2
,
247 BOOST_TEST( "s9" == test2v
);
250 //____________________________________________________________________________//
252 BOOST_AUTO_TEST_SUITE_END()
254 BOOST_AUTO_TEST_SUITE_END()
257 BOOST_AUTO_TEST_SUITE( s7
)
259 BOOST_AUTO_TEST_CASE( test1
,
260 * bt::depends_on( "s8/test1" ))
262 BOOST_TEST( "s7" == test1v
);
265 //____________________________________________________________________________//
267 BOOST_AUTO_TEST_CASE( test2
,
268 * bt::depends_on( "s7/test1" ))
270 BOOST_TEST( "s7" == test2v
);
273 //____________________________________________________________________________//
275 BOOST_AUTO_TEST_SUITE_END()
277 BOOST_AUTO_TEST_SUITE( s8
)
279 BOOST_AUTO_TEST_CASE( test1
,
280 * bt::depends_on( "s8/test2" ))
282 BOOST_TEST( "s8" == test1v
);
285 //____________________________________________________________________________//
287 BOOST_AUTO_TEST_CASE( test2
,
288 * bt::depends_on( "s7/test2" ))
290 BOOST_TEST( "s8" == test2v
);
293 //____________________________________________________________________________//
295 BOOST_AUTO_TEST_SUITE_END()
297 BOOST_AUTO_TEST_SUITE( s10
)
299 BOOST_AUTO_TEST_CASE( test1
,
300 * bt::depends_on( "s11" ))
302 BOOST_TEST( "s10" == test1v
);
305 //____________________________________________________________________________//
307 BOOST_AUTO_TEST_CASE( test2
,
308 * bt::depends_on( "s10/test1" ))
310 BOOST_TEST( "s10" == test2v
);
313 //____________________________________________________________________________//
315 BOOST_AUTO_TEST_SUITE_END()
317 BOOST_AUTO_TEST_SUITE( s11
)
319 BOOST_AUTO_TEST_CASE( test1
,
320 * bt::depends_on( "s11/test2" ))
322 BOOST_TEST( "s11" == test1v
);
325 //____________________________________________________________________________//
327 BOOST_AUTO_TEST_CASE( test2
,
328 * bt::depends_on( "s10" ))
330 BOOST_TEST( "s11" == test2v
);
333 //____________________________________________________________________________//
335 BOOST_AUTO_TEST_SUITE_END()
339 BOOST_AUTO_TEST_SUITE( s12
)
341 BOOST_AUTO_TEST_CASE( test1
,
342 * bt::depends_on( "s13" )
343 * bt::description( "test test case which depends on test suite with all test cases skipped"))
345 BOOST_TEST( "s12" == test1v
);
348 //____________________________________________________________________________//
350 BOOST_AUTO_TEST_SUITE_END()
352 BOOST_AUTO_TEST_SUITE( s13
)
354 BOOST_AUTO_TEST_CASE( test1
,
355 * bt::depends_on( "s13/test2" ))
357 BOOST_TEST( "s13" == test1v
);
360 //____________________________________________________________________________//
362 BOOST_AUTO_TEST_CASE( test2
,
365 BOOST_TEST( "s13" == test2v
);
368 //____________________________________________________________________________//
370 BOOST_AUTO_TEST_SUITE_END()