From 651d59cc8c3dfe2d4e5c8a015cf5850bcc58300b Mon Sep 17 00:00:00 2001 From: David Niehues <7667041+DavidNiehues@users.noreply.github.com> Date: Tue, 12 Aug 2025 13:58:00 +0200 Subject: [PATCH] chore(test): Add configFileVersion attribute to the rosenpass nix package and print config file versions of used packages in integration tests --- pkgs/rosenpass.nix | 2 ++ tests/integration/rpsc-test.nix | 23 +++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/pkgs/rosenpass.nix b/pkgs/rosenpass.nix index eaeb40f..23935d5 100644 --- a/pkgs/rosenpass.nix +++ b/pkgs/rosenpass.nix @@ -72,6 +72,8 @@ rustPlatform.buildRustPackage { package ]; + configFileVersion = "1"; + doCheck = true; cargoLock = { diff --git a/tests/integration/rpsc-test.nix b/tests/integration/rpsc-test.nix index 7db6ae1..4b2d395 100644 --- a/tests/integration/rpsc-test.nix +++ b/tests/integration/rpsc-test.nix @@ -17,6 +17,21 @@ let keyExchangePathBC = "/root/peer-bc.osk"; keyExchangePathCB = "/root/peer-cb.osk"; + getConfigFileVersion = + rosenpassVersion: + let + configFileVersion = + if builtins.hasAttr "configFileVersion" rosenpassVersion then + rosenpassVersion.configFileVersion + else + "0"; + in + configFileVersion; + + peerAConfigFileVersion = getConfigFileVersion pkgs.rosenpass-peer-a; + peerBConfigFileVersion = getConfigFileVersion pkgs.rosenpass-peer-b; + peerCConfigFileVersion = if multiPeer then getConfigFileVersion pkgs.rosenpass-peer-c else null; + generateWgKeys = name: let @@ -401,6 +416,14 @@ in testScript = ('' start_all() + print("""Config file versions supported by peers + peerA: ${peerAConfigFileVersion} + peerB: ${peerBConfigFileVersion} + ${lib.optionalString multiPeer '' + peerC: ${peerCConfigFileVersion} + ''} + """) + for m in [peerA, peerB, peerakeyexchanger, peerbkeyexchanger]: m.wait_for_unit("network-online.target")