#!/usr/bin/env ruby # # INSTALL_TEST_RUBY, ruby test script for install non-reg suite # Copyright (C) 2017-2021 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 2 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 . ########################################################################## 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 runml = 0 cmdlist.each do |cmd| # call ml procedure instead of module if cmd == 'ml' then runml = 1 ret = true # if command equals to NOARG string, means call with no arg passed elsif cmd == 'NOARG' then if runml == 0 then ret = ENVModule.module() else ret = ENVModule.ml() end elsif arglist = cmd.split(/,/, -1) # empty arg list, means one empty arg if arglist.length == 0 then arglist.push('') end if runml == 0 then ret = ENVModule.module(arglist) else ret = ENVModule.ml(arglist) end 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: