mirror of
https://github.com/inspec/inspec
synced 2024-12-21 02:23:13 +00:00
a1129f9efc
In https://github.com/inspec/inspec/issues/4936 the issue was reported that naming an input the same as a control caused an unexpected failure. In that particular case, the naming was a result of a pre-waivers workaround which is no longer necessary, but ultimately a breakage of that name clash is an unexpected occurrance. Due to how inputs are named and registered, `__apply_waivers` thinks that an object is a waiver that is not a waiver and tries to process it. On the micro level, it breaks when trying to pass a variable to a string as if it were a Hash. It is imperative that we preserve 100% of the current featureset, pass our tests, and fix this edge case along with new test coverage for the failure. This PR updates the code to do a slightly more elegant and small ‘waiver check’ to stop the namespace clash from breaking our code. Signed-off-by: Nick Schwaderer <nschwaderer@chef.io>
7 lines
239 B
Ruby
7 lines
239 B
Ruby
# This fixture tests for a regression found here: https://github.com/inspec/inspec/issues/4936
|
|
control '01_my_control' do
|
|
only_if { input('01_my_control', value: 'false') == 'false' }
|
|
describe true do
|
|
it { should eq true }
|
|
end
|
|
end
|