diff options
author | Reyk Floeter <reyk@esdenera.com> | 2015-06-23 10:28:07 +0200 |
---|---|---|
committer | Reyk Floeter <reyk@esdenera.com> | 2015-06-23 10:29:07 +0200 |
commit | ca5a2bf34a994373a6976865d4f112b8085b8ae8 (patch) | |
tree | d9f28b85b6b221e7059e551470f352c0ade7a8e7 /regress | |
parent | a6ac783e163ccffbcd2d28627497a7bb31a9dd3b (diff) | |
download | httpd-ca5a2bf34a994373a6976865d4f112b8085b8ae8.tar.gz httpd-ca5a2bf34a994373a6976865d4f112b8085b8ae8.zip |
Add tests with lua53 for comparison
Diffstat (limited to 'regress')
-rw-r--r-- | regress/patterns/Makefile | 11 | ||||
-rw-r--r-- | regress/patterns/patterns-tester.lua | 2 | ||||
-rw-r--r-- | regress/patterns/test-patterns-lua.out | 100 |
3 files changed, 113 insertions, 0 deletions
diff --git a/regress/patterns/Makefile b/regress/patterns/Makefile index 024f96e..995b416 100644 --- a/regress/patterns/Makefile +++ b/regress/patterns/Makefile @@ -8,6 +8,11 @@ REGRESS_TARGETS= test-patterns CLEANFILES += patterns-tester +#LUA?= lua53 +.ifdef LUA +REGRESS_TARGETS+= test-patterns-lua +.endif + patterns-tester: patterns-tester.c patterns.c patterns.h ${CC} -o $@ ${CFLAGS} ${.CURDIR}/patterns-tester.c ${HTTPDSRC}/patterns.c -I${HTTPDSRC} @@ -17,4 +22,10 @@ test-patterns: patterns-tester test-patterns.out test-patterns.in ./patterns-tester "$${string}" "$${pattern}" 2>&1 || true; \ done | diff -I 'OpenBSD' -u ${.CURDIR}/test-patterns.out - +test-patterns-lua: patterns-tester.lua test-patterns-lua.out test-patterns.in + cat ${.CURDIR}/test-patterns.in | grep -v '^#' | \ + while IFS=' ' read string pattern comments ; do \ + ${LUA} ./patterns-tester.lua "$${string}" "$${pattern}" 2>&1 || true; \ + done | diff -I 'OpenBSD' -u ${.CURDIR}/test-patterns-lua.out - + .include <bsd.regress.mk> diff --git a/regress/patterns/patterns-tester.lua b/regress/patterns/patterns-tester.lua new file mode 100644 index 0000000..15df0a7 --- /dev/null +++ b/regress/patterns/patterns-tester.lua @@ -0,0 +1,2 @@ +print(string.format("string='%s'\npattern='%s'", arg[1], arg[2])); +print(string.match(arg[1], arg[2])); diff --git a/regress/patterns/test-patterns-lua.out b/regress/patterns/test-patterns-lua.out new file mode 100644 index 0000000..cd9fe6a --- /dev/null +++ b/regress/patterns/test-patterns-lua.out @@ -0,0 +1,100 @@ +# $OpenBSD$ +string='/page/51' +pattern='^/(%a+)/(%d+)$' +page 51 +string='/Apage/51' +pattern='/[^%d][%w%u][^%c]+()[%d]+' +9 +string='/^page/51' +pattern='/^(.a.e)/(.)' +page 5 +string='/page/page-51' +pattern='/(.*)/%1-(%d+)' +page 51 +string='/page/[51]' +pattern='/page/(%b[])' +[51] +string=':-]' +pattern=']+' +] +string=':-)' +pattern='[)]+' +) +string='/page/51' +pattern='$^' +nil +string='1234567890' +pattern='([2-5]-)' + +string='****' +pattern='^**$' +**** +string='xxxx' +pattern='^x*$' +xxxx +string='/page/51' +pattern='no-%d-match' +nil +string='/page/page-51' +pattern='/(.*)/%9-(%d+)' +lua53: ./patterns-tester.lua:2: invalid capture index %9 +stack traceback: + [C]: in function 'string.match' + ./patterns-tester.lua:2: in main chunk + [C]: in ? +string=':-)' +pattern=')+' +lua53: ./patterns-tester.lua:2: invalid pattern capture +stack traceback: + [C]: in function 'string.match' + ./patterns-tester.lua:2: in main chunk + [C]: in ? +string='/page/51' +pattern='/page/51(' +lua53: ./patterns-tester.lua:2: unfinished capture +stack traceback: + [C]: in function 'string.match' + ./patterns-tester.lua:2: in main chunk + [C]: in ? +string='/page/51' +pattern='/page/51%' +lua53: ./patterns-tester.lua:2: malformed pattern (ends with '%') +stack traceback: + [C]: in function 'string.match' + ./patterns-tester.lua:2: in main chunk + [C]: in ? +string='/page/51' +pattern='/page/[51' +lua53: ./patterns-tester.lua:2: malformed pattern (missing ']') +stack traceback: + [C]: in function 'string.match' + ./patterns-tester.lua:2: in main chunk + [C]: in ? +string='/page/(51)' +pattern='/page/%b(' +lua53: ./patterns-tester.lua:2: malformed pattern (missing arguments to '%b') +stack traceback: + [C]: in function 'string.match' + ./patterns-tester.lua:2: in main chunk + [C]: in ? +string='/page/51' +pattern='()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()()' +lua53: ./patterns-tester.lua:2: too many captures +stack traceback: + [C]: in function 'string.match' + ./patterns-tester.lua:2: in main chunk + [C]: in ? +string='/page/51' +pattern='/page/%f' +lua53: ./patterns-tester.lua:2: missing '[' after '%f' in pattern +stack traceback: + [C]: in function 'string.match' + ./patterns-tester.lua:2: in main chunk + [C]: in ? +string='/page/51' +pattern='/page%f/51' +lua53: ./patterns-tester.lua:2: missing '[' after '%f' in pattern +stack traceback: + [C]: in function 'string.match' + ./patterns-tester.lua:2: in main chunk + [C]: in ? |