File: unprivileged_options.exp

package info (click to toggle)
systemtap 2.6-0.2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 21,220 kB
  • ctags: 10,944
  • sloc: cpp: 53,239; ansic: 50,615; exp: 33,694; sh: 9,906; xml: 7,665; perl: 2,089; python: 1,534; tcl: 1,236; makefile: 797; java: 148; lisp: 104; awk: 94; asm: 91; sed: 16
file content (48 lines) | stat: -rw-r--r-- 1,730 bytes parent folder | download | duplicates (9)
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"
	    }
	}
    }
}