support/testing/run-tests: fix --testcases option
The --testcases option of run-tests says how many test cases to build in
parallel. It automatically derives a jlevel from it by dividing the
number of cores + 1 by the number of parallel testcases. However, this
will typically result in a fractional number. Make doesn't like
fractional numbers as argument to -j.
Convert the number to integer (rounding down).
* br2_jlevel is an int, as multiprocessing.cpu_count() is an int, so it
will be always >=2 (cpu_count() raises an error if it can't determine
the number of CPU, so it will always return at least 1);
* args.testcases is an int, and is checked to be >=1
So br2_jlevel + args.testcases is guaranteed to always be bigger
than or equal to args.testcases, and the division thus bigger than 1.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
[yann.morin.1998@free.fr:
- ensure division provide at least 1
- drop the test below
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
(cherry picked from commit 8dce595a68
)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
6fb47a01ca
commit
9c64faace9
@ -87,9 +87,7 @@ def main():
|
||||
return 1
|
||||
# same default BR2_JLEVEL as package/Makefile.in
|
||||
br2_jlevel = 1 + multiprocessing.cpu_count()
|
||||
each_testcase = br2_jlevel / args.testcases
|
||||
if each_testcase < 1:
|
||||
each_testcase = 1
|
||||
each_testcase = int((br2_jlevel + args.testcases) / args.testcases)
|
||||
BRConfigTest.jlevel = each_testcase
|
||||
|
||||
if args.jlevel:
|
||||
|
Loading…
Reference in New Issue
Block a user