[IOStreams] Opinion on test case needed

Hi! I had problems using iostreams::stream<file_descriptor> with Windows and MSVC 8 Express. The file_descriptor had a bug and failed seeking. But the error had gone unnoticed. Because of this I wrote a test case for this in hope to discover an error in IOStreams (source: see below). I did not discover one. Instead the test runs fine on linux/gcc 4.1.2 but fails on Windows/MSVC8Express (test run: see below). I based the test on "Standard C++ IOStreams and Locales" (Langer&Kreft), Section 1.3 "The Stream State". And I found the IOStreams library is just using std::iostream for handling the errors. So is MSVC buggy in this regard? Or am I missing something? Source of test case in Trac SVN Browser: http://svn.boost.org/trac/boost/browser/sandbox-branches/birbacher/fix_iostr... Result of test case on platform Windows/MSVC 8 Express:
...using <p..\..\..\bin.v2\libs\iostreams\test\error_test.test\msvc-8.0express\debug>error_test.exe... testing.capture-output ..\..\..\bin.v2\libs\iostreams\test\error_test.test\msvc-8.0express\debug\error_test.run ====== BEGIN OUTPUT ====== Running 12 test cases... error_test.cpp(81): error in "wrap_nothrow <&test_seekg>": exception thrown by function(stream) error_test.cpp(66): error in "wrap_nothrow <&test_seekg>": stream still good error_test.cpp(68): error in "wrap_nothrow <&test_seekg>": stream did not set badbit error_test.cpp(69): error in "wrap_nothrow <&test_seekg>": stream did not fail error_test.cpp(71): error in "wrap_nothrow <&test_seekg>": stream does not report failure by operator ! error_test.cpp(73): error in "wrap_nothrow <&test_seekg>": stream does not report failure by operator void* error_test.cpp(66): error in "wrap_throw <&test_seekg>": stream still good error_test.cpp(68): error in "wrap_throw <&test_seekg>": stream did not set badbit error_test.cpp(69): error in "wrap_throw <&test_seekg>": stream did not fail error_test.cpp(71): error in "wrap_throw <&test_seekg>": stream does not report failure by operator ! error_test.cpp(73): error in "wrap_throw <&test_seekg>": stream does not report failure by operator void* unknown location(0): fatal error in "wrap_throw_delayed<&test_seekg>": std::runtime_error: bad seek error_test.cpp(73): last checkpoint error_test.cpp(81): error in "wrap_nothrow <&test_seekp>": exception thrown by function(stream) error_test.cpp(66): error in "wrap_nothrow <&test_seekp>": stream still good error_test.cpp(68): error in "wrap_nothrow <&test_seekp>": stream did not set badbit error_test.cpp(69): error in "wrap_nothrow <&test_seekp>": stream did not fail error_test.cpp(71): error in "wrap_nothrow <&test_seekp>": stream does not report failure by operator ! error_test.cpp(73): error in "wrap_nothrow <&test_seekp>": stream does not report failure by operator void* error_test.cpp(66): error in "wrap_throw <&test_seekp>": stream still good error_test.cpp(68): error in "wrap_throw <&test_seekp>": stream did not set badbit error_test.cpp(69): error in "wrap_throw <&test_seekp>": stream did not fail error_test.cpp(71): error in "wrap_throw <&test_seekp>": stream does not report failure by operator ! error_test.cpp(73): error in "wrap_throw <&test_seekp>": stream does not report failure by operator void* unknown location(0): fatal error in "wrap_throw_delayed<&test_seekp>": std::runtime_error: bad seek error_test.cpp(73): last checkpoint
*** 24 failures detected in test suite "Master Test Suite"
EXIT STATUS: 201 ====== END OUTPUT ======
Any opinions on this? Any suggestions on what to do about it? Frank
participants (1)
-
Frank Birbacher