module Mixlib::ShellOut::Helper

def shell_out_compacted(*args, **options)


that the default_env implementation can change without breaking unit tests.
:shell_out_compacted for `default_env: false`, rather than the expanded env settings so
Note that when setting `default_env: false` that you should just setup an expectation on

provider.shell_out!(["foo", nil, "bar" ], ["baz"])
provider.shell_out!("foo", [ "bar", nil, "baz"])

Is met by many different possible calling conventions that mean the same thing:

allow(provider).to receive(:shell_out_compacted!).with("foo", "bar", "baz")

This expectation:

for less brittle rspec tests.
in rspec tests. They should always be used in rspec tests instead of shell_out to allow
The shell_out_compacted/shell_out_compacted! APIs are private but are intended for use
def shell_out_compacted(*args, **options)
  options = __apply_default_env(options)
  if options.empty?
    __shell_out_command(*args)
  else
    __shell_out_command(*args, **options)
  end
end