From: cpickett Date: Fri, 13 Oct 2006 04:05:10 +0000 (+0000) Subject: * Updated TODO, pulled in check.sourceforge.net TODO X-Git-Tag: 0.10.0~821 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4151e07df0f860fdbb61767b8037e65ae655d2a1;p=check * Updated TODO, pulled in check.sourceforge.net TODO * Made tests run with CK_VERBOSE instead of CK_SILENT git-svn-id: svn+ssh://svn.code.sf.net/p/check/code/trunk@332 64e312b2-a51f-0410-8e61-82d0ca0eb02a --- diff --git a/TODO b/TODO index 8ec1ac6..4bdb6cc 100644 --- a/TODO +++ b/TODO @@ -1,40 +1,113 @@ +TODO +==== + +The following are considered bugs in Check. If you have a fix, please +send it to . Bug fixing is +considered more important than feature requests at this point. Also +please check the Sourceforge trackers. + +Documentation +============= + +[0.9.4] * Convert to info format and update. +[ ] * Fix building of documentation that relies on diff +[ ] * Add html generation of Texinfo docs. +[0.9.4] * Create initial and final versions of money example. +[0.9.4] * Update tutorial so that it works with modern tools. +[ ] * Clarify looping tests and give example of usage. + +Interface +========= + +[ ] * Change check not to clobber things in the global namespace. + Prepend CHECK_ to all constants, check_ to all exported symbols, + and _check to all internal functions. Currently fail() is + causing a problem. Deprecate the old API in a nice way. + Build issues: -------------- +============= -convert check to use libtool -figure out if we need stamp-h.in or not -use AC_CONFIG_MACRO_DIR([m4]) and create an m4/ dir for check.m4 - aclocaldir = $(datadir)/aclocal - aclocal_DATA = mymacro.m4 myothermacro.m4 +[0.9.4] * Convert Check to use Libtool +[ ] * Figure out if we need stamp-h.in or not +[ ] * use AC_CONFIG_MACRO_DIR([m4]) and create an m4/ dir for check.m4 + aclocaldir = $(datadir)/aclocal + aclocal_DATA = mymacro.m4 myothermacro.m4 + ACLOCAL_AMFLAGS = -I m4 # put in top-level Makefile.am +[ ] * Fix overriding CFLAGS in configure.ac +[ ] * Use AC_DEFINE to define version number stuff? +[ ] * Change MICRO to ALPHA? probably not +[ ] * Add std-options to AM_INIT_AUTOMAKE +[ ] * Investigate subdir-objects option to AM_INIT_AUTOMAKE +[ ] * Use filename-length-max=99 in AM_INIT_AUTOMAKE +[0.9.4] * Make sure libcheck.(l)a works as a dependency, don't call $(MAKE) +[0.9.4] * Build tests/ dirs after everything else +[ ] * Fix AM_PATH_CHECK totally; use pkg-config +[ ] * make Check pass its own unit tests: make distcheck fails +[ ] * use stricter CFLAGS for compiling Check +[ ] * deprecate the old API: Check clobbers things, e.g. fail() in C++ - ACLOCAL_AMFLAGS = -I m4 # put in top-level Makefile.am +Check source code: +============ -fix overriding CFLAGS in configure.ac -use AC_DEFINE to define version number stuff? -change MICRO to ALPHA? -add std-options to AM_INIT_AUTOMAKE -investigate subdir-objects option to AM_INIT_AUTOMAKE -use filename-length-max=99 in AM_INIT_AUTOMAKE +[ ] * Eliminate abbreviations like nf for number_failed +[ ] * Run indent on everything, make sure it works well. +[ ] * Fix START_TEST/END_TEST to look like valid C code. +[ ] * Document things way more. +[ ] * Create check.h automatically using makeheaders.c (not sure) +[ ] * Eliminate check_ prefix from files in src/ ... not needed -just make sure libcheck.a works as a dependency, don't call $(MAKE) +Internal Check tests +====================== -Using +[0.9.3] * Use gcov to test and expand coverage of existing unit tests +[ ] * Increase tests for more non-public modules +[0.8.0] * Refactor to allow better unit testing of printing functionality. +[ ] * Document things way more. +[ ] * Clarify what all the different tests mean, whether they are + meant to fail or not --- setting all CK_SILENT to CK_VERBOSE + makes it seem like there are lots of errors being produced! - SUBDIRS = lib src . test +Packaging +========= -will cause lib/ to be built before src/, then the current directory -will be built, finally the test/ directory will be built. It is -customary to arrange test directories to be built after everything -else since they are meant to test what has been constructed. +[0.7.2] * Automate RPM production +[0.7.2] * Debian packaging +[0.9.2] * Get Check into Debian Sid +[0.9.4] * Eliminate .deb and .rpm packaging for vendors --- not necessary -Documentation -------------- -* Convert to info format. -* Create initial and final versions of money example. -Interface ---------- -* Change check not to clobber things in the global namespace. - Prepend CHECK_ to all constants, check_ to all exported symbols, - and _check to all internal functions. Currently fail() is - causing a problem. + +The following enhancements are being considered for Check. Please +send an email to if you would like +to assist in any of these, or if you would like to suggest additional +enhancements. Also please check the various trackers at the Check +project website. + +Printing and Logging +==================== + +[ ] * Allow unit test output (stdout and stderr) to be captured and logged +[0.9.1] * Add XML as option for test output +[ ] * Open the API for printing/logging customization +[ ] * JUnit-style UI? + +Unit test writing +================= + +[0.8.0] * Allow fail and friends to be used within fixture + setup/teardown functions +[0.8.0] * Allow forkless running of suites, to allow debugging +[0.9.2] * Allow unit tests that expect signals +[ ] * Allow unit tests to write to the log +[ ] * Allow unit tests that expect output (see stdout logging above) (but + maybe perl/sh/expect/dejagnu are better tools) +[ ] * Autoproduce unit test framework from header files + +Check Internals +=============== + +[0.8.0] * Implement message passing between unit test and test + programs using pipes, rather than SysV IPC, to allow support + under cygwin. +[ ] * Abstract the forking and message passing implementation to + allow Win32 compatibility. diff --git a/tests/check_check_fixture.c b/tests/check_check_fixture.c index fb6c9e8..23175d8 100644 --- a/tests/check_check_fixture.c +++ b/tests/check_check_fixture.c @@ -26,7 +26,7 @@ void setup_fixture (void) tcase_add_unchecked_fixture(tc, fixture_sub_setup, NULL); suite_add_tcase (fixture_s, tc); fixture_sr = srunner_create(fixture_s); - srunner_run_all(fixture_sr,CK_SILENT); + srunner_run_all(fixture_sr,CK_VERBOSE); } void teardown_fixture (void) @@ -113,7 +113,7 @@ START_TEST(test_ch_setup) tcase_add_test(tc,test_sub_ch_setup_norm); tcase_add_test(tc,test_sub_ch_setup_norm); tcase_add_checked_fixture(tc,sub_ch_setup_norm,sub_ch_teardown_norm); - srunner_run_all(sr, CK_SILENT); + srunner_run_all(sr, CK_VERBOSE); fail_unless(srunner_ntests_failed(sr) == 0, "Checked setup not being run correctly"); @@ -170,7 +170,7 @@ START_TEST(test_ch_setup_fail) tcase_add_test(tc,test_sub_fail); tcase_add_checked_fixture(tc,setup_sub_fail, NULL); sr = srunner_create(s); - srunner_run_all(sr,CK_SILENT); + srunner_run_all(sr,CK_VERBOSE); fail_unless (srunner_ntests_run(sr) == 0, "Test run counts not correct for checked setup failure"); @@ -210,7 +210,7 @@ START_TEST(test_ch_setup_fail_nofork) tcase_add_checked_fixture(tc, setup_sub_fail, NULL); sr = srunner_create(s); srunner_set_fork_status(sr, CK_NOFORK); - srunner_run_all(sr, CK_SILENT); + srunner_run_all(sr, CK_VERBOSE); fail_unless (srunner_ntests_run(sr) == 0, "Test run counts not correct for checked setup failure"); @@ -233,7 +233,7 @@ START_TEST(test_ch_setup_fail_nofork_2) tcase_add_checked_fixture(tc, setup_sub_fail, NULL); sr = srunner_create(s); srunner_set_fork_status(sr, CK_NOFORK); - srunner_run_all(sr, CK_SILENT); + srunner_run_all(sr, CK_VERBOSE); fail_unless (srunner_ntests_run(sr) == 0, "Test run counts not correct for checked setup failure"); @@ -259,7 +259,7 @@ START_TEST(test_ch_setup_pass_nofork) srunner_set_fork_status(sr, CK_NOFORK); testval_up = 1; testval_down = 1; - srunner_run_all(sr, CK_SILENT); + srunner_run_all(sr, CK_VERBOSE); fail_unless(testval_up == 7, "Multiple setups failed"); fail_unless(testval_down == 7, "Multiple teardowns failed"); @@ -284,7 +284,7 @@ START_TEST(test_ch_setup_sig) tcase_add_test(tc,test_sub_fail); tcase_add_checked_fixture(tc,setup_sub_signal, NULL); sr = srunner_create(s); - srunner_run_all(sr,CK_SILENT); + srunner_run_all(sr,CK_VERBOSE); fail_unless (srunner_ntests_failed(sr) == 1, "Failure counts not correct for checked setup signal"); @@ -344,7 +344,7 @@ START_TEST(test_ch_setup_two_setups_fork) tcase_add_checked_fixture(tc,sub_ch_setup_dual_1,NULL); tcase_add_checked_fixture(tc,sub_ch_setup_dual_2,NULL); testval_up = 1; - srunner_run_all(sr, CK_SILENT); + srunner_run_all(sr, CK_VERBOSE); fail_unless(srunner_ntests_failed(sr) == 0, "Problem with several setups"); @@ -367,7 +367,7 @@ START_TEST(test_ch_teardown_fail) tcase_add_test(tc,test_sub_pass); tcase_add_checked_fixture(tc,NULL, teardown_sub_fail); sr = srunner_create(s); - srunner_run_all(sr,CK_SILENT); + srunner_run_all(sr,CK_VERBOSE); fail_unless (srunner_ntests_failed(sr) == 1, "Failure counts not correct for checked teardown failure"); @@ -409,7 +409,7 @@ START_TEST(test_ch_teardown_sig) tcase_add_test(tc,test_sub_pass); tcase_add_checked_fixture(tc,NULL, teardown_sub_signal); sr = srunner_create(s); - srunner_run_all(sr,CK_SILENT); + srunner_run_all(sr,CK_VERBOSE); fail_unless (srunner_ntests_failed(sr) == 1, "Failure counts not correct for checked teardown signal"); @@ -472,7 +472,7 @@ START_TEST(test_ch_teardown_two_teardowns_fork) tcase_add_checked_fixture(tc,NULL,sub_ch_teardown_dual_1); tcase_add_checked_fixture(tc,NULL,sub_ch_teardown_dual_2); testval_down = 1; - srunner_run_all(sr, CK_SILENT); + srunner_run_all(sr, CK_VERBOSE); nr_of_failures = srunner_ntests_failed(sr); if (nr_of_failures > 0) { diff --git a/tests/check_check_fork.c b/tests/check_check_fork.c index 400b706..d5d2507 100644 --- a/tests/check_check_fork.c +++ b/tests/check_check_fork.c @@ -60,7 +60,7 @@ void fork_setup (void) fork_sr = srunner_create(make_fork_sub_suite()); fork_dummy_sr = srunner_create (make_fork_sub_suite()); srunner_set_fork_status(fork_sr,CK_NOFORK); - srunner_run_all(fork_sr,CK_SILENT); + srunner_run_all(fork_sr,CK_VERBOSE); } void fork_teardown (void) diff --git a/tests/check_check_limit.c b/tests/check_check_limit.c index b7cd117..a64685b 100644 --- a/tests/check_check_limit.c +++ b/tests/check_check_limit.c @@ -11,7 +11,7 @@ static void limit_setup (void) { Suite *s = suite_create("Empty"); sr = srunner_create(s); - srunner_run_all(sr, CK_SILENT); + srunner_run_all(sr, CK_VERBOSE); } static void limit_teardown (void) diff --git a/tests/check_check_main.c b/tests/check_check_main.c index 70acf70..74949bf 100644 --- a/tests/check_check_main.c +++ b/tests/check_check_main.c @@ -21,7 +21,7 @@ int main (void) setup(); printf ("Ran %d tests in subordinate suite\n", sub_ntests); - srunner_run_all (sr, CK_NORMAL); + srunner_run_all (sr, CK_VERBOSE); cleanup(); fork_teardown(); teardown_fixture(); diff --git a/tests/check_check_master.c b/tests/check_check_master.c index f4bd0e3..d4dcbda 100644 --- a/tests/check_check_master.c +++ b/tests/check_check_master.c @@ -304,7 +304,7 @@ void setup (void) Suite *s = make_sub_suite(); SRunner *sr = srunner_create(s); srunner_add_suite(sr, make_sub2_suite()); - srunner_run_all(sr, CK_SILENT); + srunner_run_all(sr, CK_VERBOSE); tr_fail_array = srunner_failures(sr); tr_all_array = srunner_results(sr); sub_nfailed = srunner_ntests_failed(sr);