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