From a6a79b8ef1be4307c17d697ce2a5e1bb32b8694d Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 23 Sep 2014 12:44:02 -0400 Subject: [PATCH] test cloning post-build hooks --- spec/build_tests_spec.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/spec/build_tests_spec.rb b/spec/build_tests_spec.rb index 04171ff..b8ddacd 100644 --- a/spec/build_tests_spec.rb +++ b/spec/build_tests_spec.rb @@ -360,12 +360,16 @@ EOF it 'allows cloning all attributes of an Environment object' do test_dir('clone_env') + built_targets = [] env1 = Rscons::Environment.new(echo: :command) do |env| env.build_dir('src', 'build') env['CFLAGS'] = '-O2' env.add_build_hook do |build_op| build_op[:vars]['CPPFLAGS'] = '-DSTRING="Hello"' end + env.add_post_build_hook do |build_op| + built_targets << build_op[:target] + end env.Program('program', Dir['src/*.c']) end @@ -378,6 +382,12 @@ EOF %Q{gcc -o program#{env1["PROGSUFFIX"]} build/program.o}, %Q{gcc -o program2#{env2["PROGSUFFIX"]} build/program.o}, ] + expect(built_targets).to eq([ + "build/program.o", + "program#{env1['PROGSUFFIX']}", + "build/program.o", + "program2#{env1['PROGSUFFIX']}", + ]) end it 'builds a C++ program with one source file' do