tizen 2.0
[external/ltrace.git] / testsuite / ltrace.minor / count-record.exp
1 # This file was written by Yao Qi <qiyao@cn.ibm.com>.
2
3 set testfile "count-record"
4 set srcfile ${testfile}.c
5 set binfile ${testfile}
6
7 verbose "compiling source file now....."
8 # Build the shared libraries this test case needs.
9 if  { [ ltrace_compile "${srcdir}/${subdir}/${testfile}.c" "${srcdir}/${subdir}/${binfile}" executable {debug} ] != "" } {
10      send_user "Testcase compile failed, so all tests in this file will automatically fail.\n"
11 }
12
13 # set options for ltrace.
14 ltrace_options "-c"
15
16 # Run PUT for ltrace.
17 set exec_output [ltrace_runtest $srcdir/$subdir $srcdir/$subdir/$binfile]
18
19 # Check the output of this program.
20 verbose "ltrace runtest output: $exec_output\n"
21 if [regexp {ELF from incompatible architecture} $exec_output] {
22         fail "32-bit ltrace can not perform on 64-bit PUTs and rebuild ltrace in 64 bit mode!"
23         return
24 } elseif [ regexp {Couldn't get .hash data} $exec_output ] {
25         fail "Couldn't get .hash data!"
26         return
27 }
28
29
30 ltrace_saveoutput $exec_output $srcdir/$subdir/$binfile.ltrace
31
32 #
33 #  This is a sample output and Verify the forth and fifth column.
34 #
35 #  13.31    0.001051        1051         1 rmdir
36 #  12.81    0.001012        1012         1 fopen
37 #  10.32    0.000815         407         2 remove
38 #   9.56    0.000755         755         1 mkdir
39 #   7.86    0.000621         621         1 fseek
40 #   6.86    0.000542         542         1 fwrite
41 #   6.60    0.000521         521         1 fclose
42 #   6.03    0.000476         476         1 rename
43 #   5.61    0.000443         443         1 symlink
44 #   5.05    0.000399         399         1 chdir
45 #   4.80    0.000379         379         1 access
46 #   4.00    0.000316         316         1 __xstat
47 #   3.81    0.000301         301         1 getcwd
48 #   3.39    0.000268         268         1 fread
49 #
50
51 set pattern " 1 rmdir"
52 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
53 set pattern " 1 fopen"
54 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
55 set pattern " 2 remove"
56 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
57 set pattern " 1 mkdir"
58 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
59 set pattern " 1 fseek"
60 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
61 set pattern " 1 fwrite"
62 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
63 set pattern " 1 fclose"
64 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
65 set pattern " 1 rename"
66 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
67 set pattern " 1 symlink"
68 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
69 set pattern " 1 chdir"
70 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
71 set pattern " 1 access"
72 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
73 set pattern " 1 getcwd"
74 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
75 set pattern " 1 fread"
76 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern
77