summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2019-01-04 11:39:05 -0800
committerGitHub <noreply@github.com>2019-01-04 11:39:05 -0800
commitfe76d3f25f20761da5719ffbf7545f07a22ba9bc (patch)
tree86001371cdf409331c1745a07fd8f9995864ad76
parent0baaae0844983c399f16466b7e136600d6bf7ff3 (diff)
parent07413be043aaacd977b25811a8bc0e5645941fad (diff)
downloadmixlib-cli-fe76d3f25f20761da5719ffbf7545f07a22ba9bc.tar.gz
Merge pull request #54 from chef/lcg/spec-testing-globals-always-ends-in-tears
fix global state pollution issues across examples
-rw-r--r--spec/mixlib/cli_spec.rb2
-rw-r--r--spec/spec_helper.rb12
2 files changed, 9 insertions, 5 deletions
diff --git a/spec/mixlib/cli_spec.rb b/spec/mixlib/cli_spec.rb
index ed890b5..aa08744 100644
--- a/spec/mixlib/cli_spec.rb
+++ b/spec/mixlib/cli_spec.rb
@@ -1,6 +1,6 @@
#
# Author:: Adam Jacob (<adam@chef.io>)
-# Copyright:: Copyright (c) 2008-2016 Chef Software, Inc.
+# Copyright:: Copyright (c) 2008-2019, Chef Software Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 6f3d7e2..ffbde8a 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -3,10 +3,6 @@ $:.push File.join(File.dirname(__FILE__), "..", "lib")
require "mixlib/cli"
-class TestCLI
- include Mixlib::CLI
-end
-
RSpec.configure do |config|
# Use documentation format
config.formatter = "doc"
@@ -23,4 +19,12 @@ RSpec.configure do |config|
config.filter_run focus: true
config.run_all_when_everything_filtered = true
config.warnings = true
+
+ config.before(:each) do
+ # create a fresh TestCLI class on every example, so that examples never
+ # pollute global variables and create ordering issues
+ Object.send(:remove_const, "TestCLI") if Object.const_defined?("TestCLI")
+ TestCLI = Class.new
+ TestCLI.send(:include, Mixlib::CLI)
+ end
end