diff options
author | Steve Fink <sphink@gmail.com> | 2006-08-07 06:04:43 +0200 |
---|---|---|
committer | Ian Wienand <ianw@debian.org> | 2006-08-07 06:04:43 +0200 |
commit | 1150bc4b812f0150e832607b8724b023d6d7d575 (patch) | |
tree | cf765a6a2db11b92e916d5cca425c41e060851a3 /testsuite | |
parent | e22411dd33d2d55fd5c6510390954f13fd502d3a (diff) | |
download | ltrace-1150bc4b812f0150e832607b8724b023d6d7d575.tar.gz |
array arguments
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/ltrace.main/parameters-lib.c | 18 | ||||
-rw-r--r-- | testsuite/ltrace.main/parameters.c | 16 | ||||
-rw-r--r-- | testsuite/ltrace.main/parameters.conf | 2 | ||||
-rw-r--r-- | testsuite/ltrace.main/parameters.exp | 8 |
4 files changed, 44 insertions, 0 deletions
diff --git a/testsuite/ltrace.main/parameters-lib.c b/testsuite/ltrace.main/parameters-lib.c index f5ed3f7..a45cd2e 100644 --- a/testsuite/ltrace.main/parameters-lib.c +++ b/testsuite/ltrace.main/parameters-lib.c @@ -61,3 +61,21 @@ void func_typedef(int x) { printf("typedef'd enum: %d\n", x); } + +void func_arrayi(int* a, int N) +{ + int i; + printf("array[int]: "); + for (i = 0; i < N; i++) + printf("%d ", a[i]); + printf("\n"); +} + +void func_arrayf(float* a, int N) +{ + int i; + printf("array[float]: "); + for (i = 0; i < N; i++) + printf("%f ", a[i]); + printf("\n"); +} diff --git a/testsuite/ltrace.main/parameters.c b/testsuite/ltrace.main/parameters.c index b573767..dbc8ace 100644 --- a/testsuite/ltrace.main/parameters.c +++ b/testsuite/ltrace.main/parameters.c @@ -22,6 +22,8 @@ void func_stringp(char**); void func_short(short, short); void func_ushort(unsigned short, unsigned short); void func_float(float, float); +void func_arrayi(int*, int); +void func_arrayf(float*, int); typedef enum { RED, @@ -40,6 +42,8 @@ main () int *xP, **xPP; char buf[200]; char *s; + int *ai; + float *af; func_ignore(1, 2, 3); @@ -70,5 +74,17 @@ main () func_typedef(BLUE); + ai = (int*) calloc(sizeof(int), 8); + for (x = 0; x < 8; x++) + ai[x] = 10 + x; + func_arrayi(ai, 8); + func_arrayi(ai, 2); + + af = (float*) calloc(sizeof(float), 8); + for (x = 0; x < 8; x++) + af[x] = 10.1 + x; + func_arrayf(af, 8); + func_arrayf(af, 2); + return 0; } diff --git a/testsuite/ltrace.main/parameters.conf b/testsuite/ltrace.main/parameters.conf index dd8294d..8216857 100644 --- a/testsuite/ltrace.main/parameters.conf +++ b/testsuite/ltrace.main/parameters.conf @@ -11,3 +11,5 @@ void func_ushort(ushort, ushort) void func_float(float,float) typedef color = enum (RED=0,GREEN=1,BLUE=2,CHARTREUSE=3,PETUNIA=4) void func_typedef(color) +void func_arrayi(array(int,arg2)*,ignore) +void func_arrayf(array(float,arg2)*,ignore) diff --git a/testsuite/ltrace.main/parameters.exp b/testsuite/ltrace.main/parameters.exp index 2026cbd..ee269e4 100644 --- a/testsuite/ltrace.main/parameters.exp +++ b/testsuite/ltrace.main/parameters.exp @@ -60,5 +60,13 @@ set pattern "func_float(3.40*, -3.40*)" ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 set pattern "func_typedef(BLUE)" ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_arrayi(. 10, 11, 12, 13\\.\\.\\. ., )" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_arrayi(. 10, 11 ., )" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_arrayf(. 10.10*, 11.10*, 12.10*, 13.10*\\.\\.\\. ., )" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 +set pattern "func_arrayf(. 10.10*, 11.10* ., )" +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 set pattern "exited (status 0)" ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 |