a74fa0471bf9dda4d711295e9553a447ba25f00e
[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 "^munmap@SYS"
33 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 2
34 set pattern "^write@SYS"
35 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
36 set pattern "^unlink@SYS"
37 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
38
39 set pattern "^brk@SYS"
40 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
41 set pattern "^open@SYS"
42 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
43 set pattern "^(new)?fstat(64)?@SYS"
44 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1 egrep
45 set pattern "^(old_)?mmap2?@SYS"
46 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1 egrep
47 set pattern "^close@SYS"
48 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
49
50 set pattern "^getcwd@SYS"
51 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
52 set pattern "^chdir@SYS"
53 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
54 set pattern "^symlink@SYS"
55 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
56 set pattern "^unlink@SYS"
57 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
58 set pattern "^(new)?stat(64)?@SYS"
59 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1 egrep
60 set pattern "^access@SYS"
61 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
62 set pattern "^rename@SYS"
63 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
64 set pattern "^mkdir@SYS"
65 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1
66 set pattern "^rmdir@SYS"
67 ltrace_verify_output ${objdir}/${subdir}/${testfile}.ltrace $pattern 1