Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] enable running tests in parallel
@ 2022-06-10 21:15 classabbyamp
  2022-06-14  0:49 ` [PR PATCH] [Updated] " classabbyamp
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: classabbyamp @ 2022-06-10 21:15 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1223 bytes --]

There is a new pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages common/parallel-check
https://github.com/void-linux/void-packages/pull/37496

enable running tests in parallel
- common: add disable_parallel_check
- common/build-style: make do_check run in parallel unless disabled
- Manual.md: document disable_parallel_check

Redux of #31811, incorporating some of the outstanding feedback when it was stale-closed.

Adds `-j$XBPS_MAKEJOBS` to do_check in several build-styles, with the option to disable it if it causes issues.

I did *not* change the `python3-{modules,pep517}` build-styles to opt-out of parallel checks, because they require a 3rd-party library to do it. If a python3 package has tests that require `python3-pytest-xdist` to run, but have issues with parallel tests, parallel behaviour can still be disabled by `disable_parallel_check` (which would set the xdist equivalent of `-j1`).

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**



A patch file from https://github.com/void-linux/void-packages/pull/37496.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-common/parallel-check-37496.patch --]
[-- Type: text/x-diff, Size: 5781 bytes --]

From 2bf7e7ba1fda2e190043fe4cc3efa5f2522a2611 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 10 Jun 2022 14:16:48 -0400
Subject: [PATCH 1/3] common: add disable_parallel_check

---
 common/environment/setup/sourcepkg.sh       | 3 ++-
 common/xbps-src/libexec/xbps-src-docheck.sh | 8 ++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/common/environment/setup/sourcepkg.sh b/common/environment/setup/sourcepkg.sh
index 3a9bcdacb872..1191993c9abc 100644
--- a/common/environment/setup/sourcepkg.sh
+++ b/common/environment/setup/sourcepkg.sh
@@ -13,7 +13,8 @@ unset -v cmake_builddir meson_builddir
 unset -v meson_crossfile
 unset -v gemspec
 unset -v go_import_path go_package go_mod_mode
-unset -v patch_args disable_parallel_build keep_libtool_archives make_use_env
+unset -v patch_args disable_parallel_build disable_parallel_check
+unset -v keep_libtool_archives make_use_env
 unset -v reverts subpackages makedepends hostmakedepends checkdepends depends restricted
 unset -v nopie build_options build_options_default bootstrap repository reverts
 unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH
diff --git a/common/xbps-src/libexec/xbps-src-docheck.sh b/common/xbps-src/libexec/xbps-src-docheck.sh
index 1e82c1a3739f..d485d5c5a48d 100755
--- a/common/xbps-src/libexec/xbps-src-docheck.sh
+++ b/common/xbps-src/libexec/xbps-src-docheck.sh
@@ -20,6 +20,14 @@ done
 
 setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD
 
+if [ -n "$disable_parallel_check" ]; then
+    XBPS_MAKEJOBS=1
+    makejobs="-j1"
+else
+    XBPS_MAKEJOBS="$XBPS_ORIG_MAKEJOBS"
+    makejobs="-j$XBPS_ORIG_MAKEJOBS"
+fi
+
 XBPS_CHECK_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_check_done"
 
 if [ -n "$XBPS_CROSS_BUILD" ]; then

From 3b54c79f0fafe8fdfd0baa19cfda9fd46858b6c4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 10 Jun 2022 15:04:57 -0400
Subject: [PATCH 2/3] common/build-style: make do_check run in parallel unless
 disabled

---
 common/build-style/cmake.sh         | 2 +-
 common/build-style/configure.sh     | 2 +-
 common/build-style/gnu-configure.sh | 2 +-
 common/build-style/gnu-makefile.sh  | 2 +-
 common/build-style/perl-module.sh   | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/build-style/cmake.sh b/common/build-style/cmake.sh
index 7d1d675c3aba..711fcea6273d 100644
--- a/common/build-style/cmake.sh
+++ b/common/build-style/cmake.sh
@@ -116,7 +116,7 @@ do_check() {
 
 	: ${make_check_target:=test}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/configure.sh b/common/build-style/configure.sh
index 6f2c94ace694..7a6d136f4cc6 100644
--- a/common/build-style/configure.sh
+++ b/common/build-style/configure.sh
@@ -29,7 +29,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/gnu-configure.sh b/common/build-style/gnu-configure.sh
index f66b081955e2..4326d07d75cc 100644
--- a/common/build-style/gnu-configure.sh
+++ b/common/build-style/gnu-configure.sh
@@ -30,7 +30,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/gnu-makefile.sh b/common/build-style/gnu-makefile.sh
index 2492749bd84a..04e407af255c 100644
--- a/common/build-style/gnu-makefile.sh
+++ b/common/build-style/gnu-makefile.sh
@@ -30,7 +30,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/perl-module.sh b/common/build-style/perl-module.sh
index 9126091cb2cf..2945787ffbe1 100644
--- a/common/build-style/perl-module.sh
+++ b/common/build-style/perl-module.sh
@@ -79,7 +79,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=test}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {

From 85553bb214eda6197038a6389d9e21c3ec7fe463 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 10 Jun 2022 15:27:34 -0400
Subject: [PATCH 3/3] Manual.md: document disable_parallel_check

---
 Manual.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Manual.md b/Manual.md
index 8afe781f0ec1..c79924e3c730 100644
--- a/Manual.md
+++ b/Manual.md
@@ -613,6 +613,11 @@ and `XBPS_MAKEJOBS` will be set to 1. If a package does not work well with `XBPS
 but still has a mechanism to build in parallel, set `disable_parallel_build` and
 use `XBPS_ORIG_MAKEJOBS` (which holds the original value of `XBPS_MAKEJOBS`) in the template.
 
