]> git.ipfire.org Git - thirdparty/suricata-verify.git/commitdiff
tests: add lua stats test
authorVictor Julien <victor@inliniac.net>
Sat, 1 Jun 2024 11:04:45 +0000 (13:04 +0200)
committerVictor Julien <victor@inliniac.net>
Sat, 1 Jun 2024 18:31:12 +0000 (20:31 +0200)
tests/lua-output-stats/README.md [new file with mode: 0644]
tests/lua-output-stats/suricata.yaml [new file with mode: 0644]
tests/lua-output-stats/test.lua [new file with mode: 0644]
tests/lua-output-stats/test.pcap [new file with mode: 0644]
tests/lua-output-stats/test.yaml [new file with mode: 0644]

diff --git a/tests/lua-output-stats/README.md b/tests/lua-output-stats/README.md
new file mode 100644 (file)
index 0000000..bdafb8c
--- /dev/null
@@ -0,0 +1,3 @@
+Tests the output of stats being logged by Lua.
+
+PCAPs created by Jason Ish.
diff --git a/tests/lua-output-stats/suricata.yaml b/tests/lua-output-stats/suricata.yaml
new file mode 100644 (file)
index 0000000..5cd3ea7
--- /dev/null
@@ -0,0 +1,9 @@
+%YAML 1.1
+---
+
+outputs:
+  - lua:
+      enabled: yes
+      scripts-dir: .
+      scripts:
+        - test.lua
diff --git a/tests/lua-output-stats/test.lua b/tests/lua-output-stats/test.lua
new file mode 100644 (file)
index 0000000..d3c0f6d
--- /dev/null
@@ -0,0 +1,29 @@
+filename = "lua-stats.log"
+
+function init (args)
+    local needs = {}
+    needs["type"] = "stats"
+    return needs
+end
+
+function setup (args)
+   file = assert(io.open(SCLogPath() .. "/" .. filename, "w"))
+end
+
+function log(args)
+    for n, v in ipairs(args) do
+        --print(n .. " - " .. v["name"] .. " == " .. v["value"]);
+        if (v["name"] == "decoder.pkts") then
+            msg = string.format("packets %u", v["value"]);
+            write(msg)
+        end
+    end
+end
+
+function deinit(args)
+   file:close(file)
+end
+
+function write(msg)
+   file:write(msg .. "\n")
+end
diff --git a/tests/lua-output-stats/test.pcap b/tests/lua-output-stats/test.pcap
new file mode 100644 (file)
index 0000000..20db7a1
Binary files /dev/null and b/tests/lua-output-stats/test.pcap differ
diff --git a/tests/lua-output-stats/test.yaml b/tests/lua-output-stats/test.yaml
new file mode 100644 (file)
index 0000000..0513752
--- /dev/null
@@ -0,0 +1,8 @@
+requires:
+  features:
+    - HAVE_LUA
+
+checks:
+  - shell:
+      args: grep 'packets 10' lua-stats.log | wc -l
+      expect: 1