coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 00/17] De-recursion for the 'tests' subdirectory.


From: Jim Meyering
Subject: Re: [PATCH 00/17] De-recursion for the 'tests' subdirectory.
Date: Tue, 04 Sep 2012 12:13:30 +0200

Jim Meyering wrote:

> Stefano Lattarini wrote:
>> Plus some other preparatory, follow-up or "while-at-it" changes.
>>
>> After this, "make syntax-check" and "make distcheck" still pass on
>> my Debian box.
>>
>> This completes the first important part of the "de-recursion" of the
>> coreutils build system: the compilation of the programs, the creation
>> of Texinfo documentation and manpages, and the testsuite are now all
>> controlled by one top-level Makefile.
>>
>> The next step would be de-recursing the gnulib-imported 'lib/' and
>> 'gnulib-tests/' subdirectories, but I'll leave that to someone else ;-)
>
> Thanks a lot.
> I've applied these and ensured that distcheck works for me, too.
> (BTW, in coreutils, distcheck includes "make syntax-check" -- at least
> it used to)
>
> I hope to actually review the changes later today.
>
> The only missing pieces:
>   - a timing comparison: does this result in a performance improvement?
>   - a NEWS entry: every 70+-change-set deserves one ;-)
>     One incidental improvement I've noticed: it fixes at least one bug
>     that would cause an occasional parallel "make syntax-check" failure.

Hi Stefano,

I still haven't reviewed your changes, but in using them I did notice
a missing dependency:

I ran this command to run the single test:

    $ make tests/rm/v-slash.log
    PASS: tests/rm/v-slash.log

then modified remove.c and recompiled src/rm and went to run the test again:

    $ make tests/rm/v-slash.log
    make: `tests/rm/v-slash.log' is up to date.

Oops.  It didn't run.  The individual test scripts (the .log witness files,
actually) do not depend on the programs they test.

>From 45bf1ab13682f8842b2b9ed81bb9069f6e5b01b3 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Tue, 4 Sep 2012 12:12:19 +0200
Subject: [PATCH] tests: depend on the programs we're testing

* tests/local.mk ($(TEST_LOGS)): Depend on $(PROGRAMS), so that
tests are rerun when any program is rebuilt.  Technically, we could
specify precisely which few programs are dependents of each test,
but that can come later, if deemed worth the trouble and maintenance
burden.  Also, there is the issue of the primary program(s) being
tested (i.e., those itemized via print_ver_) versus those that are
tested incidentally: for example, nearly every test exercises "rm"
when its clean-up code removes files.
---
 tests/local.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/local.mk b/tests/local.mk
index b129475..2440667 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -784,3 +784,5 @@ pr_data =                                   \
   tests/pr/ttb3-0FF                            \
   tests/pr/ttb3-FF                             \
   tests/pr/w72l24f-ll
+
+$(TEST_LOGS): $(PROGRAMS)
--
1.7.12.176.g3fc0e4c



reply via email to

[Prev in Thread] Current Thread [Next in Thread]