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