+- `disable_parallel_check` If set tests for the package won't be built and run in parallel
+and `XBPS_MAKEJOBS` will be set to 1. If a package does not work well with `XBPS_MAKEJOBS`
+but still has a mechanism to build in parallel, set `disable_parallel_check` and
+use `XBPS_ORIG_MAKEJOBS` (which holds the original value of `XBPS_MAKEJOBS`) in the template.
+
 - `make_check` Sets the cases in which the `check` phase is run.
 This option has to be accompanied by a comment explaining why the tests fail.
 Allowed values:

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Updated] enable running tests in parallel
  2022-06-10 21:15 [PR PATCH] enable running tests in parallel classabbyamp
@ 2022-06-14  0:49 ` classabbyamp
  2022-06-14  1:00 ` classabbyamp
  2022-06-24  4:08 ` [PR PATCH] [Merged]: " the-maldridge
  2 siblings, 0 replies; 4+ messages in thread
From: classabbyamp @ 2022-06-14  0:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1281 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages common/parallel-check
https://github.com/void-linux/void-packages/pull/37496

enable running tests in parallel
- common: add disable_parallel_check
- common/build-style: make do_check run in parallel unless disabled
- Manual.md: document disable_parallel_check

Redux of #31811, incorporating some of the outstanding feedback when it was stale-closed.

Adds `-j$XBPS_MAKEJOBS` to do_check in several build-styles, with the option to disable it if it causes issues.

I did *not* change the `python3-{modules,pep517}` build-styles to opt-out of parallel checks, because they require a 3rd-party library to do it (and it only works with pytest tests). If a python3 package has tests that require `python3-pytest-xdist` to run, but have issues with parallel tests, parallel behaviour can still be disabled by `disable_parallel_check` (which would set the xdist equivalent of `-j1`).

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**



A patch file from https://github.com/void-linux/void-packages/pull/37496.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-common/parallel-check-37496.patch --]
[-- Type: text/x-diff, Size: 5786 bytes --]

From ca50f093af0c2a330fab63139ff94f7e500c4532 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 10 Jun 2022 14:16:48 -0400
Subject: [PATCH 1/3] common: add disable_parallel_check

---
 common/environment/setup/sourcepkg.sh       | 3 ++-
 common/xbps-src/libexec/xbps-src-docheck.sh | 8 ++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/common/environment/setup/sourcepkg.sh b/common/environment/setup/sourcepkg.sh
index 3a9bcdacb872..1191993c9abc 100644
--- a/common/environment/setup/sourcepkg.sh
+++ b/common/environment/setup/sourcepkg.sh
@@ -13,7 +13,8 @@ unset -v cmake_builddir meson_builddir
 unset -v meson_crossfile
 unset -v gemspec
 unset -v go_import_path go_package go_mod_mode
-unset -v patch_args disable_parallel_build keep_libtool_archives make_use_env
+unset -v patch_args disable_parallel_build disable_parallel_check
+unset -v keep_libtool_archives make_use_env
 unset -v reverts subpackages makedepends hostmakedepends checkdepends depends restricted
 unset -v nopie build_options build_options_default bootstrap repository reverts
 unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH
diff --git a/common/xbps-src/libexec/xbps-src-docheck.sh b/common/xbps-src/libexec/xbps-src-docheck.sh
index 1e82c1a3739f..d485d5c5a48d 100755
--- a/common/xbps-src/libexec/xbps-src-docheck.sh
+++ b/common/xbps-src/libexec/xbps-src-docheck.sh
@@ -20,6 +20,14 @@ done
 
 setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD
 
+if [ -n "$disable_parallel_check" ]; then
+    XBPS_MAKEJOBS=1
+    makejobs="-j1"
+else
+    XBPS_MAKEJOBS="$XBPS_ORIG_MAKEJOBS"
+    makejobs="-j$XBPS_ORIG_MAKEJOBS"
+fi
+
 XBPS_CHECK_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_check_done"
 
 if [ -n "$XBPS_CROSS_BUILD" ]; then

From 5cd454c5a4987ab77e7fd8d98f9f0fd54f782e43 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 10 Jun 2022 15:04:57 -0400
Subject: [PATCH 2/3] common/build-style: make do_check run in parallel unless
 disabled

---
 common/build-style/cmake.sh         | 2 +-
 common/build-style/configure.sh     | 2 +-
 common/build-style/gnu-configure.sh | 2 +-
 common/build-style/gnu-makefile.sh  | 2 +-
 common/build-style/perl-module.sh   | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/build-style/cmake.sh b/common/build-style/cmake.sh
index 7d1d675c3aba..711fcea6273d 100644
--- a/common/build-style/cmake.sh
+++ b/common/build-style/cmake.sh
@@ -116,7 +116,7 @@ do_check() {
 
 	: ${make_check_target:=test}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/configure.sh b/common/build-style/configure.sh
index 6f2c94ace694..7a6d136f4cc6 100644
--- a/common/build-style/configure.sh
+++ b/common/build-style/configure.sh
@@ -29,7 +29,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/gnu-configure.sh b/common/build-style/gnu-configure.sh
index f66b081955e2..4326d07d75cc 100644
--- a/common/build-style/gnu-configure.sh
+++ b/common/build-style/gnu-configure.sh
@@ -30,7 +30,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/gnu-makefile.sh b/common/build-style/gnu-makefile.sh
index 2492749bd84a..04e407af255c 100644
--- a/common/build-style/gnu-makefile.sh
+++ b/common/build-style/gnu-makefile.sh
@@ -30,7 +30,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/perl-module.sh b/common/build-style/perl-module.sh
index 9126091cb2cf..2945787ffbe1 100644
--- a/common/build-style/perl-module.sh
+++ b/common/build-style/perl-module.sh
@@ -79,7 +79,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=test}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {

From 517f293271a01956c4716683cc349221170f9f41 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 10 Jun 2022 15:27:34 -0400
Subject: [PATCH 3/3] Manual.md: document disable_parallel_check

---
 Manual.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Manual.md b/Manual.md
index 8afe781f0ec1..26e3b9f43413 100644
--- a/Manual.md
+++ b/Manual.md
@@ -613,6 +613,11 @@ and `XBPS_MAKEJOBS` will be set to 1. If a package does not work well with `XBPS
 but still has a mechanism to build in parallel, set `disable_parallel_build` and
 use `XBPS_ORIG_MAKEJOBS` (which holds the original value of `XBPS_MAKEJOBS`) in the template.
 
