home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / stl453up.zip / stl453fx / test / regression / README.txt < prev    next >
Text File  |  2002-04-29  |  3KB  |  66 lines

  1. Test suite for SGI STL implementation
  2.  
  3. Boris P. Fomitchev <fbp@metabyte.com>
  4.  
  5. Last updated : Nov 14, 1997
  6.  
  7. ----------------------------------------------------------------------------
  8.  
  9. Preface
  10.  
  11. One of the problems one is faced when deciding whether using STL or not is
  12. the question of portability and reliability. It's not a rare case when
  13. compiler begins to crash when template constructs get too complex. While
  14. it's not possible to predict such effects on arbitrary code, it is often
  15. useful to test basic STL compatibility of the compiler. That's what this
  16. testsuite is for. It don't use too complex construct with STL items. But it
  17. do instantiate about every item to see if it works properly.
  18.  
  19. ----------------------------------------------------------------------------
  20.  
  21. Genesis
  22.  
  23. This testsuite is derived from Cygnus Solutions STL testsuite, which is
  24. based on ObjectSpace STL examples. The changes that have been made mostly
  25. involve restructuring. You can run a single short test for particular STL
  26. construct , or try to compile them all and link to single executable. You
  27. may also test if your compiler can handle extremely long source files by
  28. compiling a single source including all others.
  29.  
  30. ----------------------------------------------------------------------------
  31.  
  32. Platforms
  33.  
  34. Makefiles for gcc, SUNPro, Borland, Visual C++ compilers are provided with
  35. the suite. Look for .mak files in the distribution. It should be not
  36. difficult to adjust one of them to your compiler.
  37.  
  38. ----------------------------------------------------------------------------
  39.  
  40. Trying it out
  41.  
  42. After unpacking, edit appropriate makefile to fit your compiler and include
  43. directories . After you've done, try "make check". This target is output
  44. (stl_test.out) of single executable containing all the tests. Compare it
  45. with stl_test.exp output (or stl_test.rand.exp, see below). 
  46. There should be no differences. If some test fails
  47. to compile, you may try "make test_name.out" to produce single test
  48. executable and run it.
  49.  
  50. ----------------------------------------------------------------------------
  51.  
  52. Expected differences
  53.  
  54. As many tests use pseudo-random generators, you may get differences
  55. in test output. 
  56. Basically, there are 2 random generator scemes used :
  57. via rand() function : expected result in stl_test.rand.exp
  58. via lrand48() function : expected result in stl_test.exp.
  59.  
  60. System-dependent notices:
  61.  If you are using STLport on OS390 machine, you should compare with stl_test.ibm390.exp.
  62.  
  63.  Linux libc uses different random generator which doesn't match any of the above. Be prepared.
  64.  
  65. 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. 
  66.