- added support (including coloured output) for (in)equality testing of UDTs;
temp_directory
now finds and deletes sockets (in addition to files);- fixed defect (when on UNIX) in
temp_file
; - now ensures that does not emit ANSI colour sequences when running on Windows on an old terminal that does not support them;
- now uses
stlsoft::integral_traits<>
for integer test macros (in C++) to allow for custom integral types to be tested; temp_file
now takes ahint_dir
parameter to allow specification of directory for (temporary) file;- added missing test macros
XTESTS_TEST_FLOATINGPOINT_GREATER()
,XTESTS_TEST_FLOATINGPOINT_GREATER_OR_EQUAL()
,XTESTS_TEST_FLOATINGPOINT_LESS()
,XTESTS_TEST_FLOATINGPOINT_LESS_OR_EQUAL()
; - added macro
XTESTS_COMMANDLINE_PARSE_HELP_OR_VERBOSITY()
, which allows for a unified command-line parsing in test programs; - added terse forms of macros, available by including xtests/terse-api.h;
XTESTS_COMMANDLINE_PARSE_VERBOSITY()
now also recognises, if the command-line argument"--verbosity= . . ."
is not found, the enviroment variables"XTESTS_VERBOSITY"
and"TEST_VERBOSITY"
;- added test programs test.scratch.all_failure_messages, test.scratch.basics2, test.scratch.custom_integral_types,
- substantial internal refactoring;
- minor tidying to CMake facilities;
- minor improvements to examples;
- minor improvements to project boilerplate files;
- updated STLSoft constructs, incl. macros;
- added CMake MSVC MT support;
- Fix to colour output at high verbosity levels;
- Added and applied CMake functions for examples and test programs;
- Some refactoring in main header include/xtests/xtests.h;
- VC++ 19+ warnings;
- Fixed vulnerability in length-limited string comparisons;
- Renamed project test.scratch.string_slices.c => test.unit.string_slices.c;
- NO CHANGES;
- Coloured output now bold;
- Minor fixes to CMake build scripts;
- Expanded shwild integration (including CMake detection);
- Significant enhancement and refactoring around use of CMake;
- Added coloured output for test-case / runner names;
- General tidying;
- Compatibility with legacy versions of Visual C++;
- Refactored common aspects of example and test
main()
functions; - Language/compiler compatibility fixes, including MinGW-W64 compatibility;
- CMake build scripts enhancements;
- compatibility with STLSoft 1.11.1-alpha13 or later;
- minimal coloured console output;
- fixed VC++ / CMake configuration;
XTESTS_TEST_INTEGER_EQUAL_EXACT()
,XTESTS_TEST_INTEGER_NOT_EQUAL()
,XTESTS_TEST_INTEGER_GREATER()
,XTESTS_TEST_INTEGER_GREATER_OR_EQUAL()
,XTESTS_TEST_INTEGER_LESS()
,XTESTS_TEST_INTEGER_LESS_OR_EQUAL()
are all implemented in terms of_Generic
(where supported) in C compilation units in order to be able to report the expected and actual values upon failure (as is done in C++ compilation units)- general tidying
- Various CMake standardisations and simplifications
- Visual C++ 17 (2022) compatibility
- CMake Windows compatibility
- Small improvements for
temp_directory
andtemp_file
- now depends on STLSoft 1.11
- Clang 14+ compatibility
- CMake scripts improvements
- now depends on STLSoft 1.10.6
- Clang 14+ compatibility
- CMake support minor improvements;
- fixed include of STLSoft header-file in presence of shwild
- added
XTESTS_TEST_MULTIBYTE_STRING_MATCHES()
that, in the presence of the shwild library, provides pattern matching
- completed CMake support, with flexible mechanism to select STLSoft dependency
- added CMake support
- added Doxygen
- added makefile(s) for GCC generic version
- fix to xtests::cpp::util::temp_directory
- fix defect in example
- fixed xtests::cpp::util::temp_directory dtor semantics for EmptyOnClose and RemoveOnClose
- compatibility with Visual Studio 2019 (16.8.2)
- added implicit-link support for VC++ 15 and VC++16
- added makefile(s) for VC++ 15 and VC++16
- various makefile improvements
- GCC 8 compatibility
- added xtests::cpp::util::temp_file ctor that takes a callback function that is used to provide initial contents of the file
- added VC++ 10 project and solution files
- fixed range comparison tests
- fixing up VC++-specific non-standard token-pasting
- removed dependency on/discrimination for STLSoft 1.10 delta (though now works perfectly well with STLSoft 1.10 proper)
- fix to 0.18.8 release
- NOTE: requires STLSoft 1.9.128
- bundles shwild 0.10.1
- changed no-throw declaration from stlsoft_throw_0() to STLSOFT_NOEXCEPT
- support for Borland C++ 6.2x
- added makefiles for Borland 5.82, 6.1x, 6.2x
- significant refactoring of structure of makefiles
- strict C-compilation compatibility
- NOTE: requires STLSoft 1.9.128
- bundles shwild 0.10.1
- added temp_directory and temp_file utility classes
- now supports test cases that have void* param (for setup param)
- support for cdecl and stdcall test cases
- support for Clang
- support for VC++ 11
- support for VC++ 12
- support for VC++ 14
- NOTE: requires STLSoft 1.9.121
- bundles shwild 0.10.1
- added XTESTS_TEST_MULTIBYTE_STRING_SLICE_EQUAL() / XTESTS_TEST_WIDE_STRING_SLICE_EQUAL() macros for testing string slices
- expected/unexpected exception event messages now include file+line
- refactoring of implementation
- tidying up of makefile gripes
- NOTE: requires STLSoft 1.9.117
- bundles shwild 0.9.18
- improved handling of booleans
- VC++ 11 compatibility
- NOTE: requires STLSoft 1.9.115
- bundles shwild 0.9.18
- workaround for strange behaviour (probably code-generation fault) in GCC 4.2 on Mac OS-X 10.7
- NOTE: requires STLSoft 1.9.111
- various minor modifications for compatibility with recent versions of GCC 4.X
- NOTE: requires STLSoft 1.9.111
- added function pointer testing, via XTESTS_TEST_FUNCTION_POINTER_EQUAL() and XTESTS_TEST_FUNCTION_POINTER_NOT_EQUAL()
- added implicit-link support for VC++ 10
- fixes for 64-bit compatibility
- NOTE: requires STLSoft 1.9.100
- minimal compatibility enhancements
- NOTE: requires STLSoft 1.9.99
- added in-range testing, via XTESTS_TEST_INTEGER_EQUAL_ANY_IN_RANGE() and XTESTS_TEST_INTEGER_EQUAL_ANY_NOT_IN_RANGE()
- added XTESTS_ARRAY_END_POST
- VC6 compatibility for signed __int16, unsigned __int16, & signed __int1632
- NOTE: requires STLSoft 1.9.97
- workaround for erroneous Borland compilation error
- NOTE: requires STLSoft 1.9.89
- removed erroneous debug information in UNIXem release builds
- NOTE: requires STLSoft 1.9.89
- workaround for minor warning
- NOTE: requires STLSoft 1.9.87
- added ability to display a summary of only the first case to fail
- renamed and add to enumerators of xtests_verbosity_t
- NOTE: requires STLSoft 1.9.85
- workaround for Intel C/C++ compiler defect
- NOTE: requires STLSoft 1.9.85
- added XTESTS_REQUIRE(), to allow testing to stop after test failure, to avoid contract violations
- NOTE: requires STLSoft 1.9.85
- added XTESTS_FLOATINGPOINT_FACTOR_SCOPE scoping class
- added XTESTS_TEST_FLOATINGPOINT_NOT_EQUAL_EXACT, XTESTS_TEST_FLOATINGPOINT_NOT_EQUAL_APPROX, and XTESTS_TEST_FLOATINGPOINT_NOT_EQUAL test macros
- NOTE: requires STLSoft 1.9.78
- fixed defect in XTESTS_START_RUNNER_WITH_REPORTER_AND_STREAM_AND_FLAGS_AND_SETUP_FNS()
- added implicit link support for Intel C/C++ 10 & 11
- allows stream to be NULL, and assumes stdout if no reporter specified
- NOTE: requires STLSoft 1.9.77
- changes to defn of exceptions & RTTI, for conformance to other library (e.g. Pantheios) makefile templates
- now allows compilation absent RTTI
- NOTE: now requires STLSoft 1.9.77
- fixed defect in internal snprintf() abstraction, which faults on Linux
- NOTE: now requires STLSoft 1.9.77
- fixed defect in core, whereby snprintf() overrun led to fault
- NOTE: now requires STLSoft 1.9.76
- added setup / teardown functionality
- NOTE: now requires STLSoft 1.9.75
- added support for Borland 5.9.x and 6.1.x
- added workaround for over-eager warnings in GCC 4.3
- NOTE: now requires STLSoft 1.9.74
- added ability to suppress reporting of empty test cases
- added XTESTS_START_RUNNER_WITH_FLAGS()
- now uses Windows debugging support when emulating UNIX on Windows
Numerous substantial enhancements, including the following:
- added facilities for length-limiting string comparison
- added missing macros for case-insensitive string inequality
- added full support for custom reporter functionality
- corrected defect whereby s/uint64 integer failures were not counted towards the total
- fixed various minor defects
- added XTESTS_TEST_ENUM_TRUE() and XTESTS_TEST_ENUM_FALSE()
- added XTESTS_TEST_BOOLEAN_TRUE() and XTESTS_TEST_BOOLEAN_FALSE()
- avoid precipitating warnings about unused return values
- added xtestsComparisonApproxNotEqual comparison enumerator, and adjusted all comparison operations accordingly
- added xtests_testMultibyteStringContains() and xtests_testWideStringContains(), and all corresponding test macros
- cleared up some wrong (but benign) code exercised when compiling with exception-support switched off
- fixed defective != comparison of signed & unsigned 64-bit integers
- added more integer specialisations of xtests_failure_reporter<>
- added call to XTESTS_TEST_PASSED() when an expected exception is received
- added more integer specialisations of xtests_failure_reporter<>
- fixed a defect in the approximate comparison of negative floating-point numbers
- fixed a bug in the reporting mechanism for boolean enforcement failures
- elimination of compiler warning on VC++ 8+
- added ability to specify output stream (FILE*) when starting a test runner
- addition of missing makefiles in the distro
- minor weakening of string comparison
- bundles shwild 0.9.17
- minor compatibility enhancements
- added Win64-compatibility
- added compatibity with heterogeneous string types to xtests_writeFailMessage()
- fix for Sun Pro compatibility
- fix for Borland compilation error with widestring macros
- added makefiles for VC9, GCC 4.1 and GCC 4.2
- altered library names to use UNIX libXXXX naming convention in UNIX builds
- added evaluation of heterogeneous string types, using shim-based type-tunneling
- added implicit link support for VC++ 9
- added explicit support for character tests
- fixed bug in formatting of != tests
- added explicit support for boolean tests
- fix for wide string support
- minor bug fix to prevent confusion about threading models on some UNIX operating systems
- added wide string comparison
- enhanced multibyte string comparison
- minor bug fix in definition of XTEST_TEST_POINTER_???? macros
- added support for pointer testing
- enhanced string testing
- fixed implicit link bug
- fixed compilation bug when exception-handling support not enabled
- fix in main header for bug encountered in C compilation units
- enhancements to test & example programs
- minor bug fix for Borland compilation
This is the first released version.
All history before this day is moot!