aboutsummaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorSteve Fink <sphink@gmail.com>2006-08-07 06:04:43 +0200
committerIan Wienand <ianw@debian.org>2006-08-07 06:04:43 +0200
commit1150bc4b812f0150e832607b8724b023d6d7d575 (patch)
treecf765a6a2db11b92e916d5cca425c41e060851a3 /testsuite
parente22411dd33d2d55fd5c6510390954f13fd502d3a (diff)
downloadltrace-1150bc4b812f0150e832607b8724b023d6d7d575.tar.gz
array arguments
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/ltrace.main/parameters-lib.c18
-rw-r--r--testsuite/ltrace.main/parameters.c16
-rw-r--r--testsuite/ltrace.main/parameters.conf2
-rw-r--r--testsuite/ltrace.main/parameters.exp8
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