summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorey Bryant <coreyb@linux.vnet.ibm.com>2012-04-17 14:09:43 -0400
committerPaul Moore <pmoore@redhat.com>2012-04-19 14:27:57 -0400
commita0d8d4043fa272f220c57718a457166ebbdbdd2c (patch)
tree38a86226e7d41e493aa86da39a4255d2eadae2db
parent8154e04faae6189e63d961b8af4c4be6989e6e0f (diff)
downloadlibseccomp-a0d8d4043fa272f220c57718a457166ebbdbdd2c.tar.gz
tests: Use tabs in batch files and support hex values
Signed-off-by: Corey Bryant <coreyb@linux.vnet.ibm.com> Signed-off-by: Paul Moore <pmoore@redhat.com>
-rw-r--r--tests/01-allow.tests4
-rw-r--r--tests/02-basic.tests22
-rw-r--r--tests/03-basic-chains.tests26
-rw-r--r--tests/04-multilevel-chains.tests46
-rw-r--r--tests/05-long-jumps.tests36
-rw-r--r--tests/06-actions.tests16
-rw-r--r--tests/07-db-bug-looping.tests8
-rw-r--r--tests/08-subtree-checks.tests54
-rw-r--r--tests/09-syscall-priority-pre.tests14
-rw-r--r--tests/10-syscall-priority-post.tests14
-rwxr-xr-xtests/regression23
11 files changed, 128 insertions, 135 deletions
diff --git a/tests/01-allow.tests b/tests/01-allow.tests
index 4b6af42..77bd5db 100644
--- a/tests/01-allow.tests
+++ b/tests/01-allow.tests
@@ -7,5 +7,5 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-01-allow all 0-350 N N N N N N ALLOW
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+01-allow all 0-350 N N N N N N ALLOW
diff --git a/tests/02-basic.tests b/tests/02-basic.tests
index 321d7a2..af55172 100644
--- a/tests/02-basic.tests
+++ b/tests/02-basic.tests
@@ -7,14 +7,14 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-02-basic all read 0 139898888 40 N N N ALLOW
-02-basic all write 1 139898888 40 N N N ALLOW
-02-basic all close 4 N N N N N ALLOW
-02-basic all rt_sigreturn N N N N N N ALLOW
-02-basic all open 139898888 4 N N N N KILL
-02-basic x86 0-2 N N N N N N KILL
-02-basic x86 7-172 N N N N N N KILL
-02-basic x86 174-350 N N N N N N KILL
-02-basic x86_64 4-14 N N N N N N KILL
-02-basic x86_64 16-350 N N N N N N KILL
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+02-basic all read 0 0x856B008 40 N N N ALLOW
+02-basic all write 1 0x856B008 40 N N N ALLOW
+02-basic all close 4 N N N N N ALLOW
+02-basic all rt_sigreturn N N N N N N ALLOW
+02-basic all open 0x856B008 4 N N N N KILL
+02-basic x86 0-2 N N N N N N KILL
+02-basic x86 7-172 N N N N N N KILL
+02-basic x86 174-350 N N N N N N KILL
+02-basic x86_64 4-14 N N N N N N KILL
+02-basic x86_64 16-350 N N N N N N KILL
diff --git a/tests/03-basic-chains.tests b/tests/03-basic-chains.tests
index d489f64..be7ea5d 100644
--- a/tests/03-basic-chains.tests
+++ b/tests/03-basic-chains.tests
@@ -7,16 +7,16 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-03-basic-chains all read 0 139898888 10 N N N ALLOW
-03-basic-chains all read 1-10 139898888 10 N N N KILL
-03-basic-chains all write 1-2 139898888 10 N N N ALLOW
-03-basic-chains all write 3-10 139898888 10 N N N KILL
-03-basic-chains all close N N N N N N ALLOW
-03-basic-chains all rt_sigreturn N N N N N N ALLOW
-03-basic-chains all open 139898888 4 N N N N KILL
-03-basic-chains x86 0-2 N N N N N N KILL
-03-basic-chains x86 7-172 N N N N N N KILL
-03-basic-chains x86 174-350 N N N N N N KILL
-03-basic-chains x86_64 4-14 N N N N N N KILL
-03-basic-chains x86_64 16-350 N N N N N N KILL
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+03-basic-chains all read 0 0x856B008 10 N N N ALLOW
+03-basic-chains all read 1-10 0x856B008 10 N N N KILL
+03-basic-chains all write 1-2 0x856B008 10 N N N ALLOW
+03-basic-chains all write 3-10 0x856B008 10 N N N KILL
+03-basic-chains all close N N N N N N ALLOW
+03-basic-chains all rt_sigreturn N N N N N N ALLOW
+03-basic-chains all open 0x856B008 4 N N N N KILL
+03-basic-chains x86 0-2 N N N N N N KILL
+03-basic-chains x86 7-172 N N N N N N KILL
+03-basic-chains x86 174-350 N N N N N N KILL
+03-basic-chains x86_64 4-14 N N N N N N KILL
+03-basic-chains x86_64 16-350 N N N N N N KILL
diff --git a/tests/04-multilevel-chains.tests b/tests/04-multilevel-chains.tests
index 47d0029..c5bf9d3 100644
--- a/tests/04-multilevel-chains.tests
+++ b/tests/04-multilevel-chains.tests
@@ -7,26 +7,26 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-04-multilevel-chains all open 139898888 4 N N N N ALLOW
-04-multilevel-chains all close 4 N N N N N ALLOW
-04-multilevel-chains x86 read 0 139898888 2147483646 N N N ALLOW
-04-multilevel-chains x86_64 read 0 139898888 9223372036854775806 N N N ALLOW
-04-multilevel-chains x86 read 0 139898888 2147483647 N N N KILL
-04-multilevel-chains x86_64 read 0 139898888 9223372036854775807 N N N KILL
-04-multilevel-chains x86 read 0 0 2147483646 N N N KILL
-04-multilevel-chains x86_64 read 0 0 9223372036854775806 N N N KILL
-04-multilevel-chains all read 1-10 139898888 2147483646 N N N KILL
-04-multilevel-chains x86 write 1-2 139898888 2147483646 N N N ALLOW
-04-multilevel-chains x86_64 write 1-2 139898888 9223372036854775806 N N N ALLOW
-04-multilevel-chains x86 write 1-2 0 2147483646 N N N KILL
-04-multilevel-chains x86_64 write 1-2 0 9223372036854775806 N N N KILL
-04-multilevel-chains x86 write 1-2 139898888 2147483647 N N N KILL
-04-multilevel-chains x86_64 write 1-2 139898888 9223372036854775807 N N N KILL
-04-multilevel-chains all write 3-10 139898888 2147483646 N N N KILL
-04-multilevel-chains all rt_sigreturn N N N N N N ALLOW
-04-multilevel-chains x86 0-2 N N N N N N KILL
-04-multilevel-chains x86 7-172 N N N N N N KILL
-04-multilevel-chains x86 174-350 N N N N N N KILL
-04-multilevel-chains x86_64 4-14 N N N N N N KILL
-04-multilevel-chains x86_64 16-350 N N N N N N KILL
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+04-multilevel-chains all open 0x856B008 4 N N N N ALLOW
+04-multilevel-chains all close 4 N N N N N ALLOW
+04-multilevel-chains x86 read 0 0x856B008 0x7FFFFFFE N N N ALLOW
+04-multilevel-chains x86_64 read 0 0x856B008 0x7FFFFFFFFFFFFFFE N N N ALLOW
+04-multilevel-chains x86 read 0 0x856B008 0x7FFFFFFF N N N KILL
+04-multilevel-chains x86_64 read 0 0x856B008 0x7FFFFFFFFFFFFFFF N N N KILL
+04-multilevel-chains x86 read 0 0 0x7FFFFFFE N N N KILL
+04-multilevel-chains x86_64 read 0 0 0x7FFFFFFFFFFFFFFE N N N KILL
+04-multilevel-chains all read 1-10 0x856B008 0x7FFFFFFE N N N KILL
+04-multilevel-chains x86 write 1-2 0x856B008 0x7FFFFFFE N N N ALLOW
+04-multilevel-chains x86_64 write 1-2 0x856B008 0x7FFFFFFFFFFFFFFE N N N ALLOW
+04-multilevel-chains x86 write 1-2 0 0x7FFFFFFE N N N KILL
+04-multilevel-chains x86_64 write 1-2 0 0x7FFFFFFFFFFFFFFE N N N KILL
+04-multilevel-chains x86 write 1-2 0x856B008 0x7FFFFFFF N N N KILL
+04-multilevel-chains x86_64 write 1-2 0x856B008 0x7FFFFFFFFFFFFFFF N N N KILL
+04-multilevel-chains all write 3-10 0x856B008 0x7FFFFFFE N N N KILL
+04-multilevel-chains all rt_sigreturn N N N N N N ALLOW
+04-multilevel-chains x86 0-2 N N N N N N KILL
+04-multilevel-chains x86 7-172 N N N N N N KILL
+04-multilevel-chains x86 174-350 N N N N N N KILL
+04-multilevel-chains x86_64 4-14 N N N N N N KILL
+04-multilevel-chains x86_64 16-350 N N N N N N KILL
diff --git a/tests/05-long-jumps.tests b/tests/05-long-jumps.tests
index e3024a2..197d0bc 100644
--- a/tests/05-long-jumps.tests
+++ b/tests/05-long-jumps.tests
@@ -7,21 +7,21 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-05-long-jumps all 1 1 2 3 4 5 6 ALLOW
-05-long-jumps all 2 N N N N N N KILL
-05-long-jumps all 999 N N N N N N KILL
-05-long-jumps x86 1000 0-5 139898888 2147483646 N N N ALLOW
-05-long-jumps x86_64 1000 0-5 139898888 9223372036854775806 N N N ALLOW
-05-long-jumps x86 1000 595-599 139898888 2147483646 N N N ALLOW
-05-long-jumps x86_64 1000 595-599 139898888 9223372036854775806 N N N ALLOW
-05-long-jumps x86 1000 600 139898888 2147483646 N N N KILL
-05-long-jumps x86_64 1000 600 139898888 9223372036854775806 N N N KILL
-05-long-jumps all 1001 N N N N N N KILL
-05-long-jumps all 99 1 N N N N N KILL
-05-long-jumps all 100-105 1 N N N N N ALLOW
-05-long-jumps all 695-699 1 N N N N N ALLOW
-05-long-jumps all 700 1 N N N N N KILL
-05-long-jumps all 3 N N N N N N KILL
-05-long-jumps all 4 1 2 3 4 5 6 ALLOW
-05-long-jumps all 5 N N N N N N KILL
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+05-long-jumps all 1 1 2 3 4 5 6 ALLOW
+05-long-jumps all 2 N N N N N N KILL
+05-long-jumps all 999 N N N N N N KILL
+05-long-jumps x86 1000 0-5 0x856B008 0x7FFFFFFE N N N ALLOW
+05-long-jumps x86_64 1000 0-5 0x856B008 0x7FFFFFFFFFFFFFFE N N N ALLOW
+05-long-jumps x86 1000 595-599 0x856B008 0x7FFFFFFE N N N ALLOW
+05-long-jumps x86_64 1000 595-599 0x856B008 0x7FFFFFFFFFFFFFFE N N N ALLOW
+05-long-jumps x86 1000 600 0x856B008 0x7FFFFFFE N N N KILL
+05-long-jumps x86_64 1000 600 0x856B008 0x7FFFFFFFFFFFFFFE N N N KILL
+05-long-jumps all 1001 N N N N N N KILL
+05-long-jumps all 99 1 N N N N N KILL
+05-long-jumps all 100-105 1 N N N N N ALLOW
+05-long-jumps all 695-699 1 N N N N N ALLOW
+05-long-jumps all 700 1 N N N N N KILL
+05-long-jumps all 3 N N N N N N KILL
+05-long-jumps all 4 1 2 3 4 5 6 ALLOW
+05-long-jumps all 5 N N N N N N KILL
diff --git a/tests/06-actions.tests b/tests/06-actions.tests
index 843b029..49e09e2 100644
--- a/tests/06-actions.tests
+++ b/tests/06-actions.tests
@@ -7,11 +7,11 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-06-actions all read 4 139898888 80 N N N ALLOW
-06-actions all write 1 139898888 N N N N ERRNO(1)
-06-actions all close 4 N N N N N TRAP
-06-actions all open 139898888 4 N N N N TRACE(1234)
-06-actions x86 0-2 N N N N N N KILL
-06-actions x86 7-350 N N N N N N KILL
-06-actions x86_64 4-350 N N N N N N KILL
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+06-actions all read 4 0x856B008 80 N N N ALLOW
+06-actions all write 1 0x856B008 N N N N ERRNO(1)
+06-actions all close 4 N N N N N TRAP
+06-actions all open 0x856B008 4 N N N N TRACE(1234)
+06-actions x86 0-2 N N N N N N KILL
+06-actions x86 7-350 N N N N N N KILL
+06-actions x86_64 4-350 N N N N N N KILL
diff --git a/tests/07-db-bug-looping.tests b/tests/07-db-bug-looping.tests
index 807ecdd..eaa2413 100644
--- a/tests/07-db-bug-looping.tests
+++ b/tests/07-db-bug-looping.tests
@@ -7,7 +7,7 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-07-db-bug-looping all read 1 139898888 10 N N N ALLOW
-07-db-bug-looping all read 2-10 0 10 N N N ALLOW
-07-db-bug-looping all read 0 139898888 10 N N N ALLOW
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+07-db-bug-looping all read 1 0x856B008 10 N N N ALLOW
+07-db-bug-looping all read 2-10 0 10 N N N ALLOW
+07-db-bug-looping all read 0 0x856B008 10 N N N ALLOW
diff --git a/tests/08-subtree-checks.tests b/tests/08-subtree-checks.tests
index 98b32d2..cf3af9e 100644
--- a/tests/08-subtree-checks.tests
+++ b/tests/08-subtree-checks.tests
@@ -7,30 +7,30 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-08-subtree-checks all 1000 0-10 1 N N N N ALLOW
-08-subtree-checks all 1000 0-10 0 N N N N KILL
-08-subtree-checks all 1001 0-10 1 N N N N ALLOW
-08-subtree-checks all 1001 0-10 0 N N N N KILL
-08-subtree-checks all 1002 0-5 1 2 0-5 N N ALLOW
-08-subtree-checks all 1002 0-5 2 1 0-5 N N KILL
-08-subtree-checks all 1003 0-5 1 2 0-5 N N ALLOW
-08-subtree-checks all 1003 0-5 2 1 0-5 N N KILL
-08-subtree-checks all 1004 0 11 5-10 10 10 1-5 ALLOW
-08-subtree-checks all 1004 0 1 2 0-5 N N KILL
-08-subtree-checks all 1004 1-5 1 2 0-5 N N ALLOW
-08-subtree-checks all 1004 1-5 1 2 30-35 N N ALLOW
-08-subtree-checks all 1004 1-5 2 1 30-35 N N KILL
-08-subtree-checks all 1005 0 11 5-10 10 10 1-5 ALLOW
-08-subtree-checks all 1005 0 1 2 0-5 N N KILL
-08-subtree-checks all 1005 1-5 1 2 0-5 N N ALLOW
-08-subtree-checks all 1005 1-5 1 2 30-35 N N ALLOW
-08-subtree-checks all 1005 1-5 2 1 30-35 N N KILL
-08-subtree-checks all 1006 0-10 1 2 N N N ALLOW
-08-subtree-checks all 1006 0-10 1 3 N N N KILL
-08-subtree-checks all 1006 10 2-100 2 N N N ALLOW
-08-subtree-checks all 1007 0 0 1 3 N N TRAP
-08-subtree-checks all 1007 1 1 1 0-2 1 1 KILL
-08-subtree-checks all 1007 1 1 2 0-2 1 1 ALLOW
-08-subtree-checks all 1007 1 1 2 4-6 1 1 ALLOW
-08-subtree-checks all 1007 1 1 0 3 1 1 KILL
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+08-subtree-checks all 1000 0-10 1 N N N N ALLOW
+08-subtree-checks all 1000 0-10 0 N N N N KILL
+08-subtree-checks all 1001 0-10 1 N N N N ALLOW
+08-subtree-checks all 1001 0-10 0 N N N N KILL
+08-subtree-checks all 1002 0-5 1 2 0-5 N N ALLOW
+08-subtree-checks all 1002 0-5 2 1 0-5 N N KILL
+08-subtree-checks all 1003 0-5 1 2 0-5 N N ALLOW
+08-subtree-checks all 1003 0-5 2 1 0-5 N N KILL
+08-subtree-checks all 1004 0 11 5-10 10 10 1-5 ALLOW
+08-subtree-checks all 1004 0 1 2 0-5 N N KILL
+08-subtree-checks all 1004 1-5 1 2 0-5 N N ALLOW
+08-subtree-checks all 1004 1-5 1 2 30-35 N N ALLOW
+08-subtree-checks all 1004 1-5 2 1 30-35 N N KILL
+08-subtree-checks all 1005 0 11 5-10 10 10 1-5 ALLOW
+08-subtree-checks all 1005 0 1 2 0-5 N N KILL
+08-subtree-checks all 1005 1-5 1 2 0-5 N N ALLOW
+08-subtree-checks all 1005 1-5 1 2 30-35 N N ALLOW
+08-subtree-checks all 1005 1-5 2 1 30-35 N N KILL
+08-subtree-checks all 1006 0-10 1 2 N N N ALLOW
+08-subtree-checks all 1006 0-10 1 3 N N N KILL
+08-subtree-checks all 1006 10 2-100 2 N N N ALLOW
+08-subtree-checks all 1007 0 0 1 3 N N TRAP
+08-subtree-checks all 1007 1 1 1 0-2 1 1 KILL
+08-subtree-checks all 1007 1 1 2 0-2 1 1 ALLOW
+08-subtree-checks all 1007 1 1 2 4-6 1 1 ALLOW
+08-subtree-checks all 1007 1 1 0 3 1 1 KILL
diff --git a/tests/09-syscall-priority-pre.tests b/tests/09-syscall-priority-pre.tests
index a876641..cb67bc2 100644
--- a/tests/09-syscall-priority-pre.tests
+++ b/tests/09-syscall-priority-pre.tests
@@ -7,10 +7,10 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-09-syscall-priority-pre all 999 N N N N N N KILL
-09-syscall-priority-pre all 1000-1002 0 1 N N N N ALLOW
-09-syscall-priority-pre all 1000 0 2 N N N N KILL
-09-syscall-priority-pre all 1001-1002 0 2 N N N N ALLOW
-09-syscall-priority-pre all 1000-1001 1 1 N N N N KILL
-09-syscall-priority-pre all 1003 N N N N N N KILL
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+09-syscall-priority-pre all 999 N N N N N N KILL
+09-syscall-priority-pre all 1000-1002 0 1 N N N N ALLOW
+09-syscall-priority-pre all 1000 0 2 N N N N KILL
+09-syscall-priority-pre all 1001-1002 0 2 N N N N ALLOW
+09-syscall-priority-pre all 1000-1001 1 1 N N N N KILL
+09-syscall-priority-pre all 1003 N N N N N N KILL
diff --git a/tests/10-syscall-priority-post.tests b/tests/10-syscall-priority-post.tests
index 69603cb..6d382aa 100644
--- a/tests/10-syscall-priority-post.tests
+++ b/tests/10-syscall-priority-post.tests
@@ -7,10 +7,10 @@
test type: bpf-sim
-# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
-10-syscall-priority-post all 999 N N N N N N KILL
-10-syscall-priority-post all 1000-1002 0 1 N N N N ALLOW
-10-syscall-priority-post all 1000 0 2 N N N N KILL
-10-syscall-priority-post all 1001-1002 0 2 N N N N ALLOW
-10-syscall-priority-post all 1000-1001 1 1 N N N N KILL
-10-syscall-priority-post all 1003 N N N N N N KILL
+# Testname Arch Syscall Arg0 Arg1 Arg2 Arg3 Arg4 Arg5 Result
+10-syscall-priority-post all 999 N N N N N N KILL
+10-syscall-priority-post all 1000-1002 0 1 N N N N ALLOW
+10-syscall-priority-post all 1000 0 2 N N N N KILL
+10-syscall-priority-post all 1001-1002 0 2 N N N N ALLOW
+10-syscall-priority-post all 1000-1001 1 1 N N N N KILL
+10-syscall-priority-post all 1003 N N N N N N KILL
diff --git a/tests/regression b/tests/regression
index 6375765..220ad78 100755
--- a/tests/regression
+++ b/tests/regression
@@ -132,7 +132,7 @@ function print_valgrind() {
# 2 string containing dash-separated range or a single value
#
function get_range() {
- if [[ $2 =~ ^[0-9]+-[0-9]+$ ]]; then
+ if [[ $2 =~ ^[0-9a-fA-Fx]+-[0-9a-fA-Fx]+$ ]]; then
# If there's a dash, get the low or high range value
range_val=`echo "$2" | cut -d'-' -f "$1"`
else
@@ -285,20 +285,13 @@ function run_test_bpf_sim() {
# If ranges exist, the following will loop through all syscall and arg
# ranges and generate/run every combination of requested tests. If no
# ranges were specifed, then the single test is run.
- for sys in `seq $low_syscall $high_syscall`;
- do
- for arg0 in `seq ${low_arg[0]} ${high_arg[0]}`;
- do
- for arg1 in `seq ${low_arg[1]} ${high_arg[1]}`;
- do
- for arg2 in `seq ${low_arg[2]} ${high_arg[2]}`;
- do
- for arg3 in `seq ${low_arg[3]} ${high_arg[3]}`;
- do
- for arg4 in `seq ${low_arg[4]} ${high_arg[4]}`;
- do
- for arg5 in `seq ${low_arg[5]} ${high_arg[5]}`;
- do
+ for sys in `seq -f "%1.0f" $low_syscall $high_syscall`; do
+ for arg0 in `seq -f "%1.0f" ${low_arg[0]} ${high_arg[0]}`; do
+ for arg1 in `seq -f "%1.0f" ${low_arg[1]} ${high_arg[1]}`; do
+ for arg2 in `seq -f "%1.0f" ${low_arg[2]} ${high_arg[2]}`; do
+ for arg3 in `seq -f "%1.0f" ${low_arg[3]} ${high_arg[3]}`; do
+ for arg4 in `seq -f "%1.0f" ${low_arg[4]} ${high_arg[4]}`; do
+ for arg5 in `seq -f "%1.0f" ${low_arg[5]} ${high_arg[5]}`; do
local -a arg=($arg0 $arg1 $arg2 $arg3 $arg4 $arg5)
data=()
testdata=""