diff options
author | Matt Wrock <matt@mattwrock.com> | 2015-09-24 17:23:38 -0700 |
---|---|---|
committer | Matt Wrock <matt@mattwrock.com> | 2015-09-24 17:23:38 -0700 |
commit | 15af762bfdbac0c8dd345698b34ea4c2fe93dedc (patch) | |
tree | a09293a7a65ee3c1f3e1b802b7c799aa4855fab0 /spec | |
parent | 4ea4442d8a6d761eb630b58bce222164de320f4d (diff) | |
download | mixlib-shellout-15af762bfdbac0c8dd345698b34ea4c2fe93dedc.tar.gz |
kill all windows child processes when the command times out
Diffstat (limited to 'spec')
-rw-r--r-- | spec/mixlib/shellout_spec.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/spec/mixlib/shellout_spec.rb b/spec/mixlib/shellout_spec.rb index 2acdc3b..6b57619 100644 --- a/spec/mixlib/shellout_spec.rb +++ b/spec/mixlib/shellout_spec.rb @@ -1116,11 +1116,24 @@ describe Mixlib::ShellOut do 'powershell -c "sleep 10"' end + before do + require "wmi-lite/wmi" + allow(WmiLite::Wmi).to receive(:new) + allow(Mixlib::ShellOut::Windows::Utils).to receive(:kill_process_tree) + end + it "should raise CommandTimeout" do Timeout::timeout(5) do expect { executed_cmd }.to raise_error(Mixlib::ShellOut::CommandTimeout) end end + + context 'and child processes should be killed' do + it 'kills the child processes' do + expect(Mixlib::ShellOut::Windows::Utils).to receive(:kill_process_tree) + expect { executed_cmd }.to raise_error(Mixlib::ShellOut::CommandTimeout) + end + end end context 'on unix', :unix_only do |