Imported Upstream version 0.7.2
[platform/upstream/ltrace.git] / testsuite / ltrace.main / system_calls.exp
1 # This file was written by Yao Qi <qiyao@cn.ibm.com>.
2
3 set testfile "system_calls"
4 set srcfile ${testfile}.c
5 set binfile ${testfile}
6
7
8 verbose "compiling source file now....."
9 # Build the shared libraries this test case needs.
10 if  { [ ltrace_compile "${srcdir}/${subdir}/${testfile}.c" "${objdir}/${subdir}/${binfile}" executable {debug} ] != "" } {
11      send_user "Testcase compile failed, so all tests in this file will automatically fail.\n"
12 }
13
14 # set options for ltrace.
15 ltrace_options "-S"
16
17 #Run PUT for ltarce.
18 set exec_output [ltrace_runtest $objdir/$subdir $objdir/$subdir/$binfile]
19
20 #check the output of this program.
21 verbose "ltrace runtest output: $exec_output\n"
22
23 if [regexp {ELF from incompatible architecture} $exec_output] {
24         fail "32-bit ltrace can not perform on 64-bit PUTs and rebuild ltrace in 64 bit mode!"
25         return
26 } elseif [ regexp {Couldn't get .hash data} $exec_output ] {
27         fail "Couldn't get .hash data!"
28         return
29 }
30
31
32 set pattern "SYS_munmap"
33 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 2
34 set pattern "SYS_write"
35 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
36 set pattern "SYS_unlink"
37 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
38
39 set pattern "SYS_brk"
40 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
41 set pattern "SYS_open"
42 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
43 set pattern "SYS_(new)?fstat"
44 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1 egrep
45 set pattern "SYS_(old_)?mmap"
46 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1 egrep
47 set pattern "SYS_close"
48 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
49
50 set pattern "SYS_getcwd"
51 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
52 set pattern "SYS_chdir"
53 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
54 set pattern "SYS_symlink"
55 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
56 set pattern "SYS_unlink"
57 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
58 set pattern "SYS_(new)?stat"
59 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1 egrep
60 set pattern "SYS_access"
61 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
62 set pattern "SYS_rename"
63 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
64 set pattern "SYS_mkdir"
65 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
66 set pattern "SYS_rmdir"
67 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1