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