mirror of
https://github.com/rosenpass/rosenpass.git
synced 2025-12-05 20:40:02 -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-new.url = "github:rosenpass/rosenpass/main";
|
||||
};
|
||||
|
||||
outputs =
|
||||
inputs:
|
||||
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
|
||||
@@ -23,115 +22,25 @@
|
||||
perSystem =
|
||||
{ system, lib, ... }:
|
||||
let
|
||||
|
||||
# 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;
|
||||
});
|
||||
rosenpass-new = inputs.rosenpass-new.packages.${system}.default.overrideAttrs (old: {
|
||||
rosenpassNew = inputs.rosenpass-old.packages.${system}.default.overrideAttrs (old: {
|
||||
doCheck = false;
|
||||
});
|
||||
|
||||
basicConnectivityOverlay = final: prev: {
|
||||
rosenpass-peer-a = rosenpass-new;
|
||||
rosenpass-peer-b = rosenpass-new;
|
||||
defaultChecks = import ./integration-checks.nix {
|
||||
inherit
|
||||
system
|
||||
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
|
||||
{
|
||||
checks.basicConnectivity = pkgsBasicConnectivity.testers.runNixOSTest (
|
||||
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;
|
||||
}
|
||||
);
|
||||
checks = defaultChecks;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
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