[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: parallel autotest [2/3]: Implement 'testsuite --jobs'.
From: |
Ralf Wildenhues |
Subject: |
Re: parallel autotest [2/3]: Implement 'testsuite --jobs'. |
Date: |
Thu, 2 Oct 2008 20:46:24 +0200 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
* Ralf Wildenhues wrote on Thu, Oct 02, 2008 at 08:21:16AM CEST:
>
> However, there are still races in the code. I found two separate
> issues:
> - sometimes, a parallel run would fail to output all test results on
> stdout; they would appear in the log file, however. This happens
> maybe 20% of the time on one host, but never occurred on another.
> - I found one hang (among many many test runs) at the end where the
> master process hangs waiting for a token.
The latter seems to be fixed with this, pushed (or rather: one source of
hangs is fixed).
I don't understand how I could overlook that, it consistently hangs the
'Keywords and ranges' test in the case where the sub testsuite './k' is
run with no tests to execute (-k is not matched). The build daemons
show the failure, too.
Apologies also for forgetting the ChangeLog entry in my last commit.
:-/
Cheers,
Ralf
Fix hang with `testsuite -k notmatched'.
* lib/autotest/general.m4: Do not reset $at_jobs if it is equal
to one. Fixes hang with `-k notmatched'.
diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4
index da383d2..605f96a 100644
--- a/lib/autotest/general.m4
+++ b/lib/autotest/general.m4
@@ -1054,7 +1054,8 @@ rm -f "$at_suite_dir/at-source-lines"
# Set number of jobs for `-j'; avoid more jobs than test groups.
set X $at_groups; shift; address@hidden:@]
-if test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; then
+if test $at_jobs -ne 1 &&
+ { test $at_jobs -eq 0 || test $at_jobs -gt $at_max_jobs; }; then
at_jobs=$at_max_jobs
fi