Imported Upstream version 0.14.0
[platform/upstream/check.git] / NEWS
1 Sun Jan 26, 2020: Released Check 0.14.0
2   based on hash 0076ec62f71d33b5b54530f8471b4c99f50638d7
3
4 * Add support for FetchContent in CMake
5   Issue #238
6
7 * Rename CMake project from 'check' to 'Check'
8   Issue #232
9
10 * Fix for checking for wrong tool when building docs in Autotools
11   Issue #231
12
13 * Fix compiler warning with printf format
14   Issue #233 
15
16
17 Sat Oct 20, 2019: Released Check 0.13.0
18   based on hash 2b18886a9a9d3bab44917a550d12128ad7e2c197
19
20 * configure: optional build documentation
21   Issue #206 (GitHub)
22
23 * missing <unistd.h> in some files
24   Issue #196 and Issue #186 (GitHub)
25
26 * Various documentation improvements
27
28 * END_TEST is now optional, as how START_TEST works has been redone
29   Issue #158
30   
31 * Various CMake related changes:
32   - Support exporting Check to other projects with CMake 3
33     Issue #185
34   - Shared library support for Visual Studio
35     Issue #220
36   - Fix wrong library filename
37     Issue #226
38   - Add support for CMake package registry 
39     Issue #227
40   - CMake build type can now be debug or release
41     Issue #228
42   - Add checkmk to CMake build.
43
44
45 Fri Oct 20, 2017: Released Check 0.12.0
46   2017-10-20 10:00:00 +0000
47   based on hash c472c743d7c9f01ae9ea6a0e8e08132251b62abd
48
49 * Fix out-of-tree builds with CMake.
50   Issue #86
51
52 * Fix issue found with Clang regarding invalid suffix on a literal
53   Issue #110
54   
55 * Check now responds to a few errors in a more clear way when it cannot run tests.
56   PR #122, #123
57
58 * Fix missing pid_t definition in check.h on Windows
59   Issue #78
60
61 * The maximum message size of check assertions is now configurable.
62   Issue #127
63
64 * Check support added for Visual Studios 2010, 2012, 2013, 2015, and 2017 both for x86/64 and ARM.
65   PR #129, Issue #125
66
67 * Changed license of example CMake files to BSD (was previously LGPL).
68   Issue #131
69
70 * Fix issue with floating point macros on MinGW
71   Issue #101
72
73
74 Sat Dec 17, 2016: Released Check 0.11.0
75   2016-12-17 15:00:00 +0000
76   based on hash 7c9cfb4b13124b93a63e60b3c681c2bf4f2723ce
77
78 * Avoid issue in unit test output checking where a shell's built-in printf
79   command does not work properly, but the printf program itself is correct.
80
81 * Emit only valid XML characters in XML logging (assumes ASCII encoding).
82   Bug #103
83
84 * Add LGPL header to files where it was missing; update FSF address in LGPL headers
85   Bug #110
86
87 * Strip timestamps from examples using filterdiff if available. This
88   allow build output to be reproducible.
89   Bug #112
90
91 * Use double slash for regular expressions in checkmk for better Solaris support.
92
93 * Improve CMake build files for better Visual Studio 2015 support.
94   Pull Request #19
95
96 * Fix potential SIGSEGV in Check related to the disk filling up during a test.
97   Pull Request #21
98
99 * Support added for applying tags to test cases and selectively running
100   test cases based on tags.
101   Pull Request #44
102
103 * Macros for comparing memory regions (ck_assert_mem_eq, ck_assert_mem_ne)
104   have been added.
105   Pull Request #64
106
107 * Macros for comparing floating point numbers have been added.
108   Pull Request #69
109
110 * Macros for comparing string, but allowing for NULL (ck_assert_pstr_eq,
111   ck_assert_pstr_ne) have been added.
112   Pull Request #80
113
114 * Macros for checking if a pointer is NULL or not have been added.
115   Pull Request #87
116
117
118 Sun Aug 2, 2015: Released Check 0.10.0
119   based on r1217 (2015-08-02 19:21:14 +0000)
120
121 * CMake on MinGW and MSVC was unable to find time related types because
122   time.h was not included. This header is now included for the checks.
123   Patch #53.
124
125 * If the test runner process catches a SIGTERM or SIGINT signal the running
126   tests are now also killed.
127   Patch #52.
128
129 * If Check is compiled without support for fork(), the behavior of
130   functions which require fork() to be useful have been changed.
131   Functions that attempt to set CK_FORK mode are no-ops,
132   check_fork() returns in failure, and check_waitpid_and_exit()
133   exits in failure.
134
135 * Add space around operators in assert messages for readability.
136   Bug #102.
137
138 * Use mkstemp() if available instead of tmpfile() or tempnam().
139   Patch #51.
140
141 * Fix issue with string formatting in ck_assert(), where using
142   the % operator would be interpreted as a string formatter. Bug #96.
143
144 * In nofork mode, the location of a failed assertion within a test
145   case was lost if that test case has a checked teardown fixture
146   (even if that fixture function is empty). This is now fixed.
147   Bug #99
148
149
150 Sat July 26, 2014: Released Check 0.9.14
151   based on r1174 (2014-07-03 18:43:49 +0000)
152
153 * Changes to (unofficially for now) support Solaris and AIX platforms.
154
155 * Fix issue with checked teardown functions in CK_NOFORK mode. If
156   the teardown function called an assertion that failed, an
157   infinate loop would result. Bug#98. As a result of the change, for now
158   checked teardown functions that fail in CK_NOFORK mode will
159   not cause the test to fail.
160
161 * Allow checked fixtures when compiled without fork(). Previously
162   such setup/teardown functions were disabled, as the full contract
163   for checked fixtures could not be honored. Checked fixtures
164   in CK_NOFORK mode are now closer to the contract, and are now
165   enabled.
166
167 * Various code cleanup, including changes for compiling Check on
168   c++ compilers Clang and g++ (which are less forgiving than their
169   c counterparts).
170
171 * Re-enable internal unit tests, which verify which line numbers are
172   reported for unit test failures. (The tests were unintentionally
173   disabled in a previous release).
174
175
176 Fri May 30, 2014: Released Check 0.9.13
177   based on r1137 (2014-05-26 21:03:09 +0000)
178
179 * When a test assertion fails, exit() was invoked. This results in any
180   registered exit handlers being invoked. A test should not be relied
181   upon to clean up if it fails. Instead, _exit() will be used to signal
182   a test failure, to prevent exit handlers from being invoked.
183
184 * Fix issue with string formatting in ck_assert_(u)int_* calls, where using
185   the % operator would be interpreted as a string formatter. Bug #96.
186
187 * If the LOG/XML/TAP file name is set to "-" either through the
188   srunner_set_log() srunner_set_xml() or srunner_set_tap() calls
189   or through the related environment variables, the logged data will be
190   printed to stdout instead of a file. This is mainly to support using TAP
191   for fixtures which expect the results to be reported via stdout. However,
192   it is available via all of Check's logging modalities.
193
194 * For CMake builds, check_stdint.h was not being installed. This is now
195   fixed.
196
197 * Check's example under doc/example now also works for CMake projects
198   using Visual Studios and MSVC. This includes an example CMake
199   configuration.
200
201
202 Mon Jan 20, 2014: Released Check 0.9.12
203   based on r1054 (2014-01-16 23:08:03 +0000)
204
205 * Additional unit tests created for internal and external Check
206   APIs.
207
208 * Check now compiled on Windows using MSVC when using CMake and
209   NMake. All unit tests pass, though shell script based ones need
210   to be run in the MSYS environment.
211
212 * Check now compiles on Windows using Visual Studio 10
213   when using CMake. check_check passes when run from Visual Studios.
214
215 * Always capture the start and end times of tests when using
216   NO_FORK mode. Previously the end time was not captured,
217   resulting in arbitrary durations being recorded when tests
218   failed. Bug #87.
219
220 * Added additional configure script checks for support of
221   timer_create() on the target system. This allows for
222   OpenBSD to compile and run all Check's unit tests successfully. 
223
224 * Added a unit test, check_mem_leaks, which can be used against
225   valgrind to test for memory leaks. No memory leaks were found.
226
227 * Added tcase_add_loop_test support in checkm. Patch from patches #46. 
228
229 * Add support for logging in Test Anything Protocol (TAP) format.
230
231 * Refactor Check's assertions to be more like the assert() call in
232   assert.h, in that static source code analyzers can use gcc attributes
233   in the header to make assumptions about the flow of the code. See
234   feature request #29.
235
236 * fix ck_assert_ptr_* causing const compilation warnings. Patch from
237   bug #91.
238
239 Wed, Nov 4, 2013: Released Check 0.9.11
240   based on r856 (2013-11-04 02:09:21 +0000)
241
242 * Check's unit tests pass when compiled out of the source tree.
243
244 * Check compiles for Windows using the MinGW/msys environment (without using fork), and all unit tests pass.
245
246 * Check compiles for Windows using the Cygwin environment, and all unit tests pass.
247
248 * Check compiles for Windows using MinGW in Linux (without using fork), and all unit tests pass using wine 1.4.
249
250 * Check compiles for Windows using MinGW-w64 in Linux (without using fork), and all unit tests pass using wine 1.4.
251
252 * On systems without timer_settimer, use setitimer (if available) to get
253   subsecond unit test timeouts. If setitimer is unavailable, fallback
254   on alarm.
255
256 Thu, Apr 18, 2013: Released Check 0.9.10
257   based on r743 (2013-04-18 11:27:03 +0200)
258
259 * Support 64bit int for __ck_assert_int. Patch from bug #3599471
260
261 * Add equivalent uint variants for __ck_assert_int. Patch from bug #3600433.
262
263 * Detect if the system has a C99 compliant version of the printf related
264   functions for check to use, and if not use an implementation provided by
265   check.
266
267 * Updated HACKING and release procedure in Makefile.am.
268
269 * Detect if the system has clock_gettime() available, and if not use an
270   implementation provided by check. clock_gettime() is used to measure
271   test durations. The implementation for OSX uses OSX specific system calls 
272   to get the time. For all other systems, clock_gettime() does nothing.
273
274 * Updated documentation in check.h to reference new check API.
275
276 * Remove usage of deprecated fail(), fail_if(), and fail_unless() calls from
277   check's unit tests.
278
279 * Fix implementation of putenv in check's libcompat for systems that do not
280   provide it.
281
282 * Fix implementation of unsettenv in check's libcompat for systems that do
283   not provide it. 
284
285 * Improvements to the new Check API: new comparison functions for pointers:
286   ck_assert_ptr_(eq|ne).
287
288 * Test timeouts can now be in nanosecond precision. The tcase_set_timeout
289   call, and CK_DEFAULT_TIMEOUT and CK_TIMEOUT_MULTIPLIER environment
290   variables now can accept floating point arguments.
291
292 * Cleanup compile warnings, patch #3579199 on SF.
293
294 * Renamed Check's internal list functions to start with check_, patch #3448601 on SF.
295
296 Mon, Oct 22, 2012: Released Check 0.9.9
297   based on r637 (2012-10-22 13:54:14 +0200)
298
299 * Measure test duration and print in XML output.
300   Feature request #3521371 on SF, but reimplemented.
301
302 * Added contrib/XML_for_JUnit.xsl from feature request #3521371 on SF.
303
304 * Added support for setting log files via environment variables.
305   Patch #3576713 on SF.
306
307 * Added better pkg-config and subunit support, patch #3417041 on SF.
308
309 * Make tests/test_vars.in bourne shell compatible, bug #3472578 on SF.
310
311 * Added ck_ prefix to mutex_lock variable, to avoid name clash on Solaris.
312   Solves bug #3472574 on SF.
313
314 * In autoconf, request system extensions to generate 64-bit safe code,
315   solution from patch #2803433 on SF.
316
317 * Fix for mutex deadlock when killing threads, patch #3564640 on SF.
318
319 * Make XML output well-formed, solution from patch #3575642 on SF.
320   Solves bug #3485651 also.
321
322 * Fix buggy duration calculation, bug #3575451 on SF. 
323
324 * A more complete CMake / MSVC patch for those interested in pursuing
325   Windows development with Check and Visual Studio.  See
326   patches/mloskot.windows.patch.
327
328 * Added instructions for improving the speed and output of `make
329   check' when using Automake.  See contrib/improved_make_check/.
330
331 * Added a chapter in the documentation for selective running of tests.
332
333 * Changed how the message pipe is read. Before, the whole file was copied to
334   RAM with realloc, giving problems with huge allocations for repetetive
335   tests, the problem was visible for a specific GStreamer test case.
336
337 * Improvements to the new Check API: documentation, macros that allow
338   multiple evaluation, unit tests, and new
339   ck_assert_(str|int)_(lt|le|gt|ge) comparison functions.
340
341 * Made the new Check API primary and use it to define macros from old Check API
342
343 * Added checkmk, a tool for reducing "boilerplate coding" when writing
344   unit tests with check.
345
346 * Added xslt link to xml output, added display of iteration field into xslt
347   stylesheet and moved it to directory accessible from web page root
348
349 * Added longjmp to fail function to ensure that no code will be executed in test
350   function after failed assertion
351
352 * Fix dead assignments and several possible NULL pointer dereferences
353
354 Tue, Sep 22, 2009: Released Check 0.9.8
355   based on r559 (2009-09-23 21:00).
356
357 * Fix CHECK_MICRO_VERSION, left at 6 in 0.9.7 by mistake.
358
359 Tue, Sep 22, 2009: Released Check 0.9.7
360   based on r552 (2009-09-22 09:26).
361
362 * Added CK_SUBUNIT support for outputting test information in the subunit wire
363   protocol. See the check manual for more information. (Contributed by Robert
364   Collins).
365
366 * Added code and tests for timeout scaling via environment variable.
367   Feature requested in tracker item #1549835 on sourceforge.
368
369 * Added documentation for testing exit values with tcase_add_exit_test().
370
371 * Add make_macros perl script from somebody (who?)
372
373 * add type to check_type error message
374
375 * add contrib dir with xslt transform
376
377 * function exist testing support (patch #1726574).
378
379 * introduce HAVE_WORKING_SETENV to protect tc_timeout_env usage
380
381 * support running tests with multiple pthreads (Daniel Gollub, closes 1391527)
382
383 * partial MSYS/MinGW support
384
385 Mon, Dec 29, 2008: Released Check 0.9.6
386   based on r453 (2008-12-01 22:14:15).
387
388 * 'make distcheck' does not work out of the box. Disable the two
389   top lines in doc/Makefile.am and it shall pass. Will have to
390   be fixed later.
391
392 * add call to AC_REPLACE_FUNCS([strsignal])
393 * add new rpl_strsignal following rpl_(re)malloc template, body
394   of function due to Roland Illig
395   -- hopefully closes 1629755
396
397 * add missing NULL argument to fail* varargs macro calls
398 * define incorrect tests for __GNUC__ only
399    -- both per Roland Illig in bug 1677391
400
401 * define CK_ATTRIBUTE_UNUSED for GCC >= 2.95, closing:
402   [ 1674626 ] compile error with non defined __attribute__ compiler
403
404 * Fixed error in documentation example Makefile.am, bug #1888237
405
406 * Fixed spelling (patch #1652630)
407
408 * Handle NULL in srunner_add_suite(). Fixes #1624887
409
410 * add CK_FORK_GETENV to enum fork_status and delete CK_FORK_UNSPECIFIED
411
412 * call strdup on result from strsignal to avoid clobbering it
413 * add Torok Edwin to AUTHORS
414
415 * add CK_TEST_RESULT_INVALID to enum test_result
416
417 * add CK_CTX_INVALID to ck_result_ctx and don't use -1 anymore
418
419 * count checks in setup() as well; patch due to Roland Stigge
420
421 * use int __attribute__((unused)) _i instead of
422       int _i __attribute__((unused))
423   per gcc-3.3.5 request from Sebastian Trahm
424
425 * rename signal to _signal in _tcase_add_test to avoid a
426   symbol clash with /usr/include/sys/signal.h on OS X.
427
428 * define rpl_malloc and rpl_realloc for platforms where
429   !malloc(0) and !realloc(0,0), such as AIX, because configure
430   goes and redefines malloc/realloc in this case...
431
432 * SVNChangeLog patch from Robert Collins
433
434 * Incorporated patch from Debian for debian bug #395466. This fixes
435    'AM_PATH_CHECK causes "possibly undefined macro" errors'.
436
437 * Added new Check fail API. Implemented on top of fail_unless. Future
438   versions will reverse this so fail_unless is implemented on top of the
439   ck_assert API. This API is not documented yet, will probably not be fully
440   released until 0.9.8, when it will be possible to choose API.
441
442 Tue, Nov 21, 2006: Released Check 0.9.5
443
444 * Fixed code coverage support to work with gcc4 and buggy libtool.
445
446 * Changed loop test iteration variable from i to _i.  Added example of
447   loop test usage to documentation.
448
449 * Fixed distcheck target by adding SVNChangeLog to EXTRA_DIST.
450
451 * Fixed signal string problem in tests.  Strings differed between
452   OSes, now we use strsignal().  Fixes Sourceforge bug #1539828. 
453
454 * Fixed problem with process group ID, especially visible on Solaris
455   and LynxOS.  Fixes Sourceforge bugs #1407360 and #1539828.
456
457 Fri, Oct 13, 2006: Released Check 0.9.4
458
459 * Updated manual and converted from DocBook to Texinfo.
460
461 * Added pkg-config support.
462
463 * Added Libtool support to build both static and shared libraries.
464
465 * Removed debian/ and rpm/ directories for building packages.
466   Downstream maintainers can easily handle this.
467
468 * Updated GNU Build System to use modern Autotools.
469
470 * Fixed sourceforge bug #1327225, two teardown checked fixtures
471   segfaults.
472
473 * Added a new kind of test, looping tests, which are called with a new
474   context for each loop iteration. This makes them ideal for table
475   based tests. Previously, with the loop in the test itself, only the
476   first error was caught and then the test would exit. Now all errors
477   are shown at once which should help in debugging
478
479 * Added possibility to turn off timeout tests in check's own unit tests
480   through configure option --disable-timeout-tests.
481
482 * Added coverage analysis for check's own unit tests.
483
484 Thu, Aug 25, 2005: Released Check 0.9.3
485
486 Applied debian patches from debian maintainer.
487
488 Fixed documentation bug #1216502.
489
490 gcc 2.95.3 compatibility fixed (patch #1161654, bug #1211672).
491
492 Messaging refactored to make it  work with forking tests, and also with
493 threading tests on linux 2.4. Added check_fork and check_waitpid_and_exit
494 to be used for forking tests. (bug # 1233585)
495
496 Timeout error message changed (feature request #1121452, bug #1160305).
497
498 Fix check.spec for fc3 x86_64 (patch #1111782)
499
500
501 Fri, Nov 12, 2004: Released Check 0.9.2
502
503 Use strsignal to print describing text for signals.
504 Documented signals handling and timeouts.
505 Changed failure message for fail_if.
506 Added support for timeouts on tests, enabling detection of eternal loops.
507 Changed name on function list_create to check_list_create to avoid name clash.
508 Applied ANSI C99 patch (#1047014) for macro var args.
509 Cleaned up the self test verification to simplify merging of new tests.
510 Fixed debian and rpm targets
511
512 Added support for testing on expected signals. Implementation courtesy of
513 Lucas Di Pentima and Cesar Ballardini. 
514
515
516 Fri, Sep 3, 2004: Released Check 0.9.1
517
518 Updated tutorial with new features.
519 Added support for XML output of the test results, courtesy of Frederic Peters.
520 Fixed setup bug from forum, failure in setup did not abort test in nofork mode.
521 Applied varargs patch (#933411) and added test cases.
522 Applied fail_if (#709167) patch.
523 Applied 'newbies' patch #995028 for autoconf doc.
524 Applied doc patch #995028 from Bill Barnard.
525 Fixed portability problems tests by changing == to =.
526 Changed copyright according to bug report.
527 Applied patch 796705. Replacing _exit with exit.
528 Applied patch for bug 793671.
529
530
531 Mon, May 17, 2004: Released Check 0.9.0
532
533 Run fixture teardowns in reverse order to setup
534 Plugged some memory leaks.
535 Added test name to log outputs.
536 Applied patch (802160) for distcheck bug (579604).
537 Fixed log printouts for nofork mode.
538 Updated documentation and converted to DocBook.
539
540 Added a new print mode, CK_ENV, that gets the print mode from the
541 environment variable CK_VERBOSITY.
542
543 Made tcase_free and suite_free static. This may break existing test
544 programs. Everything is now freed when srunner_free is called.
545
546
547 Mon Oct 21, 2002: Released Check 0.8.4
548
549 Fixed pipe issues.
550 Allow to use check.h from C++.
551 Plugged some memory leaks.
552
553
554 Fri May 24, 2002: Released Check 0.8.3
555
556 Fixed various build problems. Fixed a problem with check.m4.
557 Documentation updates.
558
559
560 Mon Apr 15, 2002: Released Check 0.8.2
561
562 Added version information to headers and library. Added an autoconf
563 macro to easily integrate check into projects that use autoconf.
564
565 Removed limitations on line number, message and buffer sizes.
566
567 Declared constant string parameters as const.
568
569
570 Sat Mar 2, 2002: Released Check 0.8.1
571
572 Changed license to LGPL.
573
574 Fixed bug in running checked setup in nofork mode.
575
576
577 Wed Oct 24, 2001: Released Check 0.8.0
578
579 Support running in a nofork mode. Defined a checked fixture as well as
580 an unchecked fixture, support failing in checked and uncheck fixture
581 functions, and errors in checked fixture functions. Rewrote the
582 back-end to use pipes, rather than message queues.
583
584 Reimplemented printing functions in terms of string formatting
585 functions, to allow better testing of output without full end-to-end
586 testing.
587
588 Renamed some public constants to use the CK_ naming convention. This
589 will break existing test programs.
590
591 Documented the new features, and changed the distribution to include
592 sgml and html files, as well as lyx files, as many people don't have
593 lyx.
594
595
596 Thu Aug 23, 2001: Released Check 0.7.3
597
598 Fixed the Autoconf Lyx check in acinclude.m4 so that configure works
599 on Solaris systems (and hopefully others), and cleaned up a minor
600 problem in Debian packaging.
601
602
603 Fri Aug 17, 2001: Released Check 0.7.2
604
605 Automated RPM packaging, and included debian packaging. The makefiles
606 now has an rpm target (the RPMFLAGS variable can be set to add
607 additional flags to RPM). Debian packages are built the ordinary way
608 (dpkg-buildpackage).
609
610 Moved the example*.* files to tutorial*.*, since the docs really are
611 tutorials. Beefed up the tutorial docs to add clarity to the behavior
612 of fixture setup/teardown (based on a helpful critique by Fred Drake),
613 and to document the static nature of unit tests demanded by the bug
614 fix below.
615
616 Many bugfixes: added -Wall to the CCFLAGS for gcc, and fixed a mess of
617 warnings that resulted. Changed a bizarre naming mismatch in
618 tcase_set_fixture (masked by the lack of compile warnings), and made
619 unit tests static (both bugfixes suggested by Fred Drake). Also added
620 a more sophisticated test of Lyx to (hopefully) ensure that Lyx
621 supports linuxdoc (but it's not clear to me how to test that for
622 sure).
623
624
625 Wed Jul 30, 2001: Released Check 0.7.1
626
627 Reorganized printing and logging functions to allow for a less
628 primitive logging function. Logging is now documented in the tutorial
629 documentation.
630
631
632 Wed Jul 11, 2001: Released Check 0.7.0
633
634 Included a primitive logging function (at the moment, it only prints a
635 copy of the CRVERBOSE output to the log file), added the ability for
636 an SRunner to run multiple suites (and reorganized the Check tests to
637 take advantage of that), and added the magic to allow Check to be used
638 with C++.
639
640 Also added Doxygen markup to the header file, but I'm not terribly
641 satisfied withe clarity of the output. I may switch to CWEB... Next
642 release should include API docs and improved logging, if nothing else
643 comes up...
644
645
646 Wed Jun 27, 2001: Released Check 0.6.1
647
648 Bug fix for srunner_failures (bad version actually returned all
649 results), added srunner_results to do what srunner_failures used to
650 do, and added corrected unit tests for both.
651
652 Also changed the API for reporting the number of failed tests from
653 srunner_nfailed to srunner_ntests_failed, to harmonized better with
654 new function srunner_ntests_run. This unfortunately may break some
655 unit tests slightly -- that's why the major release number is 0 :-)
656
657
658 Thu Jun 21, 2001: Released Check 0.6.0
659
660 Features improved unit test reporting options, more complete unit
661 tests, and end-to-end test, and a full API into TestResults
662
663
664 Check 0.5.2
665 Minor edits
666 Check 0.5.1
667 GPL compliance release
668 Check 0.5.0
669 Initial public release