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