+- `disable_parallel_check` If set tests for the package won't be built and run in parallel
+and `XBPS_MAKEJOBS` will be set to 1. If a package does not work well with `XBPS_MAKEJOBS`
+but still has a mechanism to run checks in parallel, set `disable_parallel_check` and
+use `XBPS_ORIG_MAKEJOBS` (which holds the original value of `XBPS_MAKEJOBS`) in the template.
+
 - `make_check` Sets the cases in which the `check` phase is run.
 This option has to be accompanied by a comment explaining why the tests fail.
 Allowed values:

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Updated] enable running tests in parallel
  2022-06-10 21:15 [PR PATCH] enable running tests in parallel classabbyamp
  2022-06-14  0:49 ` [PR PATCH] [Updated] " classabbyamp
@ 2022-06-14  1:00 ` classabbyamp
  2022-06-24  4:08 ` [PR PATCH] [Merged]: " the-maldridge
  2 siblings, 0 replies; 4+ messages in thread
From: classabbyamp @ 2022-06-14  1:00 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1281 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages common/parallel-check
https://github.com/void-linux/void-packages/pull/37496

enable running tests in parallel
- common: add disable_parallel_check
- common/build-style: make do_check run in parallel unless disabled
- Manual.md: document disable_parallel_check

Redux of #31811, incorporating some of the outstanding feedback when it was stale-closed.

Adds `-j$XBPS_MAKEJOBS` to do_check in several build-styles, with the option to disable it if it causes issues.

I did *not* change the `python3-{modules,pep517}` build-styles to opt-out of parallel checks, because they require a 3rd-party library to do it (and it only works with pytest tests). If a python3 package has tests that require `python3-pytest-xdist` to run, but have issues with parallel tests, parallel behaviour can still be disabled by `disable_parallel_check` (which would set the xdist equivalent of `-j1`).

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**



A patch file from https://github.com/void-linux/void-packages/pull/37496.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-common/parallel-check-37496.patch --]
[-- Type: text/x-diff, Size: 5755 bytes --]

From 4b94cdad8395f95bab33627676bf1be41b40557b Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 10 Jun 2022 14:16:48 -0400
Subject: [PATCH 1/3] common: add disable_parallel_check

---
 common/environment/setup/sourcepkg.sh       | 3 ++-
 common/xbps-src/libexec/xbps-src-docheck.sh | 7 +++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/common/environment/setup/sourcepkg.sh b/common/environment/setup/sourcepkg.sh
index 3a9bcdacb872..1191993c9abc 100644
--- a/common/environment/setup/sourcepkg.sh
+++ b/common/environment/setup/sourcepkg.sh
@@ -13,7 +13,8 @@ unset -v cmake_builddir meson_builddir
 unset -v meson_crossfile
 unset -v gemspec
 unset -v go_import_path go_package go_mod_mode
-unset -v patch_args disable_parallel_build keep_libtool_archives make_use_env
+unset -v patch_args disable_parallel_build disable_parallel_check
+unset -v keep_libtool_archives make_use_env
 unset -v reverts subpackages makedepends hostmakedepends checkdepends depends restricted
 unset -v nopie build_options build_options_default bootstrap repository reverts
 unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH
diff --git a/common/xbps-src/libexec/xbps-src-docheck.sh b/common/xbps-src/libexec/xbps-src-docheck.sh
index 1e82c1a3739f..cac0d48f774e 100755
--- a/common/xbps-src/libexec/xbps-src-docheck.sh
+++ b/common/xbps-src/libexec/xbps-src-docheck.sh
@@ -20,6 +20,13 @@ done
 
 setup_pkg "$PKGNAME" $XBPS_CROSS_BUILD
 
+if [ -n "$disable_parallel_check" ]; then
+    XBPS_MAKEJOBS=1
+else
+    XBPS_MAKEJOBS="$XBPS_ORIG_MAKEJOBS"
+fi
+makejobs="-j$XBPS_MAKEJOBS"
+
 XBPS_CHECK_DONE="${XBPS_STATEDIR}/${sourcepkg}_${XBPS_CROSS_BUILD}_check_done"
 
 if [ -n "$XBPS_CROSS_BUILD" ]; then

From 42fd3e1bb076b6a8158ecad2d169461516250aa4 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 10 Jun 2022 15:04:57 -0400
Subject: [PATCH 2/3] common/build-style: make do_check run in parallel unless
 disabled

---
 common/build-style/cmake.sh         | 2 +-
 common/build-style/configure.sh     | 2 +-
 common/build-style/gnu-configure.sh | 2 +-
 common/build-style/gnu-makefile.sh  | 2 +-
 common/build-style/perl-module.sh   | 2 +-
 5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/common/build-style/cmake.sh b/common/build-style/cmake.sh
index 7d1d675c3aba..711fcea6273d 100644
--- a/common/build-style/cmake.sh
+++ b/common/build-style/cmake.sh
@@ -116,7 +116,7 @@ do_check() {
 
 	: ${make_check_target:=test}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/configure.sh b/common/build-style/configure.sh
index 6f2c94ace694..7a6d136f4cc6 100644
--- a/common/build-style/configure.sh
+++ b/common/build-style/configure.sh
@@ -29,7 +29,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/gnu-configure.sh b/common/build-style/gnu-configure.sh
index f66b081955e2..4326d07d75cc 100644
--- a/common/build-style/gnu-configure.sh
+++ b/common/build-style/gnu-configure.sh
@@ -30,7 +30,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/gnu-makefile.sh b/common/build-style/gnu-makefile.sh
index 2492749bd84a..04e407af255c 100644
--- a/common/build-style/gnu-makefile.sh
+++ b/common/build-style/gnu-makefile.sh
@@ -30,7 +30,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=check}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {
diff --git a/common/build-style/perl-module.sh b/common/build-style/perl-module.sh
index 9126091cb2cf..2945787ffbe1 100644
--- a/common/build-style/perl-module.sh
+++ b/common/build-style/perl-module.sh
@@ -79,7 +79,7 @@ do_check() {
 	: ${make_cmd:=make}
 	: ${make_check_target:=test}
 
-	${make_check_pre} ${make_cmd} ${make_check_args} ${make_check_target}
+	${make_check_pre} ${make_cmd} ${makejobs} ${make_check_args} ${make_check_target}
 }
 
 do_install() {

From 132a9387b06a8d296f9572d82dbb27cd2c917493 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Fri, 10 Jun 2022 15:27:34 -0400
Subject: [PATCH 3/3] Manual.md: document disable_parallel_check

---
 Manual.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Manual.md b/Manual.md
index 8afe781f0ec1..26e3b9f43413 100644
--- a/Manual.md
+++ b/Manual.md
@@ -613,6 +613,11 @@ and `XBPS_MAKEJOBS` will be set to 1. If a package does not work well with `XBPS
 but still has a mechanism to build in parallel, set `disable_parallel_build` and
 use `XBPS_ORIG_MAKEJOBS` (which holds the original value of `XBPS_MAKEJOBS`) in the template.
 
