summaryrefslogtreecommitdiff
path: root/tests/publish.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/publish.scm')
-rw-r--r--tests/publish.scm14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/publish.scm b/tests/publish.scm
index d5ec3c954f..3c80c50d51 100644
--- a/tests/publish.scm
+++ b/tests/publish.scm
@@ -96,6 +96,20 @@
(lambda ()
exp ...)))))
+;; guix-publish uses (current-processor-count) as the default number of
+;; workers, however on a system with a large number of cores, that large
+;; number of worker threads being used in the course of these tests can end up
+;; hitting resource limits and causing spurious test failures.
+;;
+;; This will depend on what resource limits are in use, but 64 seems low
+;; enough to be able to run the tests without problems.
+(let ((max-processors 64))
+ (when (> (current-processor-count)
+ max-processors)
+ (setaffinity
+ (getpid)
+ (make-bitvector max-processors #t))))
+
;; Run a local publishing server in a separate thread.
(with-separate-output-ports
(call-with-new-thread