]> git.sur5r.net Git - i3/i3/blobdiff - testcases/lib/StartXDummy.pm
Merge branch 'master' into next
[i3/i3] / testcases / lib / StartXDummy.pm
index 2f3cfeb654df49d5bbac39d8e40d853b71e497e1..d9d2fd129cc6a1e99620291222f44d4b8af02570 100644 (file)
@@ -27,7 +27,7 @@ the Xdummy processes and a list of PIDs of the processes.
 my $x_socketpath = '/tmp/.X11-unix/X';
 
 sub start_xdummy {
-    my ($parallel) = @_;
+    my ($parallel, $numtests) = @_;
 
     my @displays = ();
     my @childpids = ();
@@ -41,6 +41,9 @@ sub start_xdummy {
 
     $parallel ||= $num_cores * 2;
 
+    # If we are running a small number of tests, don’t over-parallelize.
+    $parallel = $numtests if $numtests < $parallel;
+
     # First get the last used display number, then increment it by one.
     # Effectively falls back to 1 if no X server is running.
     my ($displaynum) = map { /(\d+)$/ } reverse sort glob($x_socketpath . '*');
@@ -65,7 +68,7 @@ sub start_xdummy {
             exec './Xdummy', ":$displaynum", '-config', '/dev/null';
             exit 1;
         }
-        push(@main::CLEANUP, sub { kill(15, $pid) });
+        push(@complete_run::CLEANUP, sub { kill(15, $pid) });
         push(@displays, ":$displaynum");
         push(@sockets_waiting, $x_socketpath . $displaynum);
         $displaynum++;