123
This commit is contained in:
65
STLPORT/test/regression/README.txt
Normal file
65
STLPORT/test/regression/README.txt
Normal file
@@ -0,0 +1,65 @@
|
||||
Test suite for SGI STL implementation
|
||||
|
||||
Boris P. Fomitchev <fbp@metabyte.com>
|
||||
|
||||
Last updated : Nov 14, 1997
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Preface
|
||||
|
||||
One of the problems one is faced when deciding whether using STL or not is
|
||||
the question of portability and reliability. It's not a rare case when
|
||||
compiler begins to crash when template constructs get too complex. While
|
||||
it's not possible to predict such effects on arbitrary code, it is often
|
||||
useful to test basic STL compatibility of the compiler. That's what this
|
||||
testsuite is for. It don't use too complex construct with STL items. But it
|
||||
do instantiate about every item to see if it works properly.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Genesis
|
||||
|
||||
This testsuite is derived from Cygnus Solutions STL testsuite, which is
|
||||
based on ObjectSpace STL examples. The changes that have been made mostly
|
||||
involve restructuring. You can run a single short test for particular STL
|
||||
construct , or try to compile them all and link to single executable. You
|
||||
may also test if your compiler can handle extremely long source files by
|
||||
compiling a single source including all others.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Platforms
|
||||
|
||||
Makefiles for gcc, SUNPro, Borland, Visual C++ compilers are provided with
|
||||
the suite. Look for .mak files in the distribution. It should be not
|
||||
difficult to adjust one of them to your compiler.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Trying it out
|
||||
|
||||
After unpacking, edit appropriate makefile to fit your compiler and include
|
||||
directories . After you've done, try "make check". This target is output
|
||||
(stl_test.out) of single executable containing all the tests. Compare it
|
||||
with stl_test.exp output (or stl_test.rand.exp, see below).
|
||||
There should be no differences. If some test fails
|
||||
to compile, you may try "make test_name.out" to produce single test
|
||||
executable and run it.
|
||||
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Expected differences
|
||||
|
||||
As many tests use pseudo-random generators, you may get differences
|
||||
in test output.
|
||||
Basically, there are 2 random generator scemes used :
|
||||
via rand() function : expected result in stl_test.rand.exp
|
||||
via lrand48() function : expected result in stl_test.exp.
|
||||
|
||||
System-dependent notices:
|
||||
If you are using STLport on OS390 machine, you should compare with stl_test.ibm390.exp.
|
||||
|
||||
Linux libc uses different random generator which doesn't match any of the above. Be prepared.
|
||||
|
||||
map1_test : some compilers don't zero-initialize data when builtin-type default constructor called, thus you may see some garbage instead of 0 in the output.
|
||||
Reference in New Issue
Block a user