Opened 13 years ago

Closed 13 years ago

#3004 closed Bugs (fixed)

test_dll_exported fails

Reported by: marvin.sielenkemper@… Owned by: Robert Ramey
Milestone: Boost 1.40.0 Component: serialization
Version: Boost Development Trunk Severity: Problem
Keywords: DLL, msvc-8.0 Cc:

Description

Built with msvc-8.0.

The failure message is: d:\boost\boost.build\libs\serialization\test\test_tools.hpp(183): unregistered void cast in function 'int cdecl main(int,char *[])' 1 error detected.

I found and fixed this problem first with our own test suite.

Problem: The lib allows multiple instances of the extended_type_info to represent the same type. This seems to be ok in most cases. But in the void cast code this breaks and reports a missing cast where there is one present: the equality (or order in that case) is too fine. I added the proper weaker equality and search the cast list again using that if the first search failed.

Assembling the patch for this ticket, I noticed that there already is a unit test for the kind of DLL exported stuff we use. But it was not executed. So I fixed that, ran the test on the original lib and it failed. With my patch it succeeds again.

Attachments (3)

patch.txt (3.5 KB ) - added by Marvin.Sielenkemper@… 13 years ago.
Fixes for tests and lib.
test_dll_exported.7z (188.4 KB ) - added by Marvin.Sielenkemper@… 13 years ago.
compiled binary with debug information (msvc 8.0)
additional_test_dlls.7z (208.2 KB ) - added by Marvin.Sielenkemper@… 13 years ago.
additional test DLLs needed by the test binaries

Download all attachments as: .zip

Change History (8)

by Marvin.Sielenkemper@…, 13 years ago

Attachment: patch.txt added

Fixes for tests and lib.

comment:1 by Marvin.Sielenkemper@…, 13 years ago

Version: Boost 1.38.0Boost 1.39.0

updated the "Version:" (1.39.0 was not available before)

comment:2 by Robert Ramey, 13 years ago

Resolution: fixed
Status: newclosed

I have made changes to extended_type_info.cpp and void_cast.cpp in the trunk. I can't really test these very well. I would appreciate it if you could rebuild the library with these latest files and try again.

Robert Ramey

comment:3 by Robert Ramey, 13 years ago

I have made changes to extended_type_info.cpp and void_cast.cpp in the trunk. I can't really test these very well. I would appreciate it if you could rebuild the library with these latest files and try again.

Robert Ramey

comment:4 by Marvin.Sielenkemper@…, 13 years ago

Milestone: Boost 1.39.0Boost 1.40.0
Resolution: fixed
Status: closedreopened
Version: Boost 1.39.0Boost Development Trunk

Checked with trunk rev. 53717.

The test still fails with message

--- snip ---

d:\boost\boost-trunk\libs\serialization\test\test_tools.hpp(183): unregistered void cast in function 'int cdecl main(int,char *[])' 1 error detected. EXIT STATUS: 1

--- snip ---

I'll try to add the relevant compiled files as an attachment.

by Marvin.Sielenkemper@…, 13 years ago

Attachment: test_dll_exported.7z added

compiled binary with debug information (msvc 8.0)

by Marvin.Sielenkemper@…, 13 years ago

Attachment: additional_test_dlls.7z added

additional test DLLs needed by the test binaries

comment:5 by Robert Ramey, 13 years ago

Resolution: fixed
Status: reopenedclosed

fixed in trunk. test_dll_exported added to bjam test suite

Note: See TracTickets for help on using tickets.