1$Id$ 2 3=========================== 4STLport testing unit README 5=========================== 6 7======= 8Purpose 9======= 10Provide independent STLport unit tests, with clearly defined pass/failed 11result for every single test without any user action (i.e. diff) 12and without any input request (i.e. files, cin input ...). 13 14===== 15Build 16===== 17Use makefile(s): 18 19make -f gcc.mak 20 21====================== 22Running the test suite 23====================== 24commad-line syntax as follows: 25 stl_unit_test [OPTIONS] 26 where OPTIONS are 27 -t=CLASS[::TEST] run the test class CLASS or member test CLASS::TEST 28 -f=FILE save output in file FILE instead of stdout 29 30examples: 31./stl_unit_test 32 - runs all tests registered with this unit 33 34./stl_unit_test -f=out.txt 35 - runs all tests registered with this unit but print results into out.txt instead of stdout 36 37./stl_unit_test -t=VectorTest 38 - runs all tests registered in VectorTest class 39 40./stl_unit_test -t=VectorTest::vec_test_1 -f=out.txt 41 - runs only VectorTest::vec_test_1() test, print result into out.txt instead of stdout 42 43================== 44CU mini background 45================== 46see: 47http://www.stlport.com/dcforum/DCForumID5/764.html 48 49Note: cppunit mini sources are modified from original! 50 51=============== 52Adding new test 53=============== 54You can add/create new tests easily just use _template.cpp as your new 55test class and do not forget to edit Makefile.inc 56 57For guide to CppUnit like tests see http://cppunit.sourceforge.net/ 58 59============================================== 60Replacement of regression by unit tests: 61============================================== 62 63regression unit 64----------------------------------------- 65accum1.cpp accum_test.cpp 66accum2.cpp 67 68adjdiff0.cpp adj_test.cpp 69adjdiff1.cpp 70adjdiff2.cpp 71adjfind0.cpp 72adjfind1.cpp 73adjfind2.cpp 74 75advance.cpp advance_test.cpp 76 77alg1.cpp alg_test.cpp 78alg2.cpp 79alg3.cpp 80alg4.cpp 81alg5.cpp 82 83bcompos1.cpp bcompos_test.cpp 84bcompos2.cpp 85 86bind1st1.cpp bind_test.cpp 87bind1st2.cpp 88bind2nd1.cpp 89bind2nd2.cpp 90 91binsert1.cpp binsert_test.cpp 92binsert2.cpp 93 94binsrch1.cpp bsearch_test.cpp 95binsrch2.cpp 96 97bnegate1.cpp bnegate_test.cpp 98bnegate2.cpp 99 100bvec1.cpp bvector_test.cpp 101 102bug.cpp - 103 104copy1.cpp copy_test.cpp 105copy2.cpp 106copy3.cpp 107copy4.cpp 108copyb0.cpp 109copyb.cpp 110 111count0.cpp count_test.cpp 112count1.cpp 113countif1.cpp 114 115deque1.cpp deque_test.cpp 116 117divides.cpp divides_test.cpp 118 119eqlrnge0.cpp equal_test.cpp 120eqlrnge1.cpp 121eqlrnge2.cpp 122equal0.cpp 123equal1.cpp 124equal2.cpp 125equalto.cpp 126 127fill1.cpp fill_test.cpp 128filln1.cpp 129 130find0.cpp find_test.cpp 131find1.cpp 132findif0.cpp 133findif1.cpp 134 135finsert1.cpp finsert_test.cpp 136finsert2.cpp 137 138float_input.cpp floatio_test.cpp 139float_output.cpp 140 141foreach0.cpp foreach_test.cpp 142foreach1.cpp 143 144fstream1.cpp - 145 146func1.cpp func_test.cpp 147func2.cpp 148func3.cpp 149 150gener1.cpp generator_test.cpp 151gener2.cpp 152genern1.cpp 153genern2.cpp 154 155greateq.cpp greater_test.cpp 156greater.cpp 157 158hmap1.cpp hash_test.cpp 159hmmap1.cpp 160hmset1.cpp 161hset2.cpp 162 163incl0.cpp includes_test.cpp 164incl1.cpp 165incl2.cpp 166 167inplmrg1.cpp inplace_test.cpp 168inplmrg2.cpp 169 170inrprod0.cpp innerprod_test.cpp 171inrprod1.cpp 172inrprod2.cpp 173 174insert1.cpp insert_test.cpp 175insert2.cpp 176 177ioiter.cpp ioiter_test.cpp 178 179iota1.cpp iota_test.cpp 180 181istmit1.cpp istmit_test.cpp 182 183iter1.cpp iter_test.cpp 184iter2.cpp 185iter3.cpp 186iter4.cpp 187iterswp.cpp 188 189less.cpp less_test.cpp 190lesseq.cpp 191 192lexcmp1.cpp lexcmp_test.cpp 193lexcmp2.cpp 194 195list1.cpp list_test.cpp 196list2.cpp 197list3.cpp 198list4.cpp 199 200logicand.cpp logic_test.cpp 201logicnot.cpp 202logicor.cpp 203 204lwrbnd1.cpp bound_test.cpp 205lwrbnd2.cpp 206uprbnd1.cpp 207uprbnd2.cpp 208 209map1.cpp map_test.cpp 210mmap1.cpp 211mmap2.cpp 212 213max1.cpp max_test.cpp 214max2.cpp 215maxelem1.cpp 216maxelem2.cpp 217 218memfunptr.cpp mfunptr_test.cpp 219 220merge0.cpp merge_test.cpp 221merge1.cpp 222merge2.cpp 223 224min1.cpp min_test.cpp 225min2.cpp 226minelem1.cpp 227minelem2.cpp 228 229minus.cpp plusminus.cpp 230 231mismtch0.cpp mismatch_test.cpp 232mismtch1.cpp 233mismtch2.cpp 234 235mkheap0.cpp heap_test.cpp 236mkheap1.cpp 237pheap0.cpp 238pheap1.cpp 239 240modulus.cpp modulus_test.cpp 241 242move_constructor.cpp mvctor_test.cpp 243 244multiset.cpp multiset_test.cpp 245 246negate.cpp neq_test.cpp 247nequal.cpp 248 249nextprm0.cpp perm_test.cpp 250nextprm1.cpp 251nextprm2.cpp 252prevprm0.cpp 253prevprm1.cpp 254prevprm2.cpp 255 256nthelem0.cpp nthelm_test.cpp 257nthelem1.cpp 258nthelem2.cpp 259 260ostmit.cpp ostmit_test.cpp 261 262pair0.cpp pair_test.cpp 263pair1.cpp 264pair2.cpp 265 266parsrt0.cpp partial_test.cpp 267parsrt1.cpp 268parsrt2.cpp 269parsrtc0.cpp 270parsrtc1.cpp 271parsrtc2.cpp 272partsum0.cpp 273partsum1.cpp 274partsum2.cpp 275 276pqueue1.cpp queue_test.cpp 277queue1.cpp 278 279ptition0.cpp partition_test.cpp 280ptition1.cpp 281stblptn0.cpp 282stblptn1.cpp 283 284ptrbinf1.cpp ptr2_test.cpp 285ptrbinf2.cpp 286ptrunf1.cpp 287ptrunf2.cpp 288 289ptr_specialization.cpp ptrspec_test.cpp 290 291quiet_signal_nan.cpp - 292 293rawiter.cpp rawiter.cpp 294 295remcopy1.cpp rm_cp_test.cpp 296remcpif1.cpp 297remif1.cpp 298remove1.cpp 299repcpif1.cpp 300replace0.cpp 301replace1.cpp 302replcpy1.cpp 303replif1.cpp 304revcopy1.cpp 305reverse1.cpp 306 307reviter1.cpp reviter_test.cpp 308reviter2.cpp 309revbit1.cpp 310 311rndshuf0.cpp rndshf_test.cpp 312rndshuf1.cpp 313rndshuf2.cpp 314 315rotate0.cpp rotate_copy.cpp 316rotate1.cpp 317rotcopy0.cpp 318rotcopy1.cpp 319 320search0.cpp search_test.cpp 321search1.cpp 322search2.cpp 323 324seek.cpp - 325 326set.cpp set_test.cpp 327 328setdiff0.cpp setdiff_test.cpp 329setdiff1.cpp 330setdiff2.cpp 331setsymd0.cpp 332setsymd1.cpp 333setsymd2.cpp 334 335setintr0.cpp setinter_test.cpp 336setintr1.cpp 337setintr2.cpp 338 339setunon0.cpp setunion_test.cpp 340setunon1.cpp 341setunon2.cpp 342 343single.cpp - 344 345slist1.cpp slist_test.cpp 346 347sort1.cpp sort_test.cpp 348sort2.cpp 349stblsrt1.cpp 350stblsrt2.cpp 351 352sstream1.cpp - 353 354stack1.cpp stack_test.cpp 355stack2.cpp 356 357strass1.cpp - 358 359string1.cpp string_test.cpp 360string_mt.cpp 361short_string.cpp 362 363swap1.cpp swap_test.cpp 364swprnge1.cpp 365 366times.cpp times_test.cpp 367 368trnsfrm1.cpp transform_test.cpp 369trnsfrm2.cpp 370 371tstdeq.cpp - 372 373ucompos1.cpp unary_test.cpp 374ucompos2.cpp 375unegate1.cpp 376unegate2.cpp 377 378uniqcpy1.cpp unique_test.cpp 379uniqcpy2.cpp 380unique1.cpp 381unique2.cpp 382 383vec.cpp vector_test.cpp 384 385====== 386Status 387====== 388So far all tests from regression directory were ported except following ones: 389 390iter2.cpp (pointless - already tested in iter1.cpp, 391 see iter_test.cpp) 392move_constructor.cpp (not fully tested see mvctor_test.cpp) 393mset1.cpp (moved in multiset.cpp) 394mset3.cpp (moved in multiset.cpp) 395mset4.cpp (moved in multiset.cpp) 396mset5.cpp (moved in multiset.cpp) 397pair1.cpp (pointless - already tested in pair0.cpp, 398 see pair_test.cpp) 399pair2.cpp (pointless - already tested in pair0.cpp, 400 see pair_test.cpp) 401partsrt0.cpp (identic w ith parsrt0.cpp - tested in 402 pair_test.cpp ) 403quiet_signal_nan.cpp 404revbit2.cpp (pointless - already tested in revbit1.cpp, 405 see reviter_test.cpp ) 406rndshuf1.cpp (pointless - already tested in rndshuf0.cpp, 407 see rndshf_test.cpp ) 408set1.cpp (moved in set.cpp) 409set2.cpp (moved in set.cpp) 410