diff options
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 151 |
1 files changed, 151 insertions, 0 deletions
@@ -0,0 +1,151 @@ +TODO +==== + +The following are considered bugs in Check. If you have a fix, please +post it in the patch tracker on http://sourceforge.net/projects/check +or send it to <check-devel at lists dot sourceforge dot net>. Bug +fixing is considered more important than feature requests at this +point. Please check the Sourceforge trackers before submitting. + +Documentation +============= + +[0.9.4] * Convert to info format and update. +[0.9.4] * Remove old SGML documentation. +[0.9.4] * Fix building of documentation that relies on diff +[0.9.4] * 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. +[0.9.5] * Clarify looping tests and give example of usage. +[ ] * Document pkg-config usage, note that old macro usage is not recommended. + +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: +============= + +[ ] * Add AC_PROG_CC_C99 in configure.ac when autoconf2.60b is + commonly availabe. Add checks in src/check.h.in for macro + varargs support. +[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 +[0.9.4] * Fix AM_PATH_CHECK by deprecating it; use pkg-config instead +[0.9.6] * make Check pass its own unit tests: make (dist)check can fail. +[ ] * Make the docs pass 'make distcheck' +[ ] * use stricter CFLAGS for compiling Check +[ ] * use ax_cflags_gcc_option to add to CFLAGS to Check +[ ] * prune unused checks from configure.ac + +Check source code: +============ + +[ ] * 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 + +Internal Check tests +====================== + +[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! +[ ] * Fix timeout tests. Currently, on some processors, a test that + asserts no timeout within 2 seconds fails unless the default + timeout is set to 4 or more seconds. A higher resolution + might help, and there could also be issues with multiple + processes on SMP machines. + +Packaging +========= + +[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 + + + +The following enhancements are being considered for Check. Please +send an email to <check-devel at lists dot sourceforge dot net> 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 testing framework from header files +[ ] * Count the number of START_TEST macros and check that each function + is added to some suite; issue a warning message otherwise. Maybe the + best way to do this is to put each function onto a list or + table as its defined, and then remove it once its added + somewhere. Then, when finished, print out what remains on the list / + in the table. This might require some ugly macro hackery... +[ ] * Better macro for START_TEST. It would be nice to pass in + three separate arguments, something like: + 1) a numeric ID for the tests function + 2) the exact name of the function being tested + 3) the name of the feature in (2) being tested for +[ ] * Find a way to create setup/teardown macros such that global + variables aren't necessary, and they're really just blocks + that get added at the beginning and ending of tests. +[ ] * Some mechanism to profile execution times, and assert that the time + a test takes to complete scales according to some big-O notation. +[ ] * Fork entire test cases, and then fork individual tests from + within each test case, so that unchecked fixtures can in + fact do unsafe things without bringing down the entire test + program. + +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. +[ ] * Incorporate existing Win32 support as mentioned here: + http://opendarwin.org/pipermail/cvs-libfoundation-all/2005-March/000177.html +[ ] * Get Cygwin to work, even without forking +[ ] * Get MinGW to work, even without forking +[ ] * Get MSVC to work, even without forking |