about summary refs log tree commit diff
path: root/pkgs/applications/virtualization/singularity/generic.nix
diff options
context:
space:
mode:
authorYueh-Shun Li <44064051+ShamrockLee@users.noreply.github.com>2023-04-05 02:33:52 +0800
committerYueh-Shun Li <44064051+ShamrockLee@users.noreply.github.com>2023-04-05 04:08:29 +0800
commit1f32cee4d41d5602efa74600a6d1146887494bd7 (patch)
treecb3068fb5e0e89d2459ad43707c14879728510ca /pkgs/applications/virtualization/singularity/generic.nix
parente5d66059d9f3fda50823f41b2013d3008d53a620 (diff)
apptainer, singularity: add passthru.tests.image-hello-cowsay
Add image-building tests with singularity-tools
Diffstat (limited to 'pkgs/applications/virtualization/singularity/generic.nix')
-rw-r--r--pkgs/applications/virtualization/singularity/generic.nix18
1 files changed, 16 insertions, 2 deletions
diff --git a/pkgs/applications/virtualization/singularity/generic.nix b/pkgs/applications/virtualization/singularity/generic.nix
index 5312dbdda0ff2..3ef3d2bbf9b68 100644
--- a/pkgs/applications/virtualization/singularity/generic.nix
+++ b/pkgs/applications/virtualization/singularity/generic.nix
@@ -46,6 +46,10 @@ in
 , openssl
 , squashfsTools
 , squashfuse
+  # Test dependencies
+, singularity-tools
+, cowsay
+, hello
   # Overridable configurations
 , enableNvidiaContainerCli ? true
   # Compile with seccomp support
@@ -83,7 +87,7 @@ let
     ln -s ${lib.escapeShellArg newgidmapPath} "$out/bin/newgidmap"
   '');
 in
-buildGoModule {
+(buildGoModule {
   inherit pname version src;
 
   # Override vendorHash with the output got from
@@ -235,4 +239,14 @@ buildGoModule {
     maintainers = with maintainers; [ jbedo ShamrockLee ];
     mainProgram = projectName;
   } // extraMeta;
-}
+}).overrideAttrs (finalAttrs: prevAttrs: {
+  passthru = prevAttrs.passthru or { } // {
+    tests = {
+      image-hello-cowsay = singularity-tools.buildImage {
+        name = "hello-cowsay";
+        contents = [ hello cowsay ];
+        singularity = finalAttrs.finalPackage;
+      };
+    };
+  };
+})