count-record.exp revision 98d884bfd78ea7a37f46515c6e9e3635a95d8cbc
1# This file was written by Yao Qi <qiyao@cn.ibm.com>. 2 3set testfile "count-record" 4set srcfile ${testfile}.c 5set binfile ${testfile} 6 7verbose "compiling source file now....." 8# Build the shared libraries this test case needs. 9if { [ 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. 14ltrace_options "-c" 15 16# Run PUT for ltarce. 17set exec_output [ltrace_runtest $srcdir/$subdir $srcdir/$subdir/$binfile] 18 19# Check the output of this program. 20verbose "ltrace runtest output: $exec_output\n" 21if [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 30ltrace_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 51set pattern "\'1 rmdir\'" 52ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 53set pattern "\'1 fopen\'" 54ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 55set pattern "\'2 remove\'" 56ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 57set pattern "\'1 mkdir\'" 58ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 59set pattern "\'1 fseek\'" 60ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 61set pattern "\'1 fwrite\'" 62ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 63set pattern "\'1 fclose\'" 64ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 65set pattern "\'1 rename\'" 66ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 67set pattern "\'1 symlink\'" 68ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 69set pattern "\'1 chdir\'" 70ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 71set pattern "\'1 access\'" 72ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 73set pattern "\'1 getcwd\'" 74ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 75set pattern "\'1 fread\'" 76ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 77 78