File: stap_run_binary.exp

package info (click to toggle)
systemtap 5.1-5
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 47,964 kB
  • sloc: cpp: 80,838; ansic: 54,757; xml: 49,725; exp: 43,665; sh: 11,527; python: 5,003; perl: 2,252; tcl: 1,312; makefile: 1,006; javascript: 149; lisp: 105; awk: 101; asm: 91; java: 70; sed: 16
file content (34 lines) | stat: -rw-r--r-- 1,050 bytes parent folder | download | duplicates (8)
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
# stap_run_binary.exp
#
# Simple script for testing binary output
# stap_run_binary TEST_NAME
# TEST_NAME is path to the current test
# Additional arguments are passed to stap as-is.
#
# global result_string must be set to the expected output

proc stap_run_binary { TEST_NAME args } {
  # zap the srcdir prefix
  set test_file_name $TEST_NAME
  set TEST_NAME [regsub {.*/testsuite/} $TEST_NAME ""]
  if {[llength $args]} {
      set TEST_NAME [concat $TEST_NAME $args]
  }

  if {[info procs installtest_p] != "" && ![installtest_p]} {untested $TEST_NAME; return}

  set hex_args {-ve {8/1 "%02x " "\n"}}
  set cmd [concat stap $args $test_file_name | hexdump $hex_args]
  send_log "executing: $cmd\n"
  catch { eval exec $cmd } res

  if {[string compare $res $::result_string] == 0} {
      pass "$TEST_NAME"
  } else {
      fail "$TEST_NAME"
      puts "EXPECTED:\n-----------------------\n<$::result_string>"
      puts "-----------------------\n"
      puts "GOT:\n-----------------------\n<$res>"
      puts "-----------------------\n"
  }
}