+- `disable_parallel_check` If set tests for the package won't be built and run in parallel
+and `XBPS_MAKEJOBS` will be set to 1. If a package does not work well with `XBPS_MAKEJOBS`
+but still has a mechanism to run checks in parallel, set `disable_parallel_check` and
+use `XBPS_ORIG_MAKEJOBS` (which holds the original value of `XBPS_MAKEJOBS`) in the template.
+
 - `make_check` Sets the cases in which the `check` phase is run.
 This option has to be accompanied by a comment explaining why the tests fail.
 Allowed values:

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Merged]: enable running tests in parallel
  2022-06-10 21:15 [PR PATCH] enable running tests in parallel classabbyamp
  2022-06-14  0:49 ` [PR PATCH] [Updated] " classabbyamp
  2022-06-14  1:00 ` classabbyamp
@ 2022-06-24  4:08 ` the-maldridge
  2 siblings, 0 replies; 4+ messages in thread
From: the-maldridge @ 2022-06-24  4:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1101 bytes --]

There's a merged pull request on the void-packages repository

enable running tests in parallel
https://github.com/void-linux/void-packages/pull/37496

Description:
- common: add disable_parallel_check
- common/build-style: make do_check run in parallel unless disabled
- Manual.md: document disable_parallel_check

Redux of #31811, incorporating some of the outstanding feedback when it was stale-closed.

Adds `-j$XBPS_MAKEJOBS` to do_check in several build-styles, with the option to disable it if it causes issues.

I did *not* change the `python3-{modules,pep517}` build-styles to opt-out of parallel checks, because they require a 3rd-party library to do it (and it only works with pytest tests). If a python3 package has tests that require `python3-pytest-xdist` to run, but have issues with parallel tests, parallel behaviour can still be disabled by `disable_parallel_check` (which would set the xdist equivalent of `-j1`).

<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **YES**



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-06-24  4:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-10 21:15 [PR PATCH] enable running tests in parallel classabbyamp
2022-06-14  0:49 ` [PR PATCH] [Updated] " classabbyamp
2022-06-14  1:00 ` classabbyamp
2022-06-24  4:08 ` [PR PATCH] [Merged]: " the-maldridge

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).