- The tests/runtests.pl script now checks to see if the test case that runs is
authorDaniel Stenberg <daniel@haxx.se>
Mon, 11 Jan 2010 15:50:30 +0000 (15:50 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 11 Jan 2010 15:50:30 +0000 (15:50 +0000)
  present in the tests/data/Makefile.am and outputs a notice message on the
  screen if not. Each test file has to be included in that Makefile.am to get
  included in release archives and forgetting to add files there is a common
  mistake. This is an attempt to make it harder to forget.

CHANGES
tests/data/Makefile.am
tests/runtests.pl

diff --git a/CHANGES b/CHANGES
index c9be56c..0315cd1 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,13 @@
 
                                   Changelog
 
+Daniel Stenberg (11 Jan 2010)
+- The tests/runtests.pl script now checks to see if the test case that runs is
+  present in the tests/data/Makefile.am and outputs a notice message on the
+  screen if not. Each test file has to be included in that Makefile.am to get
+  included in release archives and forgetting to add files there is a common
+  mistake. This is an attempt to make it harder to forget.
+
 Daniel Stenberg (9 Jan 2010)
 - Johan van Selst found and fixed a OpenSSL session ref count leak:
 
index 30e3144..bb7d0e7 100644 (file)
@@ -84,3 +84,5 @@ filecheck:
        rm -rf test-place ; \
        exit $$RC
 
+show:
+       @echo $(EXTRA_DIST)
index 33baa81..a2d5902 100755 (executable)
@@ -426,6 +426,15 @@ sub checkcmd {
 }
 
 #######################################################################
+# Get the list of tests that the tests/data/Makefile.am knows about!
+#
+my $disttests;
+sub get_disttests {
+    my @dist = `cd $srcdir/data && make show`;
+    $disttests = join("", @dist);
+}
+
+#######################################################################
 # Check for a command in the PATH of the machine running curl.
 #
 sub checktestcmd {
@@ -1882,6 +1891,11 @@ sub singletest {
     # timestamp test preparation start
     $timeprepini{$testnum} = Time::HiRes::time() if($timestats);
 
+    if($disttests !~ /\Wtest$testnum\W/ ) {
+        print STDERR "NOTICE: data/test$testnum is not present in tests/data/Makefile.am!\n";
+    }
+
+
     # load the test case file definition
     if(loadtest("${TESTDIR}/test${testnum}")) {
         if($verbose) {
@@ -3307,6 +3321,7 @@ mkdir($LOGDIR, 0777);
 #
 
 if(!$listonly) {
+    get_disttests();
     checksystem();
 }