diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-04-05 01:36:21 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-04-05 01:36:21 +0000 |
commit | 18f4cf13b5dbdd3c72067b3717763646bd61b5ce (patch) | |
tree | 33979a77000debf0e5676137d7490df84c407052 /spec | |
parent | 733f6496e470a51e07e6163645f7e949a636454f (diff) | |
download | ruby-18f4cf13b5dbdd3c72067b3717763646bd61b5ce.tar.gz |
default.mspec: job server
* spec/default.mspec: override MSpecScript#cores by the tokens
from the parent make job server.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec')
-rw-r--r-- | spec/default.mspec | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/default.mspec b/spec/default.mspec index 4f2c062386..082d432c7f 100644 --- a/spec/default.mspec +++ b/spec/default.mspec @@ -24,3 +24,28 @@ class MSpecScript -- ] end + +class MSpecScript + if /(?:\A|\s)--jobserver-(?:auth|fds)=(\d+),(\d+)/ =~ ENV["MAKEFLAGS"] + begin + r = IO.for_fd($1.to_i(10), "rb", autoclose: false) + w = IO.for_fd($2.to_i(10), "wb", autoclose: false) + rescue + r.close if r + else + jobtokens = r.read_nonblock(1024) + cores = jobtokens.size + if cores > 0 + jobserver = w + at_exit { + jobserver.print(jobtokens) + jobserver.close + } + end + remove_method :cores + define_method(:cores) do + cores + end + end + end +end |