summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-03-19 13:58:39 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2009-03-19 13:58:39 +0100
commit935018ed625bc4cf1d6b28fa16e0986078029aaf (patch)
tree90af715a240b1ec3642ebca62e2d74216d7d5f34
parent208f4e107c78b00c3bdf09301d1b1e43e1b9fdf8 (diff)
downloadrsyslog-935018ed625bc4cf1d6b28fa16e0986078029aaf.tar.gz
rsyslog-935018ed625bc4cf1d6b28fa16e0986078029aaf.tar.xz
rsyslog-935018ed625bc4cf1d6b28fa16e0986078029aaf.zip
adapted test framework to new script engine
-rw-r--r--Makefile.am2
-rw-r--r--tests/1.rstest34
-rw-r--r--tests/2.rstest4
-rw-r--r--tests/3.rstest21
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/rscript.c5
6 files changed, 46 insertions, 22 deletions
diff --git a/Makefile.am b/Makefile.am
index 7bb6af8e..87e378ee 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,3 +1,5 @@
+AUTOMAKE_OPTIONS=dejagnu
+
sbin_PROGRAMS =
pkglib_LTLIBRARIES =
diff --git a/tests/1.rstest b/tests/1.rstest
index 5c152589..4716e8b3 100644
--- a/tests/1.rstest
+++ b/tests/1.rstest
@@ -4,23 +4,23 @@ in:
'test 1' <> $var or /* some comment */($SEVERITY == -4 +5 -(3 * - 2) and $fromhost == '127.0.0.1') then
$$$
out:
-00000000: PUSHCONSTANT test 1[cstr]
-00000001: PUSHMSGVAR var[cstr]
-00000002: !=
-00000003: PUSHMSGVAR severity[cstr]
-00000004: PUSHCONSTANT 4[nbr]
-00000005: UNARY_MINUS
-00000006: PUSHCONSTANT 5[nbr]
-00000007: +
-00000008: PUSHCONSTANT 3[nbr]
-00000009: PUSHCONSTANT 2[nbr]
-00000010: UNARY_MINUS
-00000011: *
-00000012: -
-00000013: ==
-00000014: PUSHMSGVAR fromhost[cstr]
-00000015: PUSHCONSTANT 127.0.0.1[cstr]
-00000016: ==
+00000000: push_const test 1[cstr]
+00000001: push_msgvar var[cstr]
+00000002: cmp_!=
+00000003: push_msgvar severity[cstr]
+00000004: push_const 4[nbr]
+00000005: unary_minus
+00000006: push_const 5[nbr]
+00000007: add
+00000008: push_const 3[nbr]
+00000009: push_const 2[nbr]
+00000010: unary_minus
+00000011: mul
+00000012: sub
+00000013: cmp_==
+00000014: push_msgvar fromhost[cstr]
+00000015: push_const 127.0.0.1[cstr]
+00000016: cmp_==
00000017: and
00000018: or
$$$
diff --git a/tests/2.rstest b/tests/2.rstest
index 7fb5b799..f0e8205b 100644
--- a/tests/2.rstest
+++ b/tests/2.rstest
@@ -4,7 +4,7 @@ in:
$msg contains 'test' then
$$$
out:
-00000000: PUSHMSGVAR msg[cstr]
-00000001: PUSHCONSTANT test[cstr]
+00000000: push_msgvar msg[cstr]
+00000001: push_const test[cstr]
00000002: contains
$$$
diff --git a/tests/3.rstest b/tests/3.rstest
new file mode 100644
index 00000000..93cb941a
--- /dev/null
+++ b/tests/3.rstest
@@ -0,0 +1,21 @@
+# a simple RainerScript test
+result: 0
+in:
+strlen($msg & strlen('abc')) > 20 +30 + -40 then
+$$$
+out:
+00000000: push_msgvar msg[cstr]
+00000001: push_const abc[cstr]
+00000002: push_const 1[nbr]
+00000003: func_call strlen[cstr]
+00000004: strconcat
+00000005: push_const 1[nbr]
+00000006: func_call strlen[cstr]
+00000007: push_const 20[nbr]
+00000008: push_const 30[nbr]
+00000009: add
+00000010: push_const 40[nbr]
+00000011: unary_minus
+00000012: add
+00000013: cmp_>
+$$$
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 14e7c195..7a31be45 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -4,7 +4,7 @@ TESTS_ENVIRONMENT = RSYSLOG_MODDIR='$(abs_top_builddir)'/runtime/.libs/
#TESTS = $(check_PROGRAMS)
test_files = testbench.h runtime-dummy.c
-EXTRA_DIST=1.rstest 2.rstest err1.rstest \
+EXTRA_DIST=1.rstest 2.rstest 3.rstest err1.rstest \
cfg.sh \
cfg1.cfgtest \
cfg1.testin \
diff --git a/tests/rscript.c b/tests/rscript.c
index d4e8caeb..3eec9c3c 100644
--- a/tests/rscript.c
+++ b/tests/rscript.c
@@ -101,9 +101,10 @@ PerformTest(cstr_t *pstrIn, rsRetVal iRetExpected, cstr_t *pstrOut)
CHKiRet(vmprg.Obj2Str(pExpr->pVmprg, pstrPrg));
if(strcmp((char*)rsCStrGetSzStr(pstrPrg), (char*)rsCStrGetSzStr(pstrOut))) {
+ int iLen;
printf("error: compiled program different from expected result!\n");
- printf("generated vmprg:\n%s\n", rsCStrGetSzStr(pstrPrg));
- printf("expected:\n%s\n", rsCStrGetSzStr(pstrOut));
+ printf("generated vmprg (%d bytes):\n%s\n", strlen(rsCStrGetSzStr(pstrPrg)), rsCStrGetSzStr(pstrPrg));
+ printf("expected (%d bytes):\n%s\n", strlen(rsCStrGetSzStr(pstrOut)), rsCStrGetSzStr(pstrOut));
ABORT_FINALIZE(RS_RET_ERR);
}