1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
set test "Invalid Unprivileged Mode Arguments"
# Test that stap on the server side will correctly accept/reject certain
# arguments in unprivileged mode.
# Test invalid combinations.
# Other invalid options are invalid only when used with the compile-server
# client and are tested in systemtap.server/client_args.exp.
set invalid_options [list \
"--unprivileged -g" \
"-g --unprivileged" \
]
foreach options $invalid_options {
set error_regexp ".*You can't specify .* and --privilege=stapusr together.*"
verbose -log "eval exec stap $options"
catch {eval exec stap -e {probe begin { exit() }} -p1 $options} res_stap
verbose -log $res_stap
if {[regexp $error_regexp $res_stap]} {
pass "$test: $options"
} else {
fail "$test: $options"
}
# We should get the same result substituting --unprivileged with --privilege=stapusr
if {[regsub -all {\-\-unprivileged} $options "--privilege=stapusr" options]} {
verbose -log "eval exec stap $options"
catch {eval exec stap -e {probe begin { exit() }} -p1 $options} res_stap
verbose -log $res_stap
if {[regexp $error_regexp $res_stap]} {
pass "$test: $options"
} else {
fail "$test: $options"
}
# We should get the same result substituting --privilege=stapusr with --privilege=stapsys
if {[regsub -all {\-\-privilege=stapusr} $options "--privilege=stapsys" options]} {
set error_regexp ".*You can't specify .* and --privilege=stapsys together.*"
verbose -log "eval exec stap $options"
catch {eval exec stap -e {probe begin { exit() }} -p1 $options} res_stap
verbose -log $res_stap
if {[regexp $error_regexp $res_stap]} {
pass "$test: $options"
} else {
fail "$test: $options"
}
}
}
}
|