#!/usr/bin/env ruby require_relative './mock-helper' require_relative '../../processor/command/kill' class TestCommandKill < Test::Unit::TestCase include MockUnitHelper def setup @name = File.basename(__FILE__, '.rb').split(/-/)[2] common_setup(@name) def @cmd.msg(message) @msgs << message end def @cmd.errmsg(message) @errmsgs << message end reset_cmdproc_vars end def reset_cmdproc_vars @cmd.instance_variable_set('@msgs', []) @cmd.instance_variable_set('@errmsgs', []) @cmd.proc.leave_cmd_loop = false end def test_kill_command assert_equal(['unconditionally'], @cmd.complete('uncon')) if Signal.list.member?('HUP') assert_equal(['hup'], @cmd.complete('hu')) assert_equal(['HUP'], @cmd.complete('HU')) end @cmd.run([@name, 'foo']) assert_equal(false, @cmd.proc.leave_cmd_loop) assert_equal(1, @cmd.instance_variable_get('@errmsgs').size) if false save_trap = Signal.trap(10) { @success = true } @success = false @cmd.run([@name, '10']) # assert_equal(true, @success, # 'Should have run the handler') end ensure # restore old trap if any trap(10, save_trap) end end