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_exit_nonzero.rb
CMDTEST_exit_status.rb
CMDTEST_exit_zero.rb
CMDTEST_file_equal.rb
CMDTEST_file_not_equal.rb
CMDTEST_ignore_file.rb
CMDTEST_import_directory.rb
CMDTEST_import_file.rb
CMDTEST_misc.rb
CMDTEST_options.rb
CMDTEST_raise.rb
CMDTEST_readonly.rb
CMDTEST_setenv.rb
CMDTEST_simple.rb
CMDTEST_stdxxx_equal.rb
CMDTEST_summary.rb
CMDTEST_teardown.rb
selftest_utils.rb
.gitignore
.hgignore
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

ie. when cmdtest fails to remove the "work" directory between test methods. Previously cmdtest relied on FileUtils.rm_rf, but it could fail silently, leading to weird consequences.
34 lines
568 B
Ruby
34 lines
568 B
Ruby
|
|
require "selftest_utils"
|
|
|
|
class CMDTEST_readonly < Cmdtest::Testcase
|
|
|
|
include SelftestUtils
|
|
|
|
def teardown
|
|
File.chmod(0755, 'tmp-cmdtest-2/top/work/a_subdir')
|
|
end
|
|
|
|
def test_readonly
|
|
create_CMDTEST_foo [
|
|
"cmd 'true.rb' do",
|
|
"end",
|
|
"Dir.mkdir('a_subdir')",
|
|
"File.open('a_subdir/file1', 'w') {|f| f.puts 123}",
|
|
"File.chmod(0, 'a_subdir')",
|
|
]
|
|
|
|
cmd_cmdtest do
|
|
stdout_equal [
|
|
"### true.rb",
|
|
]
|
|
end
|
|
|
|
cmd_cmdtest do
|
|
stderr_equal /Directory not empty/
|
|
exit_nonzero
|
|
end
|
|
end
|
|
|
|
end
|