Bug 8579 - Run tests for different environments in subprocess
Summary: Run tests for different environments in subprocess
Status: RESOLVED FIXED
Alias: None
Product: Samba 4.0
Classification: Unclassified
Component: Test infrastructure (show other bugs)
Version: unspecified
Hardware: All All
: P5 enhancement (vote)
Target Milestone: ---
Assignee: Samba QA Contact
QA Contact: samba4-qa@samba.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-05 11:43 UTC by Matthieu Patou
Modified: 2020-12-30 00:09 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthieu Patou 2011-11-05 11:43:43 UTC
For the moment samba's test suite run one test after another, leaving the processor partially idle, in the same time the runtime for make test goes up.
If the parallelization of tests within the same environment is not very easy, it seems much more easier to run tests for each environment (dc, fl2003, fl2000, ...) in a separate subprocess that can run in parallel;
Given the fact that nodays lot of developers have at least a 2 way CPU and that it's quite easy to get even more on a workstation (ie. I just build a 8 cpu for ~ 500€) doing so would help driving the make test time low due to the fact that a lot of long test are run in parallel.
Comment 1 Jelmer Vernooij 2011-12-06 11:08:40 UTC
This will be done as part of my subunit integration work. testr would allow parallel running of the testsuite.
Comment 2 Matthieu Patou 2012-06-15 07:07:58 UTC
By the way I just retried make test TESTS=samba4 on my 8 cores box 

Cpu is far far away from being maxed: 
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----

 2  0      0 2436336  94328 12650872    0    0     0     0 1009 1309 13  1 85  0
 2  0      0 2399780  94328 12650876    0    0     0     0 1150 1709 17  1 82  0
 1  0      0 2320744  94328 12650888    0    0     0     0  818 1215 12  1 88  0
 1  0      0 2320000  94328 12650888    0    0     0     0  623 1928 13  1 86  0
 1  0      0 2319876  94328 12650888    0    0     0     0  640 1938 12  0 88  0
 1  0      0 2318752  94328 12650888    0    0     0     0  786 2030 15  1 85  0
 1  0      0 2319008  94328 12650888    0    0     0     6  626 2045 11  0 88  0
 1  0      0 2319008  94328 12650888    0    0     0     0  632 1933 13  1 86  0
 1  0      0 2319008  94328 12650888    0    0     0     0  704 1834 11  0 89  0
 1  0      0 2319008  94328 12650888    0    0     0     0  711 1785 12  0 87  0
 1  0      0 2318876  94328 12650888    0    0     0     0  707 1832 13  1 87  0
 1  0      0 2319008  94328 12650888    0    0     0   306  614 3401 12  1 87  0
 2  0      0 2318636  94328 12650892    0    0     0     0  578 3621 13  0 87  0
 1  0      0 2318264  94328 12650892    0    0     0     0  583 3468 13  1 86  0
 1  0      0 2318264  94328 12650892    0    0     0     8  583 3338 12  0 87  0
 2  0      0 2318264  94328 12650892    0    0     0     0  655 3002 12  1 87  0
 1  0      0 2318264  94328 12650892    0    0     0    10  585 3220 12  0 88  0
 1  0      0 2318264  94328 12650892    0    0     0     0  628 3096 12  1 87  0
 1  0      0 2318264  94328 12650892    0    0     0     0  667 2924 12  1 87  0

On this box (it's not a fancy box I build it for ~500 euro almost last year, I just put 8 gig of ram to have the samba source tree in a ram disk to avoid IO) running 3/4 environment in parallel would really boost make test on this machine and on a lot of nowdays (my work laptop has 4 cores so 2 environment at least could fit easily on it).
Comment 3 Stefan Metzmacher 2020-12-30 00:09:56 UTC
script/autobuild.py already implements that.