require "selftest_utils" class CMDTEST_exit_nonzero < Cmdtest::Testcase include SelftestUtils #---------------------------------------- # 'exit_nonzero' expects the command to exit # with a non-zero exit status def test_exit_nonzero_CORRECT create_CMDTEST_foo [ "cmd 'false.rb' do", " exit_nonzero", "end", ] cmd_cmdtest do stdout_equal [ "### false.rb", ] end end #---------------------------------------- # 'exit_nonzero' works for other non-zero # exit statuses than 1 too def test_exit_nonzero_CORRECT_18 create_CMDTEST_foo [ "cmd 'exit.rb 18' do", " exit_nonzero", "end", ] cmd_cmdtest do stdout_equal [ "### exit.rb 18", ] end end #---------------------------------------- # 'exit_nonzero' gives an error if the exit status is 0 def test_exit_nonzero_INCORRECT create_CMDTEST_foo [ "cmd 'true.rb' do", " exit_nonzero", "end", ] cmd_cmdtest do stdout_equal [ "### true.rb", "--- ERROR: expected nonzero exit status", ] exit_nonzero end end end