rscons/build_tests/simple/threading.rb
Josh Holtrop b882f8de99 Rework builder interface to only use #run method - close #91
The builder's #run method will be called repeatedly until it returns
true or false. The Builder#wait_for method can be used to cause a
builder to wait for a Thread, Command, or another Builder.
2019-02-17 22:08:39 -05:00

30 lines
638 B
Ruby

class ThreadedTestBuilder < Rscons::Builder
def run(options)
if @command
true
else
@command = ["ruby", "-e", %[sleep 1]]
register_command("ThreadedTestBuilder #{@target}", @command)
end
end
end
class NonThreadedTestBuilder < Rscons::Builder
def run(options)
puts "NonThreadedTestBuilder #{@target}"
sleep 1
true
end
end
build do
Environment.new do |env|
env.add_builder(ThreadedTestBuilder)
env.add_builder(NonThreadedTestBuilder)
env.ThreadedTestBuilder("a")
env.ThreadedTestBuilder("b")
env.ThreadedTestBuilder("c")
env.NonThreadedTestBuilder("d")
end
end