Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
ltrace
ltrace.trunk-r59.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ltrace.trunk-r59.patch of Package ltrace
------------------------------------------------------------------------ r59 | ianw-guest | 2006-08-07 02:55:24 +0000 (Mon, 07 Aug 2006) | 2 lines Changed paths: M /ltrace/trunk/ChangeLog M /ltrace/trunk/testsuite/ltrace.main/Makefile.in A /ltrace/trunk/testsuite/ltrace.main/parameters-lib.c A /ltrace/trunk/testsuite/ltrace.main/parameters.c A /ltrace/trunk/testsuite/ltrace.main/parameters.conf A /ltrace/trunk/testsuite/ltrace.main/parameters.exp new testsuite items for new parameters ------------------------------------------------------------------------ --- ChangeLog | 9 +++++ testsuite/ltrace.main/Makefile.in | 2 - testsuite/ltrace.main/parameters-lib.c | 38 ++++++++++++++++++++++++ testsuite/ltrace.main/parameters.c | 44 +++++++++++++++++++++++++++ testsuite/ltrace.main/parameters.conf | 7 ++++ testsuite/ltrace.main/parameters.exp | 52 +++++++++++++++++++++++++++++++++ 6 files changed, 151 insertions(+), 1 deletion(-) Index: ChangeLog =================================================================== --- ChangeLog.orig +++ ChangeLog @@ -1,3 +1,12 @@ +2006-08-07 Steve Fink <sphink@gmail.com> + + * testsuite/ltrace.main/Makefile.in : update testsuite for + new parameters + * testsuite/ltrace.main/parameters-lib.c : added + * testsuite/ltrace.main/parameters.c : added + * testsuite/ltrace.main/parameters.conf : added + * testsuite/ltrace.main/parameters.exp : added + 2006-08-07 Steve Fink <sphink@gmail.com> * display_args.c, etc/ltrace.conf, ltrace.h, read_config_file.c, Index: testsuite/ltrace.main/Makefile.in =================================================================== --- testsuite/ltrace.main/Makefile.in.orig +++ testsuite/ltrace.main/Makefile.in @@ -19,7 +19,7 @@ CLEANFILES = *.log *.sum site.bak setval .SUFFIXES: clean: - -rm -f main main-internal system_calls signals + -rm -f main main-internal system_calls signals parameters -rm -f *.o *.so -rm -f *.ltrace -rm -f $(CLEANFILES) Index: testsuite/ltrace.main/parameters.c =================================================================== --- /dev/null +++ testsuite/ltrace.main/parameters.c @@ -0,0 +1,44 @@ +/* Ltrace Test : parameters.c. + Objectives : Verify that Ltrace can handle all the different + parameter types + + This file was written by Steve Fink <sphink@gmail.com>. */ + +#include <stdio.h> +#include <unistd.h> +#include <sys/syscall.h> +#include <sys/stat.h> +#include <errno.h> +#include <string.h> +#include <stdlib.h> + +void func_ignore(int a, int b, int c); +void func_intptr(int *i); +void func_intptr_ret(int *i); +int func_strlen(char*); +void func_strfixed(char*); +void func_ppp(int***); +void func_stringp(char**); + +int +main () +{ + int x = 17; + int *xP, **xPP; + char buf[200]; + char *s; + func_ignore(1, 2, 3); + func_intptr(&x); + func_intptr_ret(&x); + func_strlen(buf); + printf("%s\n", buf); + func_strfixed(buf); + printf("%s\n", buf); + x = 80; + xP = &x; + xPP = &xP; + func_ppp(&xPP); + s = (char*) malloc(100); + strcpy(s, "Dude"); + func_stringp(&s); +} Index: testsuite/ltrace.main/parameters.conf =================================================================== --- /dev/null +++ testsuite/ltrace.main/parameters.conf @@ -0,0 +1,7 @@ +void func_ignore(int,ignore,int) +void func_intptr(int*) +void func_intptr_ret(+int*) +int func_strlen(+string[retval]) +void func_strfixed(string[4]) +void func_ppp(int***) +void func_stringp(string*) Index: testsuite/ltrace.main/parameters-lib.c =================================================================== --- /dev/null +++ testsuite/ltrace.main/parameters-lib.c @@ -0,0 +1,38 @@ +#include <string.h> +#include <stdio.h> + +void func_ignore(int a, int b, int c) +{ + printf("%d\n", a + b + c); +} + +void func_intptr(int *i) +{ + printf("%d\n", *i); +} + +void func_intptr_ret(int *i) +{ + *i = 42; +} + +int func_strlen(char* p) +{ + strcpy(p, "Hello world"); + return strlen(p); +} + +void func_strfixed(char* p) +{ + strcpy(p, "Hello world"); +} + +void func_ppp(int*** ppp) +{ + printf("%d\n", ***ppp); +} + +void func_stringp(char** sP) +{ + printf("%s\n", *sP); +} Index: testsuite/ltrace.main/parameters.exp =================================================================== --- /dev/null +++ testsuite/ltrace.main/parameters.exp @@ -0,0 +1,52 @@ +# This file was written by Steve Fink <sphink@gmail.com>. +# Based on main.c by Yao Qi <qiyao@cn.ibm.com>. + +set testfile "parameters" +set srcfile ${testfile}.c +set binfile ${testfile} +set libfile "parameters-lib" +set libsrc $srcdir/$subdir/$libfile.c +set lib_sl $srcdir/$subdir/lib$testfile.so + + +if [get_compiler_info $binfile] { + return -1 +} + +verbose "compiling source file now....." +if { [ltrace_compile_shlib $libsrc $lib_sl debug ] != "" + || [ltrace_compile $srcdir/$subdir/$srcfile $srcdir/$subdir/$binfile executable [list debug shlib=$lib_sl] ] != ""} { + send_user "Testcase compile failed, so all tests in this file will automatically fail.\n" +} + +# set options for ltrace. +ltrace_options "-l" "$srcdir/$subdir/libparameters.so" "-F" "$srcdir/$subdir/parameters.conf" + +# Run PUT for ltarce. +set exec_output [ltrace_runtest $srcdir/$subdir $srcdir/$subdir/$binfile] + +# Check the output of this program. +verbose "ltrace runtest output: $exec_output\n" +if [regexp {ELF from incompatible architecture} $exec_output] { + fail "32-bit ltrace can not perform on 64-bit PUTs and rebuild ltrace in 64 bit mode!" + return +} elseif [ regexp {Couldn't get .hash data} $exec_output ] { + fail "Couldn't get .hash data!" + return +} + +# Verify the output +set pattern "func_ignore(1, *, *3)" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_intptr(17)" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_intptr_ret(42)" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_strlen(\\\"Hello world\\\") *= *11" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_strfixed(\\\"Hell\\\")" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_ppp(80)" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_stringp(\\\"Dude\\\")" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor