Commit 1e571aea authored by Someone Serge's avatar Someone Serge
Browse files

tests/nvidia-container-toolkit: less nesting

parent 1b7f2fe8
Loading
Loading
Loading
Loading
+65 −66
Original line number Diff line number Diff line
@@ -5,8 +5,6 @@ import ./make-test-python.nix (
    system,
    ...
  }:
  let
    testContainerImage =
  let
    testCDIScript = pkgs.writeShellScriptBin "test-cdi" ''
      die() {
@@ -34,24 +32,18 @@ import ./make-test-python.nix (
      check_directory_referential_integrity "${pkgs.addDriverRunpath.driverLink}" || exit 1
      check_directory_referential_integrity "/usr/local/nvidia" || exit 1
    '';
      in
      pkgs.dockerTools.buildImage {
    testContainerImage = pkgs.dockerTools.buildImage {
      name = "cdi-test";
      tag = "latest";
      config = {
        Cmd = [ (lib.getExe testCDIScript) ];
      };
        copyToRoot = (
          with pkgs.dockerTools;
          [
      copyToRoot = with pkgs.dockerTools; [
        usrBinEnv
        binSh
          ]
        );
      ];
    };
    emptyCDISpec = ''
      #! ${pkgs.runtimeShell}
      cat <<CDI_DOCUMENT
      {
        "cdiVersion": "0.5.0",
        "kind": "nvidia.com/gpu",
@@ -75,22 +67,29 @@ import ./make-test-python.nix (
          "mounts": []
        }
      }
      CDI_DOCUMENT
    '';
    nvidia-container-toolkit = {
      enable = true;
      package = pkgs.stdenv.mkDerivation {
        name = "nvidia-ctk-dummy";
        pname = "nvidia-ctk-dummy";
        version = "1.0.0";
        dontUnpack = true;
        dontBuild = true;

        inherit emptyCDISpec;
        passAsFile = [ "emptyCDISpec" ];

        installPhase = ''
          mkdir -p $out/bin
          cat <<EOF > $out/bin/nvidia-ctk
            ${emptyCDISpec}
          mkdir -p $out/bin $out/share/nvidia-container-toolkit
          cp "$emptyCDISpecPath" "$out/share/nvidia-container-toolkit/spec.json"
          echo -n "$emptyCDISpec" > "$out/bin/nvidia-ctk";
          cat << EOF > "$out/bin/nvidia-ctk"
          #!${pkgs.runtimeShell}
          cat "$out/share/nvidia-container-toolkit/spec.json"
          EOF
          chmod +x $out/bin/nvidia-ctk
        '';
        meta.mainProgram = "nvidia-ctk";
      };
    };
  in