From 83dd7cf580b9d99c9ffd622a3d69cb7412933071 Mon Sep 17 00:00:00 2001 From: Arne Welzel Date: Mon, 24 Apr 2023 20:09:19 +0200 Subject: [PATCH] test/builtin-plugins: Add plugin using ZEEK_VERSION_NUMBER --- .cirrus.yml | 2 +- .../Baseline/tests.plugins-exist/out | 1 + .../Files/zeek-version-plugin/.btest-ignore | 0 .../Files/zeek-version-plugin/CMakeLists.txt | 16 ++++++++++ .../Files/zeek-version-plugin/VERSION | 1 + .../Files/zeek-version-plugin/src/Plugin.cc | 31 +++++++++++++++++++ .../Files/zeek-version-plugin/src/Plugin.h | 20 ++++++++++++ .../builtin-plugins/tests/plugins-exist.zeek | 1 + 8 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 testing/builtin-plugins/Files/zeek-version-plugin/.btest-ignore create mode 100644 testing/builtin-plugins/Files/zeek-version-plugin/CMakeLists.txt create mode 100644 testing/builtin-plugins/Files/zeek-version-plugin/VERSION create mode 100644 testing/builtin-plugins/Files/zeek-version-plugin/src/Plugin.cc create mode 100644 testing/builtin-plugins/Files/zeek-version-plugin/src/Plugin.h diff --git a/.cirrus.yml b/.cirrus.yml index 94b17feaca..a88cf23fa0 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -695,7 +695,7 @@ include_plugins_debian11_task: folder: /tmp/ccache fingerprint_script: echo builtin-plugins-ccache-$ZEEK_CCACHE_EPOCH-$CIRRUS_TASK_NAME-$CIRRUS_OS reupload_on_changes: true - build_script: ZEEK_CI_CONFIGURE_FLAGS="${ZEEK_CI_CONFIGURE_FLAGS} --include-plugins='/zeek/testing/builtin-plugins/Files/protocol-plugin;/zeek/testing/builtin-plugins/Files/py-lib-plugin'" ./ci/build.sh + build_script: ZEEK_CI_CONFIGURE_FLAGS="${ZEEK_CI_CONFIGURE_FLAGS} --include-plugins='/zeek/testing/builtin-plugins/Files/protocol-plugin;/zeek/testing/builtin-plugins/Files/py-lib-plugin;/zeek/testing/builtin-plugins/Files/zeek-version-plugin'" ./ci/build.sh test_script: - cd testing/builtin-plugins && ../../auxil/btest/btest -d -b -j ${ZEEK_CI_BTEST_JOBS} on_failure: diff --git a/testing/builtin-plugins/Baseline/tests.plugins-exist/out b/testing/builtin-plugins/Baseline/tests.plugins-exist/out index b2917349e8..303d5ee040 100644 --- a/testing/builtin-plugins/Baseline/tests.plugins-exist/out +++ b/testing/builtin-plugins/Baseline/tests.plugins-exist/out @@ -1,3 +1,4 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. Zeek::PyLib - Plugin embedding Python, whoosh. (built-in) Demo::Foo - A Foo test analyzer (built-in) +Demo::Version - Tries to use ZEEK_VERSION_NUMBER (built-in) diff --git a/testing/builtin-plugins/Files/zeek-version-plugin/.btest-ignore b/testing/builtin-plugins/Files/zeek-version-plugin/.btest-ignore new file mode 100644 index 0000000000..e69de29bb2 diff --git a/testing/builtin-plugins/Files/zeek-version-plugin/CMakeLists.txt b/testing/builtin-plugins/Files/zeek-version-plugin/CMakeLists.txt new file mode 100644 index 0000000000..e2637688d3 --- /dev/null +++ b/testing/builtin-plugins/Files/zeek-version-plugin/CMakeLists.txt @@ -0,0 +1,16 @@ + +project(Zeek-Plugin-Demo-Version) + +cmake_minimum_required(VERSION 3.15) + +if ( NOT ZEEK_DIST ) + message(FATAL_ERROR "ZEEK_DIST not set") +endif () + +set(CMAKE_MODULE_PATH ${ZEEK_DIST}/cmake) + +include(ZeekPlugin) + +zeek_plugin_begin(Demo Version) +zeek_plugin_cc(src/Plugin.cc) +zeek_plugin_end() diff --git a/testing/builtin-plugins/Files/zeek-version-plugin/VERSION b/testing/builtin-plugins/Files/zeek-version-plugin/VERSION new file mode 100644 index 0000000000..6e8bf73aa5 --- /dev/null +++ b/testing/builtin-plugins/Files/zeek-version-plugin/VERSION @@ -0,0 +1 @@ +0.1.0 diff --git a/testing/builtin-plugins/Files/zeek-version-plugin/src/Plugin.cc b/testing/builtin-plugins/Files/zeek-version-plugin/src/Plugin.cc new file mode 100644 index 0000000000..dc5d9d7a88 --- /dev/null +++ b/testing/builtin-plugins/Files/zeek-version-plugin/src/Plugin.cc @@ -0,0 +1,31 @@ + +#include "Plugin.h" + +#include +#include + +namespace btest::plugin::Demo_Version + { +Plugin plugin; + } + +using namespace btest::plugin::Demo_Version; + +zeek::plugin::Configuration Plugin::Configure() + { + zeek::plugin::Configuration config; + config.name = "Demo::Version"; + config.description = "Tries to use ZEEK_VERSION_NUMBER"; + config.version.major = 1; + config.version.minor = 0; + config.version.patch = 0; + return config; + } + +void Plugin::InitPostScript() + { +#ifndef ZEEK_VERSION_NUMBER +#error "ZEEK_VERSION_NUMBER is not defined" +#endif + zeek::reporter->Info("All good ZEEK_VERSION_NUMBER=%d\n", ZEEK_VERSION_NUMBER); + } diff --git a/testing/builtin-plugins/Files/zeek-version-plugin/src/Plugin.h b/testing/builtin-plugins/Files/zeek-version-plugin/src/Plugin.h new file mode 100644 index 0000000000..94eda107d2 --- /dev/null +++ b/testing/builtin-plugins/Files/zeek-version-plugin/src/Plugin.h @@ -0,0 +1,20 @@ + +#pragma once + +#include + +namespace btest::plugin::Demo_Version + { + +class Plugin : public zeek::plugin::Plugin + { +protected: + // Overridden from zeek::plugin::Plugin. + zeek::plugin::Configuration Configure() override; + + void InitPostScript() override; + }; + +extern Plugin plugin; + + } diff --git a/testing/builtin-plugins/tests/plugins-exist.zeek b/testing/builtin-plugins/tests/plugins-exist.zeek index 229d809d69..454e29a8bd 100644 --- a/testing/builtin-plugins/tests/plugins-exist.zeek +++ b/testing/builtin-plugins/tests/plugins-exist.zeek @@ -2,4 +2,5 @@ # @TEST-EXEC: zeek -N Zeek::PyLib >>out # @TEST-EXEC: zeek -N Demo::Foo >>out +# @TEST-EXEC: zeek -N Demo::Version >>out # @TEST-EXEC: btest-diff out