David Marchand <david.march...@redhat.com> writes: Thanks for the review, David!
> On Fri, Mar 29, 2019 at 6:23 PM Aaron Conole <acon...@redhat.com> wrote: > > Some environments do not provide a minimum 4 cores for running tests. This > allows those environments to still execute 'ninja test' without causing > multiple failures. > > Signed-off-by: Aaron Conole <acon...@redhat.com> > --- > app/test/meson.build | 11 ++++++++++- > 1 file changed, 10 insertions(+), 1 deletion(-) > > diff --git a/app/test/meson.build b/app/test/meson.build > index ddb4d09ae..975b38daa 100644 > --- a/app/test/meson.build > +++ b/app/test/meson.build > @@ -337,10 +337,15 @@ if get_option('tests') > timeout_seconds = 600 > timeout_seconds_fast = 10 > > + # Retreive the number of CPU cores > + num_cores = run_command('lscpu', > '-p=cpu').stdout().strip().split('\n')[-1] > + num_cores_arg = '-l 0-' + num_cores > > Seeing how we can reduce the core number, we can at least cap it to 4 and not > use all the cores on bigger > systems. > But, thinking again, do you know if there is a need for more than 2 cores in > the existing tests ? Probably not. At least, the systems in the travis environment only provide 2 cores and most of the tests pass. OTOH, some still fail and I need to investigate them a bit more. Some of the test case failures are ex. eal flags failures and maybe they do pass some '-c f' as part of the test case, which would fail on systems without 4 cores. > + > + test_args = [num_cores_arg, '-n 4'] Whoops! I think, this '-n 4' option can probably be removed as well. I think the memory channel config is optional, and I believe there's no need to try and tune it. > foreach arg : fast_parallel_test_names > test(arg, dpdk_test, > env : ['DPDK_TEST=' + arg], > - args : ['-c f','-n 4', > '--file-prefix=@0@'.format(arg)], > + args : test_args + ['--file-prefix=@0@'.format(arg)], > timeout : timeout_seconds_fast, > suite : 'fast-tests') > endforeach > @@ -348,6 +353,7 @@ if get_option('tests') > foreach arg : fast_non_parallel_test_names > test(arg, dpdk_test, > env : ['DPDK_TEST=' + arg], > + args : test_args + ['--file-prefix=@0@'.format(arg)], > > I don't understand this part. > > (How|) was it working before ? It did work before. > Is there some default args ? I could not find it. I think it does try to do some auto-detection. I did extend this because it seemed to make sense, and I have some future work to allow passing '--no-huge' (in case we have a CI system that doesn't allow allocating hugepages). Maybe it doesn't make sense to add that right now, though. I'll try without it. > timeout : timeout_seconds_fast, > is_parallel : false, > suite : 'fast-tests')