diff options
author | Hadriel Kaplan <hadrielk@yahoo.com> | 2014-02-22 00:44:00 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2014-03-10 07:11:12 +0000 |
commit | ea46cdc4748d84d5026a7703b25e427f8170833e (patch) | |
tree | 97c581cda8563f0b91996fd685c9dc6fb42eeba5 /test/suite-wslua.sh | |
parent | 81c0091c0ad593c5ded0af4622cf10c19cb18ae7 (diff) |
Add GLib's regex library into Lua
While Lua's built-in pattern support is ok for simple things, many people end
up wanting a real regex engine. Since Wireshark already includes the GLib
Regex library (a wrapper for PCRE), it makes sense to expose that library to
Lua scripts. This has been done using Lrexlib, one of the most popular regex
bindings for Lua. Lrexlib didn't support binding GLib's Regex in particular -
it does for PCRE but GLib is a different API - so I've done that. A fairly
thorough testsuite came along with that, which has been incorporated into the
wireshark wslua testuites as well in this commit.
Change-Id: I05811d1edf7af8d7c9f4f081de6850f31c0717c7
Reviewed-on: https://code.wireshark.org/review/332
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'test/suite-wslua.sh')
-rwxr-xr-x | test/suite-wslua.sh | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/test/suite-wslua.sh b/test/suite-wslua.sh index 20b97f96ab..f734f41aea 100755 --- a/test/suite-wslua.sh +++ b/test/suite-wslua.sh @@ -196,7 +196,7 @@ wslua_step_args_test() { test_step_ok } -unittests_step_globals_test() { +wslua_step_globals_test() { if [ $HAVE_LUA -ne 0 ]; then test_step_skipped return @@ -218,6 +218,22 @@ unittests_step_globals_test() { test_step_ok } +wslua_step_gregex_test() { + if [ $HAVE_LUA -ne 0 ]; then + test_step_skipped + return + fi + + # Tshark catches lua script failures, so we have to parse the output. + $TSHARK -r $CAPTURE_DIR/empty.pcap -X lua_script:$TESTS_DIR/lua/gregex.lua -X lua_script1:-d$TESTS_DIR/lua/ -X lua_script1:glib -X lua_script1:-V > testout.txt 2>&1 + if grep -q "All tests passed!" testout.txt; then + test_step_ok + else + cat testout.txt + test_step_failed "didn't find pass marker" + fi +} + wslua_step_struct_test() { if [ $HAVE_LUA -ne 0 ]; then test_step_skipped @@ -244,7 +260,8 @@ wslua_suite() { test_step_set_post wslua_cleanup_step test_step_add "wslua dissector" wslua_step_dissector_test test_step_add "wslua field/fieldinfo" wslua_step_field_test - test_step_add "wslua globals" unittests_step_globals_test + test_step_add "wslua globals" wslua_step_globals_test + test_step_add "wslua gregex" wslua_step_gregex_test test_step_add "wslua int64" wslua_step_int64_test test_step_add "wslua listener" wslua_step_listener_test test_step_add "wslua nstime" wslua_step_nstime_test |