Commit Graph

40 Commits

Author SHA1 Message Date
Vadim Zeitlin
e70fc11ef1 Replace CppUnit with Catch for unit tests
Drop the legacy CppUnit testing framework used for the unit tests.
Replacing it with Catch has the advantage of not requiring CppUnit
libraries to be installed on the system in order to be able to run
tests (Catch is header-only and a copy of it is now included in the
main repository itself) and, in the future, of being able to write
the tests in a much more natural way.

For now, however, avoid changing the existing tests code as much as
[reasonably] possible to avoid introducing bugs in them and provide
the CppUnit compatibility macros in the new wx/catch_cppunit.h header
which allow to preserve the 99% of the existing code unchanged. Some
of the required changes are:

 - Decompose asserts using "a && b" conditions into multiple asserts
   checking "a" and "b" independently. This would have been better
   even with CppUnit (to know which part of condition exactly failed)
   and is required with Catch.

 - Use extra parentheses around such conditions when they can't be
   easily decomposed in the arrays test, due to the use of macros.
   This is not ideal from the point of view of messages given when
   the tests fail but will do for now.

 - Rewrite asserts using "a || b" as a combination of condition
   checks and assert macros. Again, this is better anyhow, and is
   required with Catch. Incidentally, this allowed to fix a bug in
   the "exec" unit test which didn't leave enough time for the new
   process to be launched before trying to kill it.

 - Remove multiple CPPUNIT_TEST_SUITE_NAMED_REGISTRATION() macros,
   our emulation of this macro can be used only once.

 - Provide string conversions using Catch-specific StringMaker for
   a couple of types.

 - Replace custom wxImage comparison with a Catch-specific matcher
   class.

 - Remove most of test running logic from test.cpp, in particular don't
   parse command line ourselves any longer but use Catch built-in
   command line parser. This is a source of a minor regression:
   previously, both "Foo" and "FooTestCase" could be used as the name of
   the test to run, but now only the latter is accepted.
2017-11-02 01:53:16 +01:00
Vadim Zeitlin
9d0df5707a Include the required standard headers used in archives unit test
These files are currently implicitly included from other headers, but we
shouldn't rely on this and include them explicitly as we use std::map<>
and std::auto_ptr<> in this header.

No real changes.
2017-10-30 15:29:30 +01:00
Vadim Zeitlin
b08985ac24 Don't use std::auto_ptr<> in the test to avoid warnings
When compiling with g++ or clang in C++11 mode, the use of std::auto_ptr<>
triggers warnings about its deprecation, so replace it with wxScopedPtr<> as
this is simpler than choosing between auto_ptr<> and unique_ptr<>.
2016-02-13 13:36:58 +01:00
Vadim Zeitlin
15f255cebb Remove support for Digital Mars compiler.
This compilers is not being developed any longer since many years, drop
support for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:23 +00:00
Vadim Zeitlin
f4b80e5337 Remove MSVC6 support.
Don't support this compiler any more, this allows to get rid of tons of
MSVC6-specific workarounds, in particular we can now use Bind() and natural
template functions calls in the library code.

Also remove MSVC6 project and solution files and don't generate them when
bakefile_gen is ran any more (removing the remaining occurrences of msvc6prj
from the bakefiles results in weird bake-time errors, so it's simpler to just
leave them there).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 22:32:17 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
a5f013566f Check the return value of system() and pipe() in the test suite.
This is mainly to avoid -Wunused-result warnings under recent Linux systems
but also could give valuable information if the call does fail.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-20 14:49:13 +00:00
Vadim Zeitlin
2415cf6725 Remove support for MetroWerks CodeWarrior compiler.
This compiler doesn't exist any more and was probably unsupported even in 2.8,
let alone 2.9, so remove all the __MWERKS__ tests to simplify things.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71102 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-05 18:40:11 +00:00
Vadim Zeitlin
bb5a951418 Use __WINDOWS__ for OS checks and __WXMSW__ for GUI checks (round 2).
This is continuation of r70796 and serves the same purpose.

