Files
bin
doc
examples
files
lib
python
src
t
bin
00-assert.rb
00-exit_nonzero.rb
00-exit_status.rb
00-exit_zero.rb
00-file_equal.rb
00-file_not_equal.rb
00-ignore_file.rb
00-import_file.rb
00-stderr_equal.rb
00-stderr_not_equal.rb
00-stdout_equal.rb
00-stdout_not_equal.rb
01-cmd.rb
01-misc.rb
01-simple.rb
CMDTEST_assert.rb
CMDTEST_chdir.rb
CMDTEST_cmd.rb
CMDTEST_crnl.rb
CMDTEST_dont_ignore_files.rb
CMDTEST_exit_nonzero.rb
CMDTEST_exit_status.rb
CMDTEST_exit_zero.rb
CMDTEST_file_encoding.rb
CMDTEST_file_equal.rb
CMDTEST_file_not_equal.rb
CMDTEST_glob_files.rb
CMDTEST_ignore_file.rb
CMDTEST_import_directory.rb
CMDTEST_import_file.rb
CMDTEST_junit.rb
CMDTEST_misc.rb
CMDTEST_options.rb
CMDTEST_output_encoding.rb
CMDTEST_raise.rb
CMDTEST_readonly.rb
CMDTEST_setenv.rb
CMDTEST_simple.rb
CMDTEST_skip_test.rb
CMDTEST_stdxxx_contain.rb
CMDTEST_stdxxx_equal.rb
CMDTEST_summary.rb
CMDTEST_teardown.rb
CMDTEST_unicode.rb
selftest_utils.rb
.gitignore
.hgignore
CHANGES.txt
CMDTEST_example.yml
CMakeLists.txt
COPYING.txt
README.html
README.rst
Rakefile
cmdtest.gemspec
file1.txt
file2.txt
replace_strings.pl
run-regression.rb
setup.rb
cmdtest/t/CMDTEST_raise.rb
Johan Holmberg deb6af6086 handle exception in setup/teardown
+ new test of this and exception in test_* methods
2016-06-26 21:12:53 +02:00

60 lines
1.2 KiB
Ruby

require "selftest_utils"
class CMDTEST_raise < Cmdtest::Testcase
include SelftestUtils
def test_raise_TEST
create_file "CMDTEST_foo.rb", [
"class CMDTEST_foo < Cmdtest::Testcase",
" def setup",
" raise 'error in setup' if ENV['CMDTEST_RAISE'] == 'setup'",
" end",
"",
" def teardown",
" raise 'error in teardown' if ENV['CMDTEST_RAISE'] == 'teardown'",
" end",
"",
" def test_foo",
" raise 'error in test' if ENV['CMDTEST_RAISE'] == 'test'",
" puts '123'",
" end",
"end",
]
cmd_cmdtest do
stdout_equal [
"123",
]
end
ENV['CMDTEST_RAISE'] = 'setup'
cmd_cmdtest do
exit_nonzero
stdout_equal /--- CAUGHT EXCEPTION:/
stdout_equal /--- error in setup/
end
ENV['CMDTEST_RAISE'] = 'test'
cmd_cmdtest do
exit_nonzero
stdout_equal /--- CAUGHT EXCEPTION:/
stdout_equal /--- error in test/
end
ENV['CMDTEST_RAISE'] = 'teardown'
cmd_cmdtest do
exit_nonzero
stdout_equal /--- CAUGHT EXCEPTION:/
stdout_equal /--- error in teardown/
end
ENV['CMDTEST_RAISE'] = nil
cmd_cmdtest do
stdout_equal "123\n"
end
end
end