From 4164f46928b6d5ab2a4faa0bd232e714d65d7ee6 Mon Sep 17 00:00:00 2001 From: Gareth Jones Date: Fri, 18 Aug 2023 09:58:25 +1200 Subject: [PATCH] test: make it a bit easier to debug package manager cases --- spec/package_json/managers/npm_like_spec.rb | 7 +------ spec/package_json/managers/pnpm_like_spec.rb | 7 +------ spec/package_json/managers/yarn_classic_like_spec.rb | 7 +------ spec/support/expect_helpers.rb | 11 +++++++++++ 4 files changed, 14 insertions(+), 18 deletions(-) diff --git a/spec/package_json/managers/npm_like_spec.rb b/spec/package_json/managers/npm_like_spec.rb index d5e9da0..2782eb4 100644 --- a/spec/package_json/managers/npm_like_spec.rb +++ b/spec/package_json/managers/npm_like_spec.rb @@ -10,12 +10,7 @@ around { |example| within_temp_directory { example.run } } - before do - allow(Kernel).to receive(:system).and_wrap_original do |original_method, *args| - # make things quieter by redirecting output to /dev/null - original_method.call(*args, 1 => File::NULL, 2 => File::NULL) - end - end + before { allow_kernel_to_receive_system } describe "#install" do it "runs and returns true" do diff --git a/spec/package_json/managers/pnpm_like_spec.rb b/spec/package_json/managers/pnpm_like_spec.rb index c34e940..3e87b9f 100644 --- a/spec/package_json/managers/pnpm_like_spec.rb +++ b/spec/package_json/managers/pnpm_like_spec.rb @@ -10,12 +10,7 @@ around { |example| within_temp_directory { example.run } } - before do - allow(Kernel).to receive(:system).and_wrap_original do |original_method, *args| - # make things quieter by redirecting output to /dev/null - original_method.call(*args, 1 => File::NULL, 2 => File::NULL) - end - end + before { allow_kernel_to_receive_system } describe "#install" do it "runs and returns true" do diff --git a/spec/package_json/managers/yarn_classic_like_spec.rb b/spec/package_json/managers/yarn_classic_like_spec.rb index 6adab9c..5a8e923 100644 --- a/spec/package_json/managers/yarn_classic_like_spec.rb +++ b/spec/package_json/managers/yarn_classic_like_spec.rb @@ -10,12 +10,7 @@ around { |example| within_temp_directory { example.run } } - before do - allow(Kernel).to receive(:system).and_wrap_original do |original_method, *args| - # make things quieter by redirecting output to /dev/null - original_method.call(*args, 1 => File::NULL, 2 => File::NULL) - end - end + before { allow_kernel_to_receive_system } describe "#install" do it "runs and returns true" do diff --git a/spec/support/expect_helpers.rb b/spec/support/expect_helpers.rb index 1b0c0ea..23c3fdf 100644 --- a/spec/support/expect_helpers.rb +++ b/spec/support/expect_helpers.rb @@ -1,5 +1,16 @@ require "json" +def allow_kernel_to_receive_system + allow(Kernel).to receive(:system).and_wrap_original do |original_method, *args| + if ENV.fetch("PACKAGE_JSON_DEBUG", "false").downcase == "true" + original_method.call(*args) + else + # make things quieter by redirecting output to /dev/null + original_method.call(*args, 1 => File::NULL, 2 => File::NULL) + end + end +end + def expect_package_json_with_content(content) expect(File.exist?("package.json")).to be(true)