From 2d0c1e29d2279bd686d964a94c7bc9d851802a03 Mon Sep 17 00:00:00 2001 From: Raito Bezarius Date: Fri, 25 Jul 2025 20:19:42 +0200 Subject: [PATCH] tests/functional: support loading (contributed) plugins This is useful to test extended features in Lix. Change-Id: Idb2416a080329116677809b883950e6c33028a44 Signed-off-by: Raito Bezarius --- tests/functional/common/vars-and-functions.sh.in | 15 +++++++++++++++ tests/functional/init.sh | 1 + 2 files changed, 16 insertions(+) diff --git a/tests/functional/common/vars-and-functions.sh.in b/tests/functional/common/vars-and-functions.sh.in index aa2eee6f5..0739ff8e9 100644 --- a/tests/functional/common/vars-and-functions.sh.in +++ b/tests/functional/common/vars-and-functions.sh.in @@ -251,6 +251,21 @@ runinpty() { @python@ @runinpty@ "$@" } +# Add a plugin to `plugin-files` configuration. +loadPlugin() { + local plugin_path="$1" + sed -i 's|plugin-files .*|& '"$plugin_path"'|' "$NIX_CONF_DIR"/nix.conf +} + +loadContribPlugin() { + local plugin_name="$1" + libext=so + if [[ "$(uname -s)" == Darwin ]]; then + libext=dylib + fi + loadPlugin "$MESON_BUILD_ROOT/contrib/plugins/libplugin_$plugin_name.$libext" +} + set -x onError() { diff --git a/tests/functional/init.sh b/tests/functional/init.sh index 663d04721..33ae8b2bd 100755 --- a/tests/functional/init.sh +++ b/tests/functional/init.sh @@ -27,6 +27,7 @@ gc-reserved-space = 0 substituters = flake-registry = $TEST_ROOT/registry.json show-trace = true +plugin-files = include nix.conf.extra trusted-users = $(whoami || id -u) EOF