aboutsummaryrefslogtreecommitdiff
path: root/package.nix
diff options
context:
space:
mode:
authorQyriad <qyriad@qyriad.me>2024-03-28 20:38:05 +0000
committerGerrit Code Review <gerrit@lix>2024-03-28 20:38:05 +0000
commit81e50fef70c2526f560439fde6dee8d33f961948 (patch)
treee7d40448e0aa07ea4288f20e9c24a696ea740332 /package.nix
parent61d394e34431eb18c2f750f04e8934238d3508bd (diff)
parent038daad2182a22c81861ee7cbb5f0c85f6bb16ba (diff)
Merge "meson: implement functional tests" into main
Diffstat (limited to 'package.nix')
-rw-r--r--package.nix14
1 files changed, 13 insertions, 1 deletions
diff --git a/package.nix b/package.nix
index 5def8416a..082627c49 100644
--- a/package.nix
+++ b/package.nix
@@ -103,7 +103,8 @@
] ++ lib.optionals buildWithMeson [
./meson.build
./meson.options
- ./meson/cleanup-install.bash
+ ./meson
+ ./scripts/meson.build
]);
functionalTestFiles = fileset.unions [
@@ -289,10 +290,21 @@ in stdenv.mkDerivation (finalAttrs: {
installCheckFlags = "sysconfdir=$(out)/etc";
installCheckTarget = "installcheck"; # work around buggy detection in stdenv
+ mesonInstallCheckFlags = [
+ "--suite=installcheck"
+ ];
+
preInstallCheck = lib.optionalString stdenv.hostPlatform.isDarwin ''
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
'';
+ installCheckPhase = lib.optionalString buildWithMeson ''
+ runHook preInstallCheck
+ flagsArray=($mesonInstallCheckFlags "''${mesonInstallCheckFlagsArray[@]}")
+ meson test --no-rebuild "''${flagsArray[@]}"
+ runHook postInstallCheck
+ '';
+
separateDebugInfo = !stdenv.hostPlatform.isStatic && !finalAttrs.dontBuild;
strictDeps = true;