coreutils
[Top][All Lists]
Advanced

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

Re: make check-expensive [was: [PATCH] rm, du, chmod, chown, chgrp: use


From: Bernhard Voelker
Subject: Re: make check-expensive [was: [PATCH] rm, du, chmod, chown, chgrp: use much less memory for large directories]
Date: Wed, 24 Aug 2011 12:06:43 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110616 SUSE/3.1.11 Thunderbird/3.1.11

On 08/24/2011 11:42 AM, Jim Meyering wrote:
Bernhard Voelker wrote:

On 08/24/2011 10:49 AM, Jim Meyering wrote:
Voelker, Bernhard wrote:
BTW: Wouldn't this test deserve a proper make target, e.g.
"make check-expensive"?

Yes, good idea.
That would make it easier to run just those test.

However, hard-coding the list of expensive and very-expensive
tests would require doing the same sort of thing as is done
for root_tests (see check-root) in tests/Makefile.am,
where there'd be a hand-maintained list of expensive and very-expensive
tests (in tests/Makefile.am) as well as rules to run them and rules
to cross-check that the lists are complete, as is done in cfg.mk's
sc-root_tests rule.

Wouldn't it be sufficient to add something like the following
to the top-level Makefile.am?

check-expensive:
        env RUN_EXPENSIVE_TESTS=yes make check

check-very-expensive:
        env RUN_VERY_EXPENSIVE_TESTS=yes make check

That would be sufficient if you don't mind running all of
the other tests, too.  Does a name like "check-expensive",
imply "all regular tests, plus the expensive ones"?
Would you expect "check-very-expensive" also to run the
"merely expensive" tests?  From what I recall, you'd have
to set RUN_EXPENSIVE_TESTS=yes, too, if you want that.

Actually, such a shortcut would do the same as calling
"env RUN_EXPENSIVE_TESTS=yes make check" today. So yes,
I'd expect the cheaper ones also to be run.

If this is not wanted, i.e. only the expensive tests should
be run for the target check-expensive, then I don't like the
idea to have another list. I'd rather let each test decide
for itself, either calling very_expensive_, expensive_, or
a new function not_expensive_ which would exit if none of
RUN_EXPENSIVE_TESTS and RUN_EXPENSIVE_TESTS are 'yes'.

This'd mean to have to touch all tests ...

BTW, you don't need "env", and it should use $(MAKE), not "make", e.g.,

check-expensive:
        $(MAKE) check RUN_EXPENSIVE_TESTS=yes

thanks.



reply via email to

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