add build test for a builder waiting on another builder
This commit is contained in:
parent
b882f8de99
commit
658b73e4de
23
build_tests/simple/builder_wait_for_builder.rb
Normal file
23
build_tests/simple/builder_wait_for_builder.rb
Normal file
@ -0,0 +1,23 @@
|
||||
class MyObject < Rscons::Builder
|
||||
def run(options)
|
||||
if @builder
|
||||
if File.exists?(@target)
|
||||
true
|
||||
else
|
||||
false
|
||||
end
|
||||
else
|
||||
@env.print_builder_run_message("#{name} #{@target}", nil)
|
||||
@builder = @env.Object(@target, @sources, @vars)
|
||||
wait_for(@builder)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
build do
|
||||
Environment.new do |env|
|
||||
env.add_builder(MyObject)
|
||||
env.MyObject("simple.o", "simple.c")
|
||||
env.Program("simple.exe", "simple.o")
|
||||
end
|
||||
end
|
@ -350,6 +350,16 @@ EOF
|
||||
expect(File.exists?("foo")).to be_truthy
|
||||
end
|
||||
|
||||
it 'supports a Builder waiting for another Builder' do
|
||||
test_dir "simple"
|
||||
result = run_rscons(rsconscript: "builder_wait_for_builder.rb")
|
||||
expect(result.stderr).to eq ""
|
||||
expect(result.status).to eq 0
|
||||
expect(lines(result.stdout)).to include "MyObject simple.o"
|
||||
expect(File.exists?("simple.o")).to be_truthy
|
||||
expect(File.exists?("simple.exe")).to be_truthy
|
||||
end
|
||||
|
||||
it 'allows cloning Environment objects' do
|
||||
test_dir('clone_env')
|
||||
result = run_rscons
|
||||
|
Loading…
x
Reference in New Issue
Block a user