diff --git a/.gitlab-ci/meson-build.sh b/.gitlab-ci/meson-build.sh index c2ca0a1e..56b1abcc 100755 --- a/.gitlab-ci/meson-build.sh +++ b/.gitlab-ci/meson-build.sh @@ -22,7 +22,8 @@ if [[ -z "$CI_JOB_ID" ]] || [[ -z "$CI_JOB_NAME" ]]; then fi if [[ -n "$FDO_CI_CONCURRENT" ]]; then - NINJA_ARGS="-j${FDO_CI_CONCURRENT} $NINJA_ARGS" + NINJA_ARGS="-j$FDO_CI_CONCURRENT $NINJA_ARGS" + MESON_TESTTHREADS="$FDO_CI_CONCURRENT" fi echo "*************************************************" diff --git a/test/litest.c b/test/litest.c index 462b9fab..54278bfa 100644 --- a/test/litest.c +++ b/test/litest.c @@ -4627,14 +4627,18 @@ main(int argc, char **argv) int tty_mode = -1; int failed_tests; int rc; + const char *meson_testthreads; in_debugger = is_debugger_attached(); if (in_debugger || RUNNING_ON_VALGRIND) setenv("CK_FORK", "no", 0); - jobs = get_nprocs(); - if (!RUNNING_ON_VALGRIND) - jobs *= 2; + if ((meson_testthreads = getenv("MESON_TESTTHREADS")) == NULL || + !safe_atoi(meson_testthreads, &jobs)) { + jobs = get_nprocs(); + if (!RUNNING_ON_VALGRIND) + jobs *= 2; + } mode = litest_parse_argv(argc, argv); if (mode == LITEST_MODE_ERROR)