Commit a0dc17bd authored by Raito Bezarius's avatar Raito Bezarius
Browse files

nixos/lib/testing/run: expose `rawTestDerivation`

For `testBuildFailure` and similar functions, we need a full blown derivation and not a lazy one.
This is an internal option for test framework developers.
parent d4d75501
Loading
Loading
Loading
Loading
+23 −13
Original line number Diff line number Diff line
@@ -16,6 +16,15 @@ in
      '';
    };

    rawTestDerivation = mkOption {
      type = types.package;
      description = mdDoc ''
        Unfiltered version of `test`, for troubleshooting the test framework and `testBuildFailure` in the test framework's test suite.
        This is not intended for general use. Use `test` instead.
      '';
      internal = true;
    };

    test = mkOption {
      type = types.package;
      # TODO: can the interactive driver be configured to access the network?
@@ -29,8 +38,7 @@ in
  };

  config = {
    test = lib.lazyDerivation { # lazyDerivation improves performance when only passthru items and/or meta are used.
      derivation = hostPkgs.stdenv.mkDerivation {
    rawTestDerivation = hostPkgs.stdenv.mkDerivation {
      name = "vm-test-run-${config.name}";

      requiredSystemFeatures = [ "kvm" "nixos-test" ];
@@ -48,6 +56,8 @@ in

      meta = config.meta;
    };
    test = lib.lazyDerivation { # lazyDerivation improves performance when only passthru items and/or meta are used.
      derivation = config.rawTestDerivation;
      inherit (config) passthru meta;
    };