Closes #14065, #14066.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70808 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-04 20:31:42 +00:00
Michael Wetherell
8bda419d02 Remove testing against zip in a pipeline as it no longer supports it.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70662 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-21 20:11:16 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Jouk Jansen
38e5440573 Include compilation of tests for OpenVMS (part1)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-15 09:51:48 +00:00
Václav Slavík
72e7920f2d Corrected formatting of archiver command in the tests.
wxString::Format() was used even when the first argument didn't contain
any %s, yet a string argument was always passed to it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-24 10:33:36 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
43b2d5e7c3 Put braces around all calls to wxLogFunctions() inside an if statement.
This suppresses all the remaining g++ -Wparentheses warnings and uses consistent style everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-20 16:47:54 +00:00
Michael Wetherell
9f7191dbb9 fn.Mkdir now gives an ICE on VC6 now that it is const.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61092 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-17 17:31:53 +00:00
Vadim Zeitlin
895cae46b7 work around (harmless) warnings in VC7 release build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60922 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-06 23:04:50 +00:00
Michael Wetherell
cc90c1cc3e Fixes for archive tests on Windows.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60022 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-04 22:12:04 +00:00
Vadim Zeitlin
93a800a95e minor icc warning fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56845 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-19 09:55:27 +00:00
Vadim Zeitlin
fe26031e26 added braces to suppress g++ 4.3 warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55553 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-11 14:00:33 +00:00
Vadim Zeitlin
5098c258b2 compilation fixes for VC6
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51188 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-13 01:13:03 +00:00
Michael Wetherell
cdd7933f3d Add tar stream tests.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-27 10:11:46 +00:00
Vadim Zeitlin
ed626c8b55 VC7.1 warning fix about passing temporary as (non-const for this compiler) parameter of auto_ptr::operator=()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-28 11:31:27 +00:00
Michael Wetherell
98de4ac1c5 Forward port test case that corrupts archives to see if they can crash an input stream.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41411 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-24 11:52:53 +00:00
Vadim Zeitlin
423d529ccb compilation test for Unicode build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36510 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-21 01:23:17 +00:00
Michael Wetherell
716e748b2f In the past some streams returned Eof() before the end was read past rather
after, and also some streams give an error instead of Eof(). Test the archive
streams work with parent streams that have any of these behaviours.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-18 13:58:55 +00:00
Michael Wetherell
a901c3fde9 Compilation fix, templates are broken on 64-bit VC++ 8.0 beta 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-15 19:00:12 +00:00
Włodzimierz Skiba
da865fdd32 Deprecate wxPathExists, make wxDirExists used everywhere, minor source cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33350 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-05 16:10:48 +00:00
Włodzimierz Skiba
489f6cf713 Fix for ambiguities which happen in STL=1 mode under DigitalMars C++.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-24 20:01:55 +00:00
Włodzimierz Skiba
27b2dd53f6 Fixed strange situation when we had wxPathExists and wxDirExists with the same finctionality. Using wxPathExists instead wxFileExists (fixes bug #865628). Minor source cleaning.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-17 17:46:32 +00:00
Michael Wetherell
9e8e867ff9 Rename wxUSE_ARCSTREAM to wxUSE_ARCHIVE_STREAMS
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-12 21:40:48 +00:00
Michael Wetherell
3c70014d96 Add wxGetFileType and IsSeekable
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-11 12:39:03 +00:00
Michael Wetherell
e6477b92b7 Separate out zip specific parts of the archive test suite
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31892 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-10 14:06:08 +00:00
Włodzimierz Skiba
a09cd1895e MinGW warning fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-01-18 19:50:43 +00:00
Ryan Norton
f44eaed650 patch 1073385
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30791 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-25 20:37:44 +00:00
Ryan Norton
95662a8379 Lots and lots and lots of MSVC fixes for archive stuff, some stuff from patch 1071373
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-23 13:49:43 +00:00
Ryan Norton
8899b155a1 [ 1068188 ] Precompiled header for the test program [Modified a bit]
Regen bakefiles for unit tests


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30685 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-22 05:00:19 +00:00
Włodzimierz Skiba
9386cb75e3 Warning fixes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-12 14:08:31 +00:00
Vadim Zeitlin
4626345596 fixes to ZIP/archive patch (patch 1064426); should fix the docs build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30474 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-11 19:10:35 +00:00
Vadim Zeitlin
00375592f9 added ZIP classes by M.J.Wetherell (patch 1030239)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-10 23:58:38 +00:00