mirror of
https://github.com/envmodules/modules.git
synced 2026-06-10 00:56:30 +08:00
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.
66 lines
1.7 KiB
Ruby
Executable File
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:
|