mirror of
https://github.com/rosenpass/rosenpass.git
synced 2026-02-28 14:33:37 -08:00
chore(tests): Move generation of integration test checks into an own module
This commit is contained in:
@@ -9,7 +9,6 @@
|
|||||||
rosenpass-old.url = "github:rosenpass/rosenpass/main";
|
rosenpass-old.url = "github:rosenpass/rosenpass/main";
|
||||||
rosenpass-new.url = "github:rosenpass/rosenpass/main";
|
rosenpass-new.url = "github:rosenpass/rosenpass/main";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
inputs:
|
inputs:
|
||||||
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||||
@@ -23,115 +22,25 @@
|
|||||||
perSystem =
|
perSystem =
|
||||||
{ system, lib, ... }:
|
{ system, lib, ... }:
|
||||||
let
|
let
|
||||||
|
|
||||||
# Since other parts of the CI are already doing the unit tests, we deactivate them here.
|
# Since other parts of the CI are already doing the unit tests, we deactivate them here.
|
||||||
rosenpass-old = inputs.rosenpass-old.packages.${system}.default.overrideAttrs (old: {
|
rosenpassOld = inputs.rosenpass-old.packages.${system}.default.overrideAttrs (old: {
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
});
|
});
|
||||||
rosenpass-new = inputs.rosenpass-new.packages.${system}.default.overrideAttrs (old: {
|
rosenpassNew = inputs.rosenpass-old.packages.${system}.default.overrideAttrs (old: {
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
});
|
});
|
||||||
|
defaultChecks = import ./integration-checks.nix {
|
||||||
basicConnectivityOverlay = final: prev: {
|
inherit
|
||||||
rosenpass-peer-a = rosenpass-new;
|
system
|
||||||
rosenpass-peer-b = rosenpass-new;
|
lib
|
||||||
|
rosenpassNew
|
||||||
|
rosenpassOld
|
||||||
|
;
|
||||||
|
pkgs = inputs.nixpkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
backwardServerOverlay = final: prev: {
|
|
||||||
rosenpass-peer-a = rosenpass-old;
|
|
||||||
rosenpass-peer-b = rosenpass-new;
|
|
||||||
};
|
|
||||||
|
|
||||||
backwardClientOverlay = final: prev: {
|
|
||||||
rosenpass-peer-a = rosenpass-new;
|
|
||||||
rosenpass-peer-b = rosenpass-old;
|
|
||||||
};
|
|
||||||
|
|
||||||
multiPeerOverlay = final: prev: {
|
|
||||||
rosenpass-peer-a = rosenpass-new;
|
|
||||||
rosenpass-peer-b = rosenpass-new;
|
|
||||||
rosenpass-peer-c = rosenpass-new;
|
|
||||||
};
|
|
||||||
|
|
||||||
# The current version of ipython fails to build on i686 linux.
|
|
||||||
# We therefore pin an older version that works for the time beeing.
|
|
||||||
ipythonOverlay = final: prev: {
|
|
||||||
python313 = prev.python313.override {
|
|
||||||
packageOverrides = python-final: python-prev: {
|
|
||||||
ipython = python-prev.ipython.overridePythonAttrs (old: {
|
|
||||||
version = "8.37.0";
|
|
||||||
src = python-final.fetchPypi {
|
|
||||||
pname = "ipython";
|
|
||||||
version = "8.37.0";
|
|
||||||
hash = "sha256-yoFYQeGkGh5rc6CwjzA4r5siUlZNAfxAU1bTQDMBIhY=";
|
|
||||||
};
|
|
||||||
});
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pkgsBasicConnectivity = import inputs.nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
overlays = [
|
|
||||||
basicConnectivityOverlay
|
|
||||||
ipythonOverlay
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
pkgsBackwardServer = import inputs.nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
overlays = [
|
|
||||||
backwardServerOverlay
|
|
||||||
ipythonOverlay
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
pkgsBackwardClient = import inputs.nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
overlays = [
|
|
||||||
backwardClientOverlay
|
|
||||||
ipythonOverlay
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
pkgsMultiPeer = import inputs.nixpkgs {
|
|
||||||
inherit system;
|
|
||||||
overlays = [
|
|
||||||
multiPeerOverlay
|
|
||||||
ipythonOverlay
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
checks.basicConnectivity = pkgsBasicConnectivity.testers.runNixOSTest (
|
checks = defaultChecks;
|
||||||
import ./rpsc-test.nix {
|
|
||||||
pkgs = pkgsBasicConnectivity;
|
|
||||||
inherit lib;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
checks.backwardServer = pkgsBackwardServer.testers.runNixOSTest (
|
|
||||||
import ./rpsc-test.nix {
|
|
||||||
pkgs = pkgsBackwardServer;
|
|
||||||
inherit lib;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
checks.backwardClient = pkgsBackwardClient.testers.runNixOSTest (
|
|
||||||
import ./rpsc-test.nix {
|
|
||||||
pkgs = pkgsBackwardClient;
|
|
||||||
inherit lib;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
checks.multiPeer = pkgsMultiPeer.testers.runNixOSTest (
|
|
||||||
import ./rpsc-test.nix {
|
|
||||||
pkgs = pkgsMultiPeer;
|
|
||||||
inherit lib;
|
|
||||||
multiPeer = true;
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
113
tests/integration/integration-checks.nix
Normal file
113
tests/integration/integration-checks.nix
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
system,
|
||||||
|
rosenpassOld,
|
||||||
|
rosenpassNew,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
# The current version of ipython fails to build on i686 linux.
|
||||||
|
# We therefore pin an older version that works for the time beeing.
|
||||||
|
ipythonOverlay = final: prev: {
|
||||||
|
python313 = prev.python313.override {
|
||||||
|
packageOverrides = python-final: python-prev: {
|
||||||
|
ipython = python-prev.ipython.overridePythonAttrs (old: {
|
||||||
|
version = "8.37.0";
|
||||||
|
src = python-final.fetchPypi {
|
||||||
|
pname = "ipython";
|
||||||
|
version = "8.37.0";
|
||||||
|
hash = "sha256-yoFYQeGkGh5rc6CwjzA4r5siUlZNAfxAU1bTQDMBIhY=";
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Since other parts of the CI are already doing the unit tests, we deactivate them here.
|
||||||
|
|
||||||
|
basicConnectivityOverlay = final: prev: {
|
||||||
|
rosenpass-peer-a = rosenpassNew;
|
||||||
|
rosenpass-peer-b = rosenpassNew;
|
||||||
|
};
|
||||||
|
|
||||||
|
backwardServerOverlay = final: prev: {
|
||||||
|
rosenpass-peer-a = rosenpassOld;
|
||||||
|
rosenpass-peer-b = rosenpassNew;
|
||||||
|
};
|
||||||
|
|
||||||
|
backwardClientOverlay = final: prev: {
|
||||||
|
rosenpass-peer-a = rosenpassNew;
|
||||||
|
rosenpass-peer-b = rosenpassOld;
|
||||||
|
};
|
||||||
|
|
||||||
|
multiPeerOverlay = final: prev: {
|
||||||
|
rosenpass-peer-a = rosenpassNew;
|
||||||
|
rosenpass-peer-b = rosenpassNew;
|
||||||
|
rosenpass-peer-c = rosenpassNew;
|
||||||
|
};
|
||||||
|
|
||||||
|
pkgsBasicConnectivity = import pkgs {
|
||||||
|
inherit system;
|
||||||
|
overlays = [
|
||||||
|
basicConnectivityOverlay
|
||||||
|
ipythonOverlay
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
pkgsBackwardServer = import pkgs {
|
||||||
|
inherit system;
|
||||||
|
overlays = [
|
||||||
|
backwardServerOverlay
|
||||||
|
ipythonOverlay
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
pkgsBackwardClient = import pkgs {
|
||||||
|
inherit system;
|
||||||
|
overlays = [
|
||||||
|
backwardClientOverlay
|
||||||
|
ipythonOverlay
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
pkgsMultiPeer = import pkgs {
|
||||||
|
inherit system;
|
||||||
|
overlays = [
|
||||||
|
multiPeerOverlay
|
||||||
|
ipythonOverlay
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
generatedChecks = {
|
||||||
|
basicConnectivity = pkgsBasicConnectivity.testers.runNixOSTest (
|
||||||
|
import ./rpsc-test.nix {
|
||||||
|
pkgs = pkgsBasicConnectivity;
|
||||||
|
inherit lib;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
backwardServer = pkgsBackwardServer.testers.runNixOSTest (
|
||||||
|
import ./rpsc-test.nix {
|
||||||
|
pkgs = pkgsBackwardServer;
|
||||||
|
inherit lib;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
backwardClient = pkgsBackwardClient.testers.runNixOSTest (
|
||||||
|
import ./rpsc-test.nix {
|
||||||
|
pkgs = pkgsBackwardClient;
|
||||||
|
inherit lib;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
multiPeer = pkgsMultiPeer.testers.runNixOSTest (
|
||||||
|
import ./rpsc-test.nix {
|
||||||
|
pkgs = pkgsMultiPeer;
|
||||||
|
inherit lib;
|
||||||
|
multiPeer = true;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
};
|
||||||
|
in
|
||||||
|
generatedChecks
|
||||||
Reference in New Issue
Block a user