diff --git a/build_tests/simple/clean.rb b/build_tests/simple/clean.rb new file mode 100644 index 0000000..eb416cf --- /dev/null +++ b/build_tests/simple/clean.rb @@ -0,0 +1,7 @@ +env do |env| + env.Program('simple.exe', Dir['*.c']) +end + +clean do + puts "custom clean action" +end diff --git a/spec/build_tests_spec.rb b/spec/build_tests_spec.rb index e4891ce..df2c15a 100644 --- a/spec/build_tests_spec.rb +++ b/spec/build_tests_spec.rb @@ -372,6 +372,17 @@ EOF expect(File.exists?('simple.c')).to be_truthy end + it "executes custom clean action blocks" do + test_dir("simple") + result = run_rscons(args: %w[-f clean.rb]) + expect(result.stderr).to eq "" + expect(File.exists?("build/e.1/simple.c.o")).to be_truthy + result = run_rscons(args: %w[-f clean.rb clean]) + expect(result.stderr).to eq "" + expect(result.stdout).to match %r{custom clean action} + expect(File.exists?("build/e.1/simple.c.o")).to be_falsey + end + it "does not process environments" do test_dir("simple") result = run_rscons(args: %w[clean])