The Iostreams library has been tested with several combinations of operating system, compiler and standard library, as shown below. Fifteen regression tests, using the Boost Unit Test Framework, are provided in the directory <libs/iostreams/test>
, together with a coresponding Jamfile.
The regression tests have been run on several platforms, with the results displayed in the table below. [Note: The table does not currently reflect the tests involving compression Filters, regular expression Filters or wide streams. I will try to update it soon.]
The test seekable_file.cpp
is failed by two compiler-standard library combinations, and may indicate a problem with the class template basic_file
.
Support for versions Microsoft Visual C++ prior to 7.1 has been dropped for two reasons. First, apparent code generation bugs in versions 6.0 SP5 and 7.0 caused many of the regression tests to crash with global optimization enabled (/Og
), although they executed successfully with optimization disabled and with all optimizations other than /Og
enabled. Second, the addition of the smart adapters described in STL Sequence Adapters proved too much for version 6.0 to handle. Nevertheless, the code still contains many workarounds for these compilers in the hope that support can be restored.
Compiler | Standard C++ Library | Passed |
---|---|---|
GCC 3.2.2 (Linux) | libstdc++ | 100% |
GCC 3.2 (MinGW) | libstdc++ | 100% |
GCC 3.3.1 (Cygwin) | libstdc++ | 100% |
Intel 7.1 for Windows | Dinkumware | 100% |
Intel 8.0 for Windows | Dinkumware | 100% |
Metrowerks Codewarrior 8.3 | MSL | 100% |
Borland 5.6.4 | STLPort-4.5.x | [1] |
Borland 5.6.4 | RogueWave | 100% |
Microsoft Visual C++ 7.1 | Dinkumware | 100% |
Comeau C++ 4.3.3 | libcomo 30 | [1], [2] |
[1]Fails seekable_file.cpp
.
[2]Non-standard buffer sizes cause some regression test failures. This has been traced by the author to a problem with file i/o not related to the Iostreams library. The author has reported this problem to technical support, but (uncharacteristically) received no reply.
Revised 20 May, 2004
© Copyright Jonathan Turkanis, 2004
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)