From bfdf462b0b4d6d12aa906f3a6f8ba1372e77e26e Mon Sep 17 00:00:00 2001 From: Jeremy Evans Date: Fri, 12 Jun 2020 08:52:41 -0700 Subject: [PATCH] Fix tests to work with current FileUtils Historically, FileUtils logged verbose output to stderr instead of stdout. This was fixed in FileUtils to log verbose output to stdout (since it isn't an error). This commit adjusts the tests to handle both FileUtils versions. --- test/test_rake_clean.rb | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/test/test_rake_clean.rb b/test/test_rake_clean.rb index dffab932d..654b95258 100644 --- a/test/test_rake_clean.rb +++ b/test/test_rake_clean.rb @@ -40,11 +40,20 @@ def test_cleanup_ignores_missing_files def test_cleanup_trace file_name = create_file - assert_output "", "rm -r #{file_name}\n" do + out, err = capture_io do with_trace true do Rake::Cleaner.cleanup(file_name) end end + + if err == "" + # Current FileUtils + assert_equal "rm -r #{file_name}\n", out + else + # Old FileUtils + assert_equal "", out + assert_equal "rm -r #{file_name}\n", err + end end def test_cleanup_without_trace @@ -70,11 +79,18 @@ def test_cleanup_opt_overrides_trace_silent def test_cleanup_opt_overrides_trace_verbose file_name = create_file - assert_output "", "rm -r #{file_name}\n" do + out, err = capture_io do with_trace false do Rake::Cleaner.cleanup(file_name, verbose: true) end end + + if err == "" + assert_equal "rm -r #{file_name}\n", out + else + assert_equal "", out + assert_equal "rm -r #{file_name}\n", err + end end private