1############################################################################## 2# Modules Revision 3.0 3# Providing a flexible user environment 4# 5# File: modules.00-init/%M% 6# Revision: %I% 7# First Edition: 95/12/06 8# Last Mod.: %U%, %G% 9# 10# Authors: Jens Hamisch, Jens.Hamisch@Strawberry.COM 11# 12# Description: Testuite testsequence 13# Command: 14# Sub-Command: 15# 16# Comment: %C{ 17# Check all valid command line switches in long 18# and short presentation. 19# }C% 20# 21############################################################################## 22 23# 24# The following answers are to be expected in this testcase ... 25# 26 27set ign_prefix "$warn_msgs: Unsupported option" 28set bad_prefix "$error_msgs: Invalid option" 29set bad_longarg "$bad_prefix '--foobar'" 30set bad_shortarg "$bad_prefix '-z'" 31set pos_ans "Modules Release(.*)Usage: module(.*)Loading \/(.*)Switches:(.*)" 32set pos_display_ans "$modlin\n$modpathre/loc_fq/1.0:\n\n$modlin" 33 34# 35# The tests 36# 37 38if { $verbose > 0 } { 39 send_user "\tChecking command line arguments ...\n" 40} 41 42# no error when help asked 43testouterr_cmd_re "sh" "--help" "" "$pos_ans" 44testouterr_cmd_re "sh" "-h" "" "$pos_ans" 45# no command means help 46testouterr_cmd_re "sh" "" "OK" "$pos_ans" 47 48# invalid option leads to error code 49testouterr_cmd "ALL" "--foobar display loc_fq/2.0" "ERR" "$bad_longarg\n$err_typehelp" 50testouterr_cmd "ALL" "-z display loc_fq/2.0" "ERR" "$bad_shortarg\n$err_typehelp" 51 52 53# ignore C-version specific command-line switches, no error returned 54testouterr_cmd_re "sh" "--terse display loc_fq/1.0" "OK" "$pos_display_ans" 55testouterr_cmd_re "sh" "--long display loc_fq/1.0" "OK" "$pos_display_ans" 56testouterr_cmd_re "sh" "--silent --terse display loc_fq/1.0" "OK" "$pos_display_ans" 57testouterr_cmd_re "sh" "--verbose display loc_fq/1.0" "OK" "$pos_display_ans" 58testouterr_cmd_re "sh" "--userlvl=expert display loc_fq/1.0" "OK" "$ign_prefix '--userlvl=expert'\n$pos_display_ans" 59testouterr_cmd_re "sh" "--icase display loc_fq/1.0" "OK" $pos_display_ans 60 61# different behavior than C-version: Tcl-version ignores long and short 62# form of C-version specific switches but no other intermediates forms 63testouterr_cmd "sh" "--for display loc_fq/1.0" "ERR" "$bad_prefix '--for'\n$err_typehelp" 64testouterr_cmd "sh" "--ter display loc_fq/1.0" "ERR" "$bad_prefix '--ter'\n$err_typehelp" 65testouterr_cmd "sh" "--lon display loc_fq/1.0" "ERR" "$bad_prefix '--lon'\n$err_typehelp" 66testouterr_cmd "sh" "--sil display loc_fq/1.0" "ERR" "$bad_prefix '--sil'\n$err_typehelp" 67testouterr_cmd "sh" "--verb display loc_fq/1.0" "ERR" "$bad_prefix '--verb'\n$err_typehelp" 68testouterr_cmd "sh" "--use=expert display loc_fq/1.0" "ERR" "$bad_prefix '--use=expert'\n$err_typehelp" 69testouterr_cmd "sh" "--ica display loc_fq/1.0" "ERR" "$bad_prefix '--ica'\n$err_typehelp" 70 71testouterr_cmd_re "sh" "-t display loc_fq/1.0" "OK" "$pos_display_ans" 72testouterr_cmd_re "sh" "-l display loc_fq/1.0" "OK" "$pos_display_ans" 73testouterr_cmd_re "sh" "-t -s display loc_fq/1.0" "OK" "$pos_display_ans" 74testouterr_cmd_re "sh" "-v display loc_fq/1.0" "OK" "$pos_display_ans" 75testouterr_cmd_re "sh" "-u expert display loc_fq/1.0" "OK" "$ign_prefix '-u'\n$pos_display_ans" 76testouterr_cmd_re "sh" "-i display loc_fq/1.0" "OK" $pos_display_ans 77 78testouterr_cmd "sh" "--use=exp display loc_fq/1.0" "ERR" "$bad_prefix '--use=exp'\n$err_typehelp" 79testouterr_cmd "sh" "--use=novice display loc_fq/1.0" "ERR" "$bad_prefix '--use=novice'\n$err_typehelp" 80testouterr_cmd "sh" "--use=nov display loc_fq/1.0" "ERR" "$bad_prefix '--use=nov'\n$err_typehelp" 81testouterr_cmd "sh" "--use=advanced display loc_fq/1.0" "ERR" "$bad_prefix '--use=advanced'\n$err_typehelp" 82testouterr_cmd "sh" "--use=adv display loc_fq/1.0" "ERR" "$bad_prefix '--use=adv'\n$err_typehelp" 83testouterr_cmd "sh" "--u novice display loc_fq/1.0" "ERR" "$bad_prefix '--u'\n$err_typehelp" 84testouterr_cmd "sh" "--u advanced display loc_fq/1.0" "ERR" "$bad_prefix '--u'\n$err_typehelp" 85 86# different behavior than C-version: Tcl-version ignores C-version specific 87# switches so no error is raised when a bad value is passed to these switches 88testouterr_cmd_re "sh" "--userlvl=foobar display loc_fq/1.0" "OK" "$ign_prefix '--userlvl=foobar'\n$pos_display_ans" 89 90 91# 92# Clean up variables used in this test case 93# 94 95unset ign_prefix 96unset bad_prefix 97unset bad_longarg 98unset bad_shortarg 99unset pos_ans 100unset pos_display_ans 101