tests: refactor
This commit is contained in:
parent
8a6bd41baa
commit
d7a0cbefe5
12 changed files with 184 additions and 127 deletions
22
package.nix
22
package.nix
|
|
@ -2,9 +2,12 @@
|
|||
lib,
|
||||
stdenvNoCC,
|
||||
callPackage,
|
||||
linkFarm,
|
||||
}: let
|
||||
stdenv = stdenvNoCC;
|
||||
in stdenv.mkDerivation (self: {
|
||||
in stdenv.mkDerivation (finalAttrs: let
|
||||
self = finalAttrs.finalPackage;
|
||||
in {
|
||||
name = "dynix-modules";
|
||||
|
||||
strictDeps = true;
|
||||
|
|
@ -21,12 +24,15 @@ in stdenv.mkDerivation (self: {
|
|||
|
||||
phases = [ "unpackPhase" "patchPhase" "installPhase" ];
|
||||
|
||||
modulesOut = "${placeholder "modules"}/share/nixos/modules/dynix";
|
||||
|
||||
installPhase = lib.dedent ''
|
||||
runHook preInstall
|
||||
mkdir -p "$out"
|
||||
cp -r * "$out/"
|
||||
|
||||
mkdir -p "$modules/share/nixos/modules/dynix"
|
||||
cp --reflink=auto -r "$out/"* "$modules/share/nixos/modules/dynix/"
|
||||
cp --reflink=auto -r "$out/"* "$modulesOut/"
|
||||
'';
|
||||
|
||||
passthru.mkDevShell = {
|
||||
|
|
@ -39,7 +45,7 @@ in stdenv.mkDerivation (self: {
|
|||
p.beartype
|
||||
]);
|
||||
in mkShell' {
|
||||
name = "devshell-for-${self.finalPackage.name}";
|
||||
name = "devshell-for-${self.name}";
|
||||
packages = [ pyEnv ];
|
||||
env.PYTHONPATH = [
|
||||
"${pyEnv}/${pyEnv.sitePackages}"
|
||||
|
|
@ -48,13 +54,19 @@ in stdenv.mkDerivation (self: {
|
|||
] |> lib.concatStringsSep ":";
|
||||
};
|
||||
|
||||
passthru.modulesPath = self.finalPackage.modules + "/share/nixos/modules";
|
||||
passthru.modulesPath = self.modules + "/share/nixos/modules";
|
||||
|
||||
passthru.tests = lib.fix (callPackage ./tests {
|
||||
dynix = self.finalPackage;
|
||||
dynix = self;
|
||||
}).packages;
|
||||
|
||||
passthru.allTests = linkFarm "dynix-all-tests" self.tests;
|
||||
|
||||
meta = {
|
||||
longDescription = lib.dedent ''
|
||||
Default output contains the modules at top-level, meant for `import`.
|
||||
The `modules` output contains the modules prefixed under `/share/nixos/modules/dynix`.
|
||||
'';
|
||||
outputsToInstall = [ "modules" ];
|
||||
};
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue