From b068fe7574abe465aa1d4d6776c02d46b01c691d Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 28 Feb 2022 11:59:17 -0500 Subject: [PATCH] Test that custom clean task action blocks are execution --- build_tests/simple/clean.rb | 7 +++++++ spec/build_tests_spec.rb | 11 +++++++++++ 2 files changed, 18 insertions(+) create mode 100644 build_tests/simple/clean.rb 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])