summaryrefslogtreecommitdiffstats
path: root/testsuite/lib/stap_run_binary.exp
blob: 1d31d817a743cd472a32776f0c1e0c48c3de9a05 (plain)
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
# stap_run_binary.exp
#
# Simple script for testing binary output
# stap_run_binary TEST_NAME
# TEST_NAME is path to the current test
# global result_string must be set to the expected output

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

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

  set hex_args {-ve 8/1 "%02x " "\n"}
  set res [exec stap $test_file_name | hexdump $hex_args] 

  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"
  }
}