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_dont_ignore_files.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
CMDTEST_unicode.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
cmdtest/t/CMDTEST_setenv.rb
Johan Holmberg 5fdd86537d working setenv/unsetenv + tests
need to be implemented for Windows too
2016-10-10 15:11:21 +02:00

84 lines
1.6 KiB
Ruby

require "selftest_utils"
class CMDTEST_setenv < Cmdtest::Testcase
include SelftestUtils
#-----------------------------------
def test_setenv
#----------
create_CMDTEST_foo [
'cmd "env | grep TESTVAR1" do',
' exit_nonzero', # no match in grep
'end',
]
cmd_cmdtest do
comment "TESTVAR1 not set"
stdout_equal [
"### env | grep TESTVAR1",
]
end
#----------
create_CMDTEST_foo [
'setenv "TESTVAR1", "123456"',
'cmd "env | grep TESTVAR1" do',
' stdout_equal "TESTVAR1=123456\\n"',
'end',
]
cmd_cmdtest do
comment "TESTVAR1 set by setenv"
stdout_equal [
"### env | grep TESTVAR1",
]
end
cmd("env | grep TESTVAR1") do
comment "TESTVAR1 still unset on level1"
exit_nonzero # no match in grep
end
end
#-----------------------------------
def test_unsetenv
ENV['TESTVAR2'] = '987654'
#----------
create_CMDTEST_foo [
'cmd "env | grep TESTVAR2" do',
' stdout_equal "TESTVAR2=987654\\n"',
'end',
]
cmd_cmdtest do
comment "TESTVAR2 set from start"
stdout_equal [
"### env | grep TESTVAR2",
]
end
#----------
create_CMDTEST_foo [
'unsetenv "TESTVAR2"',
'cmd "env | grep TESTVAR2" do',
' exit_nonzero', # no match in grep
'end',
]
cmd_cmdtest do
comment "TESTVAR2 unset by unsetenv"
stdout_equal [
"### env | grep TESTVAR2",
]
end
cmd("env | grep TESTVAR2") do
comment "TESTVAR2 still set on level1"
stdout_equal [
"TESTVAR2=987654",
]
end
end
end