📄 news
字号:
New in CppUnit 1.12.0: ----------------------* Portability: - autogen.sh can now be run on Mac OS X (patch #1449380 contributed by Sander Temme). * MFC Test runner: - fixed bug #1498175: double click on failure would sometime not goto failed assertion in visual studio.* Documentation: - now generated with doxygen 1.4.7 new 'tabs' style. New in CppUnit 1.11.4: ----------------------* Portability: - Support for Embedded Visual C++ 4 added. For this purpose, CppUnit now provides a very simple stream implementation if none is provided. This should also help porting on other platforms which have STL but no stream support. Just make sure that CPPUNIT_NO_STREAM is defined to 1 in your config header.* Assertion: - Added missing _MESSAGE variants for the following assertions: CPPUNIT_ASSERT_DOUBLES_EQUAL_MESSAGE CPPUNIT_ASSERT_THROW_MESSAGE CPPUNIT_ASSERT_NO_THROW_MESSAGE CPPUNIT_ASSERT_ASSERTION_FAIL_MESSAGE CPPUNIT_ASSERT_ASSERTION_PASS_MESSAGE Notes: change made to CPPUNIT_ASSERT_THROW may cause compilation error if you're expecting std::exception as it would be caught twice. Contact us if it is an issue (we don't see much use for such a test). Some assertions failure message are now more detailed (exception, expression). Thanks to Neil Ferguson who contributed this patch. - Assertion on real number now output expected and actual value using the maximum available precision instead of the previous strategy of rounding to 6 digits. Thanks to Neil Ferguson who contributed this patch.* Outputter: - XML Ouputter: patch #997006 contributed by Akos Maroy makes the 'stand-alone' attribute of the XML header optional. See XmlOutputter::setStandalone() & XmlDocument::setStandalone(). - Better integration of compiler output for gcc on Mac OS X with Xcode (contributed by Claus Broch).* MFC Test Runner - Integration with VC++ 7.0 & 7.1. Double clicking on a failure will now to the failure location in the open IDE (no add-in necessary). This was contributed by Max Quatember and Andreas Pfaffenbichler. - Progress bar: now use system color to draw border (patch from bug #1165875 contributed by Pieter Van Dyck).* QT Test Runner - Fixed display of multi-line messages (patch contributed by Karol Szkudlarek).* Compilation: - The standard pkg-config file is now generated on unix (contributed by Robert Leight). - MinGW: patch #1024428 contributed by astar, fixed compilation issue in Win32DynamicLibraryManager.cpp. - MinGW, cygwin: enable build of shared library when using libtool. patch #1194394 contributed by St閜hane Fillod. - autotool: applied patch #1076398 contributed by Henner Sudek. Quote: "This patch allows AM_PATH_CPPUNIT to accept version numbers without minor and micro version. Now you can do: AM_PATH_CPPUNIT(1.9) instead of AM_PATH_CPPUNIT(1.9.0)" - Visual Studio 2005: removed deprecated warning.* Documentation: - Corrected many typos in cookbook and money example. Thanks to all those who helped !* Bug Fix: - cppunit.m4: patch #946302, AM_PATH_CPPUNIT doesn't report result if CppUnit is missing. - Message/SourceLine: copy constructor have been specifically implemented to ensure they are thread-safe even if std::string copy constructor is not (usually on reference count based implementation). - TestResultCollector: fixed memory leak occuring when calling reset().* Contrib: - added XSLT for compatibility with Ant junit xml formatter. Patch #1112053 contributed by Norbert Barbosa. See xml-xsl/cppunit2junit.xsl and cppunit2junit.txt for details. - xml-xsl/report.xsl has been fixed to work with current xml output.* (Possible) Compatiblity break: - All text output is now done on cout() instead of sometime cerr & sometime cout depending on the component. - OStringStream definition has been removed from Portability.h. This means that <sstream> is no longer included, and that ostringstream and string might not be defined. In practice this should have no impact since those includes have been moved to other CppUnit headers.* Notes: - CppUnit now uses the alias OStream when refering to std::ostream for portability. New in CppUnit 1.10.2: ----------------------* Bug Fix: - Memory checker: bug #938753, array bound read in splitPathString() with substr if an empty string is passed. - Memory leaks: bug #952912, many memory leaks removed in the MFC test plug-in runner. - Crash when using CPPUNIT_TEST_SUITE_REGISTRATION with cppunit dll. Bug #921843. This bug was caused by a known STL bug in VC++ 6. See http://www.dinkumware.com/vc_fixes.html <xtree> issue with shared std::map in dll.* Compilation: - mingw & cigwin, bug #930338 & #945737 fixed. - make install does not work on SunOS. Bug #940650 fixed. - bug #933154, post-build step fails in directory with spaces with Visual C++. - DllPlugInTester, bug #941625 (char * string literal). Applied patch contribued by Curt Arnold. New in CppUnit 1.10.0 (same as 1.9.14): --------------------------------------* Assertions - Ported exception assertion macros from cppunit 2 to the 1.9.x series: CPPUNIT_ASSERT_THROW, CPPUNIT_ASSERT_NO_THROW, CPPUNIT_ASSERT_ASSERTION_FAIL, CPPUNIT_ASSERT_ASSERTION_PASS.* Deprecated: - The helper macros: CPPUNIT_TEST_FAIL & CPPUNIT_TEST_EXCEPTION have been deprecated. Use the new exception assertion macros instead.* Bug Fix: - cppunit-config: bug #903363, missing -ldl from the output of cppunit-config --libs. Fixed thanks Eric Blossom patch. - test plug-in(unix): Adding RTLD_GLOBAL allows test plug-ins to provide symbols to shared objects they load themselves. Thanks goes to Gareth Sylvester for this patch (#816563). New in CppUnit 1.9.12: ---------------------* Test Plug-in - added support contributed support for UNIX systems that have libdld and not libdl (e.g. hp-ux). Contributed by Abdessattar Sassi.* RTTI - TypeInfoHelper now used gcc c++ abi to demangle typeinfo name thanks to Neil Ferguson contribution.* Bug Fix: - MFC TestRunner: integrated bug fix from Tim Threlkeld for bug #610191 and #610162. Fixed assertion when minizing dialog (bug #643612). - XMLOutputter: Fixed bug #676505: no space inserted between attributes of XmlElement. - CppUnit portability: fixed many mistakes relating to compilation without type info or namespace reported by Philip Craig. - Missing destructor with no throw specification for DynamicLibraryManagerException. Bug #619059. - Fixed missing export for operator <<(TextTestResult). Bug #610119. - Missing include for typeinfo in TestNamer.h. Bug #662666.* Compilation - Fixed compilation issues for Borland C++ 6 and STLPort. Bug #694971, #699794 and #662666. - Fixed compilation issues for AIX. - Fixed compilation issues for Visual C++ .NET 2002. - Fixed doxygen usage in mingw environment (space not allowed in doxygen path). Bug #700730. - Fixed compilation issue for mingw (bug #711583). New in CppUnit 1.9.10: --------------------- - Major portability improvement - Protector - HelperMacros - MFC TestRunner bug fixes - Failure diagnostic - Asserter* Major portability improvement: - Much work has been done to reduce C++ feature requirement to compile CppUnit. It should now be possible to compile CppUnit on most compilers, as long as STL are available (in std namespace or not), with some form of strstream and iostream, as well as exception support. See CodingGuideLines.txt for details.* Protector - Protector can be passed to the TestResult to 'protect' call to setUp(), runTest() and tearDown() method. With this, it is easy to capture exceptions which do not have std::exception as a base class, such as CException or RWXMsg for example. TestResult and Protector class documentation. Look at src/cppunit/DefaultProtector.cpp for an example of implementation.* Helper macros - Mostly rewritten. It no longer use TestSuiteBuilder. A new object TestSuiteBuilderContext was introduced. It is used to name test case, create test fixture instance and add test to the fixture suite. It is now much more easier to add custom test cases using CPPUNIT_TEST_SUITE_ADD_CUSTOM_TESTS. Should also prevent most compability break concerning that macro. - Useful typedef are now public: TestFixtureType, ParentTestFixtureType. - New typedef for custom test method parameter: typedef TestSuiteBuilderContext<TestFixtureType> TestSuiteBuilderContextType; - added support for abstract test fixture with CPPUNIT_TEST_SUITE_END_ABSTRACT(). See documentation for further detail.* Failure diagnostic - setUp() and tearDown() now provides a detailed diagnostic of the failure (assertion, exception...) - If RTTI is allowed to extract type info, CppUnit will report the actual exception type in the diagnostic.* Asserter: - A new AdditionalMessage class has been introduced. It is used for assertion that takes an additional 'message' argument (CPPUNIT_ASSERT_MESSAGE...). Since this macro has an implicit constructor that take a string, which creates a Message with the specified string as detail. That way, additional message can be a single string or a complex Message object. See documentation for example of use.* Bug Fix: - MFC TestRunner: bug #530426 (conflict between TestRunner and host application's resources). A huge thanks to Steven Mitter for that one. - MFC TestRunner: Browse button is now disabled while running test.* Deprecated - CppUnit::TextUi::TestRunner moved to CppUnit::TextTestRunner. - CppUnit::MfcUi::TestRunner moved to CppUnit::MfcTestRunner. - CppUnit::QtUi::TestRunner moved to CppUnit::QtTestRunner.* Compatiblity break: - CppUnitTextUi::TestRunner, removed runTestByName() and runTest(). - TestSuiteBuilder: removed templatized method addTestCallerForException(). See implementation of CPPUNIT_TEST_EXCEPTION implementation for an alternative. - TestAssert: removed deprecated functions (those not using SourceLine) assertImplementation(), assertNotEqualImplementation(), assertEquals(). Moved non deprecated functions assertEquals() and assertEquals() into CppUnit namespace. - Plug-ins 'Parameters' typedef has been replaced by class PlugInParameters. The method commandLine() returns what used to be in Parameters[0]. This should avoid future compatibility break when the parameters passing API will be defined. - TestPlugIn::initialize() now takes a PlugInParameters in argument instead of a Parameters. - template <class T> void assertEquals() no longer has a default message value (no impact, unless you used this function directly instead of assertion macros). - HelperMacros: renamed CPPUNIT_TEST_ADD to CPPUNIT_TEST_SUITE_ADD_TEST. - HelperMacros: removed CPPUNIT_TEST_CUSTOM. Instead use CPPUNIT_TEST_SUITE_ADD_CUSTOM_TESTS and call context.addTest() passing the test that was returned. - HelperMacros: renamed CPPUNIT_TEST_CUSTOMS to CPPUNIT_TEST_SUITE_ADD_CUSTOM_TESTS. Changed method signature to static void aMethodName( TestSuiteBuilderContextType &context ). You can replace the 3 previous parameters by context. (See documentation for further detail). New in CppUnit 1.9.8: --------------------- - New custom test macros for fixture suite - Exception message are now structured - Added detail field to MFC TestRunner - New XmlDocument class to easily create new XML output format - XmlOutputter customization - Test plug-in XMLOutputter hook - ClockerPlugIn example includes test time in XML output - DllPlugInTester allows test plug-in to hook the XmlOutputter - Configurable CompilerOutputter wrapping* New custom test macros - 3 new macros have been added for use when declaring test fixture suite: - CPPUNIT_TEST_CUSTOM : to specify a method that returns an instance of Test to add to the suite - CPPUNIT_TEST_CUSTOM : to specify a method that add some tests to the suite - CPPUNIT_TEST_ADD : to add a test to the suite. Used this to create custom CPPUNIT_TEST_xxx macros. See macros documentation for examples and details.* Exception message - Exception message are now stored in a Message object instead of a string. A message is composed of two items: - a short description (~20/30 characters) - a list of detail strings
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -