From ffca1c4197f52aa58e1c0e600b874bd0e00999df Mon Sep 17 00:00:00 2001 From: Yueh-Shun Li Date: Thu, 30 Oct 2025 07:04:47 +0800 Subject: [PATCH] tests.overriding: restructure test cases utilizing non-boolean support --- pkgs/test/overriding.nix | 122 +++++++++++++++++++-------------------- 1 file changed, 59 insertions(+), 63 deletions(-) diff --git a/pkgs/test/overriding.nix b/pkgs/test/overriding.nix index 494873211e9a..a2221183a8a6 100644 --- a/pkgs/test/overriding.nix +++ b/pkgs/test/overriding.nix @@ -43,24 +43,24 @@ let in { repeatedOverrides-pname = { - expr = repeatedOverrides.pname == "a-better-hello-with-blackjack"; - expected = true; + expr = repeatedOverrides.pname; + expected = "a-better-hello-with-blackjack"; }; repeatedOverrides-entangled-pname = { - expr = repeatedOverrides.entangled.pname == "a-better-figlet-with-blackjack"; - expected = true; + expr = repeatedOverrides.entangled.pname; + expected = "a-better-figlet-with-blackjack"; }; overriding-using-only-attrset = { - expr = (pkgs.hello.overrideAttrs { pname = "hello-overriden"; }).pname == "hello-overriden"; - expected = true; + expr = (pkgs.hello.overrideAttrs { pname = "hello-overriden"; }).pname; + expected = "hello-overriden"; }; overriding-using-only-attrset-no-final-attrs = { name = "overriding-using-only-attrset-no-final-attrs"; expr = ((stdenvNoCC.mkDerivation { pname = "hello-no-final-attrs"; }).overrideAttrs { pname = "hello-no-final-attrs-overridden"; - }).pname == "hello-no-final-attrs-overridden"; - expected = true; + }).pname; + expected = "hello-no-final-attrs-overridden"; }; }; @@ -118,16 +118,16 @@ let expected = true; }; extendMkDerivation-helloLocal-plain-equivalence = { - expr = helloLocal.drvPath == helloLocalPlain.drvPath; - expected = true; + expr = helloLocal.drvPath; + expected = helloLocalPlain.drvPath; }; extendMkDerivation-helloLocal-finalAttrs = { - expr = helloLocal.bar == "ab"; - expected = true; + expr = helloLocal.bar; + expected = "ab"; }; extendMkDerivation-helloLocal-specialArg = { - expr = hiLocal.greeting == "Hi!"; - expected = true; + expr = hiLocal.greeting; + expected = "Hi!"; }; }; @@ -152,27 +152,35 @@ let in { hash-outputHash-equivalence = { - expr = ruamel_0_17_21-src.outputHash == ruamel_0_17_21-hash; - expected = true; + expr = ruamel_0_17_21-src.outputHash; + expected = ruamel_0_17_21-hash; }; hash-overridability-outputHash = { - expr = ruamel_0_17_21-src-by-overriding.outputHash == ruamel_0_17_21-hash; - expected = true; + expr = ruamel_0_17_21-src-by-overriding.outputHash; + expected = ruamel_0_17_21-hash; }; hash-overridability-drvPath = { - expr = - lib.isString ruamel_0_17_21-src-by-overriding.drvPath - && ruamel_0_17_21-src-by-overriding.drvPath == ruamel_0_17_21-src.drvPath; - expected = true; + expr = [ + (lib.isString ruamel_0_17_21-src-by-overriding.drvPath) + ruamel_0_17_21-src-by-overriding.drvPath + ]; + expected = [ + true + ruamel_0_17_21-src.drvPath + ]; }; hash-overridability-outPath = { - expr = - lib.isString ruamel_0_17_21-src-by-overriding.outPath - && ruamel_0_17_21-src-by-overriding.outPath == ruamel_0_17_21-src.outPath; - expected = true; + expr = [ + (lib.isString ruamel_0_17_21-src-by-overriding.outPath) + ruamel_0_17_21-src-by-overriding.outPath + ]; + expected = [ + true + ruamel_0_17_21-src.outPath + ]; }; }; @@ -249,44 +257,32 @@ let pet-vendored = pet-foo.overrideAttrs { vendorHash = null; }; in { - buildGoModule-overrideAttrs = { - expr = - lib.all - ( - attrPath: - let - attrPathPretty = lib.concatStringsSep "." attrPath; - valueNative = lib.getAttrFromPath attrPath pet_0_4_0; - valueOverridden = lib.getAttrFromPath attrPath pet_0_4_0-overridden; - in - lib.warnIfNot (valueNative == valueOverridden) - "pet_0_4_0.${attrPathPretty} (${valueNative}) does not equal pet_0_4_0-overridden.${attrPathPretty} (${valueOverridden})" - true - ) - [ - [ "drvPath" ] - [ "name" ] - [ "pname" ] - [ "version" ] - [ "vendorHash" ] - [ - "goModules" - "drvPath" - ] - [ - "goModules" - "name" - ] - [ - "goModules" - "outputHash" - ] - ]; - expected = true; - }; + buildGoModule-overrideAttrs = + let + getComparingAttrs = p: { + inherit (p) + drvPath + name + pname + version + vendorHash + ; + goModules = { + inherit (p.goModules) + drvPath + name + outPath + ; + }; + }; + in + { + expr = getComparingAttrs pet_0_4_0-overridden; + expected = getComparingAttrs pet_0_4_0; + }; buildGoModule-goModules-overrideAttrs = { - expr = pet-foo.goModules.FOO == "foo"; - expected = true; + expr = pet-foo.goModules.FOO; + expected = "foo"; }; buildGoModule-goModules-overrideAttrs-vendored = { expr = lib.isString pet-vendored.drvPath;