Plum Hall is a world leader in making compiler validation suites and software for the programmer and software development community.
LibSuite++® is the ideal test method for testing an existing C++ Library, or estimating the work that would be needed to bring a C++ Library into conformance with ISO/IEC 14882:2003 (which is the ANSI/ISO Standard). LibSuite++ tests the more traditional components of a C++ Library, such as language support and iostreams classes, as well as the more recent additions, such as the Standard Template Library (STL) and locale objects.
LibSuite++ addresses the Standard one sentence at a time, just like Plum Hall's other industry-standard C and C++ test suite products. Each sentence that has a testable effect has an accompanying test case, which can then be executed separately as needed to isolate specific conformance problems. The criteria for test cases are the same as those for Suite++® : The Plum Hall Validation Suite for C++. Over 2500 test cases are required to validate this extensive library. Some cases are for very simple minimal requirements. Most cases embody a commercially reasonable example of intended functionality, typically combining some feature or interaction from other portions of the standard. Tests produce a run-time tabulation of cases failed, cases skipped, and cases passed, as well as detailed logs of any errors encountered.
LibSuite++ reveals the various ways that an existing iostreams package needs to be supplemented to conform to ISO/IEC 14882:2003. Additions include support for wide-character iostreams classes, "templatized" iostreams for manipulating streams of arbitrary elements, and per-stream control of localization with locale objects. Even The Standard C Library must be augmented, with a complete set of math functions in all three precisions. LibSuite++ also shows how the public-domain version of the STL (available from Hewlett-Packard) must be changed. ISO/IEC14882:2003 rearranges the STL into new header files, significantly alters memory allocation and imposes stronger constraints on the names of parameters and local variables. By focusing on known problem areas, LibSuite++ saves considerable time bringing such existing code into compliance with the Standard.
Conforming to the C++ Standard will not be easy. However, Plum Hall can help by supplying tests for all the components of a comprehensive implementation of the Standard C++ language and Library. LibSuite++ tests the Library; Suite++, available separately, tests the compiler.
For licensing and pricing information, contact Plum Hall, Inc.
For more details, see here.