Files
modules/testsuite/bin/install_test_ruby
Xavier Delaruelle 147c4ec212 testsuite: check no arg or empty string arg
Adapt tests of install suite to be able to call module function with no
passed arg if tested command equals to "NOARG".

Also adapt these tests to call module with an empty string argument if
tested command equals to empty string.
2018-03-25 22:29:13 +02:00

66 lines
1.7 KiB
Ruby
Executable File

#!/usr/bin/env ruby
#
# INSTALL_TEST_RUBY, ruby test script for install non-reg suite
# Copyright (C) 2017 Xavier Delaruelle
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##########################################################################
if ARGV.length != 2 then
# print usage message
STDERR.puts("Usage: #{$0} initfile command[:command]")
exit(1)
end
initfile = ARGV[0]
cmdlist = ARGV[1].split(':')
# empty command list, means one empty command
if cmdlist.length == 0 then
cmdlist.push('')
end
if not File.readable?(initfile) then
STDERR.puts("Cannot read #{initfile}")
exit(1)
end
# source module init file
require initfile
# execute command list
code = 0
cmdlist.each do |cmd|
# if command equals to NOARG string, means call with no arg passed
if cmd == 'NOARG' then
ret = ENVModule.module()
else
arglist = cmd.split(/,/, -1)
# empty arg list, means one empty arg
if arglist.length == 0 then
arglist.push('')
end
ret = ENVModule.module(arglist)
end
if ret == false then
code = 1
elsif ret != true then
puts(ret)
end
end
exit(code)
# vim:set tabstop=3 shiftwidth=3 expandtab autoindent: