[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: How do you set VERBOSE for parallel testin
From: |
Arthur Schwarz |
Subject: |
RE: How do you set VERBOSE for parallel testin |
Date: |
Thu, 14 May 2015 17:36:31 -0700 |
The short answer is because I wanna use 8 cpus. There is no sensible way
Automake can know how many cpus I wanna use.
Just a some idle speculation, Automake knows two things at this
point, that the user wants to run a Parallel Test Harness and the
Total number of test cases to execute (TESTS). The user can modify
TESTS to suit allowing make / Makefile to determine the number of
test cases in the variable TESTS. Shouldn't this be enough to
establish how many processes are needed and to select a strategy
for allocating run time resources?
$ make check TESTSUITEFLAGS=-j8
Is TESTSUITEFLAGS a new variable for the next Automake release?
It appears undocumented.
make -j# $(TESTS) or
for I in $(TESTS); do make -j $i; done
Your guess is wrong. The key line in 'Makefile.in' is
$(TEST_SUITE_LOG): $(TEST_LOGS)
which means that before creating 'test-suite.log' the log file for
each test is generated. This structure allows parallel execution, but only
if the user chooses to.
TEST_LOGS contains the list of log files. The rule seems to say
after all log files are generated then the $(TEST_SUITE_LOG)
preconditions are satisfied and $(TEST_SUITE_LOG) is valid. This
doesn't seem to address how the log files get generated. From
the manual it seems that .log files are the output (stdout and
stderr) of a test case, and that there is no way for the user
to bypass this. The rule is neutral with respect to execution
time semantics. My conceptual pseudo-code seems to be valid
(at least the 'for' part).
If the user run make single-threaded the test suite will be run on a
single cpu. This is by design. If a user issues 'make check' you want one
single cpu to be used; it would be very annoying if make spawned away
processes. If a user issues 'make -jX' then the structure allows make to run
tests in parallel. This is not possible in the old serial test suite, which
basically just ran the tests in a loop.
Thanks. I didn't get this from my reading. I think you are saying
that if the user wants to execute the tests in parallel the user
must specify this on the command line.
And, if I guess correctly, the user can write
"make check TESTSUITEFLAGS=-jN"
As a nit-noy, don't you mean "processor" and not "cpu"? And
does -jN specify processors or processes or both?
- RE: How do you set VERBOSE for parallel testin, (continued)
- RE: How do you set VERBOSE for parallel testin, Arthur Schwarz, 2015/05/13
- Re: How do you set VERBOSE for parallel testin, Roman Neuhauser, 2015/05/13
- Re: How do you set VERBOSE for parallel testin, Nick Bowler, 2015/05/13
- RE: How do you set VERBOSE for parallel testin, Arthur Schwarz, 2015/05/13
- Re: How do you set VERBOSE for parallel testin, Nick Bowler, 2015/05/14
- RE: How do you set VERBOSE for parallel testin, Arthur Schwarz, 2015/05/13
- Re: How do you set VERBOSE for parallel testin, Peter Johansson, 2015/05/13
- Re: How do you set VERBOSE for parallel testin, Andrew W. Nosenko, 2015/05/14
- RE: How do you set VERBOSE for parallel testin, Arthur Schwarz, 2015/05/14
- Re: How do you set VERBOSE for parallel testin, Peter Johansson, 2015/05/14
- RE: How do you set VERBOSE for parallel testin,
Arthur Schwarz <=
- Re: How do you set VERBOSE for parallel testin, Peter Johansson, 2015/05/14
- Re: How do you set VERBOSE for parallel testin, Eric Blake, 2015/05/14
- Re: How do you set VERBOSE for parallel testin, Andrew W. Nosenko, 2015/05/15
- What does setting TEST_LOGS mean?, Arthur Schwarz, 2015/05/20
- Re: What does setting TEST_LOGS mean?, Roman Neuhauser, 2015/05/21
- Re: What does setting TEST_LOGS mean?, Gavin Smith, 2015/05/21