diff --git a/testing/btest/Baseline/plugins.init-hooks/out b/testing/btest/Baseline/plugins.init-hooks/out new file mode 100644 index 0000000000..1ebc531bbc --- /dev/null +++ b/testing/btest/Baseline/plugins.init-hooks/out @@ -0,0 +1,8 @@ +### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. +Configure() +InitPreScript() +InitPostScript() +InitPreExecution() +zeek_init +zeek_done +Done() diff --git a/testing/btest/plugins/init-hooks-plugin/.btest-ignore b/testing/btest/plugins/init-hooks-plugin/.btest-ignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/testing/btest/plugins/init-hooks-plugin/src/Plugin.cc b/testing/btest/plugins/init-hooks-plugin/src/Plugin.cc new file mode 100644 index 0000000000..32b79e2047 --- /dev/null +++ b/testing/btest/plugins/init-hooks-plugin/src/Plugin.cc @@ -0,0 +1,28 @@ +#include "Plugin.h" + +#include +namespace btest::plugin::Demo_InitHooks { +Plugin plugin; +} + +using namespace btest::plugin::Demo_InitHooks; + +zeek::plugin::Configuration Plugin::Configure() { + setlinebuf(stdout); + std::fprintf(stdout, "Configure()\n"); + zeek::plugin::Configuration config; + config.name = "Demo::InitHooks"; + config.description = "Test Init and Done hooks"; + config.version.major = 1; + config.version.minor = 0; + config.version.patch = 0; + return config; +} + +void Plugin::InitPreScript() { std::fprintf(stdout, "InitPreScript()\n"); } + +void Plugin::InitPostScript() { std::fprintf(stdout, "InitPostScript()\n"); } + +void Plugin::InitPreExecution() { std::fprintf(stdout, "InitPreExecution()\n"); } + +void Plugin::Done() { std::fprintf(stdout, "Done()\n"); } diff --git a/testing/btest/plugins/init-hooks-plugin/src/Plugin.h b/testing/btest/plugins/init-hooks-plugin/src/Plugin.h new file mode 100644 index 0000000000..6757f66e60 --- /dev/null +++ b/testing/btest/plugins/init-hooks-plugin/src/Plugin.h @@ -0,0 +1,18 @@ +#pragma once +#include +#include + +namespace btest::plugin::Demo_InitHooks { + + +class Plugin : public zeek::plugin::Plugin { +protected: + zeek::plugin::Configuration Configure() override; + void InitPreScript() override; + void InitPostScript() override; + void InitPreExecution() override; + void Done() override; +}; + +extern Plugin plugin; +} // namespace btest::plugin::Demo_InitHooks diff --git a/testing/btest/plugins/init-hooks.zeek b/testing/btest/plugins/init-hooks.zeek new file mode 100644 index 0000000000..bd709e40b9 --- /dev/null +++ b/testing/btest/plugins/init-hooks.zeek @@ -0,0 +1,17 @@ +# @TEST-EXEC: ${DIST}/auxil/zeek-aux/plugin-support/init-plugin -u . Demo InitHooks +# @TEST-EXEC: cp -r %DIR/init-hooks-plugin/* . + +# @TEST-EXEC: ./configure --zeek-dist=${DIST} && make +# +# @TEST-EXEC: ZEEK_PLUGIN_PATH=`pwd` zeek -b %INPUT >out +# @TEST-EXEC: TEST_DIFF_CANONIFIER= btest-diff out + +@load-plugin Demo::InitHooks + +event zeek_init() { + print "zeek_init"; +} + +event zeek_done() { + print "zeek_done"; +}