tests.overriding: restructure test cases utilizing non-boolean support
This commit is contained in:
committed by
Matt Sturgeon
parent
5351568405
commit
ffca1c4197
@@ -43,24 +43,24 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
repeatedOverrides-pname = {
|
repeatedOverrides-pname = {
|
||||||
expr = repeatedOverrides.pname == "a-better-hello-with-blackjack";
|
expr = repeatedOverrides.pname;
|
||||||
expected = true;
|
expected = "a-better-hello-with-blackjack";
|
||||||
};
|
};
|
||||||
repeatedOverrides-entangled-pname = {
|
repeatedOverrides-entangled-pname = {
|
||||||
expr = repeatedOverrides.entangled.pname == "a-better-figlet-with-blackjack";
|
expr = repeatedOverrides.entangled.pname;
|
||||||
expected = true;
|
expected = "a-better-figlet-with-blackjack";
|
||||||
};
|
};
|
||||||
overriding-using-only-attrset = {
|
overriding-using-only-attrset = {
|
||||||
expr = (pkgs.hello.overrideAttrs { pname = "hello-overriden"; }).pname == "hello-overriden";
|
expr = (pkgs.hello.overrideAttrs { pname = "hello-overriden"; }).pname;
|
||||||
expected = true;
|
expected = "hello-overriden";
|
||||||
};
|
};
|
||||||
overriding-using-only-attrset-no-final-attrs = {
|
overriding-using-only-attrset-no-final-attrs = {
|
||||||
name = "overriding-using-only-attrset-no-final-attrs";
|
name = "overriding-using-only-attrset-no-final-attrs";
|
||||||
expr =
|
expr =
|
||||||
((stdenvNoCC.mkDerivation { pname = "hello-no-final-attrs"; }).overrideAttrs {
|
((stdenvNoCC.mkDerivation { pname = "hello-no-final-attrs"; }).overrideAttrs {
|
||||||
pname = "hello-no-final-attrs-overridden";
|
pname = "hello-no-final-attrs-overridden";
|
||||||
}).pname == "hello-no-final-attrs-overridden";
|
}).pname;
|
||||||
expected = true;
|
expected = "hello-no-final-attrs-overridden";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -118,16 +118,16 @@ let
|
|||||||
expected = true;
|
expected = true;
|
||||||
};
|
};
|
||||||
extendMkDerivation-helloLocal-plain-equivalence = {
|
extendMkDerivation-helloLocal-plain-equivalence = {
|
||||||
expr = helloLocal.drvPath == helloLocalPlain.drvPath;
|
expr = helloLocal.drvPath;
|
||||||
expected = true;
|
expected = helloLocalPlain.drvPath;
|
||||||
};
|
};
|
||||||
extendMkDerivation-helloLocal-finalAttrs = {
|
extendMkDerivation-helloLocal-finalAttrs = {
|
||||||
expr = helloLocal.bar == "ab";
|
expr = helloLocal.bar;
|
||||||
expected = true;
|
expected = "ab";
|
||||||
};
|
};
|
||||||
extendMkDerivation-helloLocal-specialArg = {
|
extendMkDerivation-helloLocal-specialArg = {
|
||||||
expr = hiLocal.greeting == "Hi!";
|
expr = hiLocal.greeting;
|
||||||
expected = true;
|
expected = "Hi!";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -152,27 +152,35 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
hash-outputHash-equivalence = {
|
hash-outputHash-equivalence = {
|
||||||
expr = ruamel_0_17_21-src.outputHash == ruamel_0_17_21-hash;
|
expr = ruamel_0_17_21-src.outputHash;
|
||||||
expected = true;
|
expected = ruamel_0_17_21-hash;
|
||||||
};
|
};
|
||||||
|
|
||||||
hash-overridability-outputHash = {
|
hash-overridability-outputHash = {
|
||||||
expr = ruamel_0_17_21-src-by-overriding.outputHash == ruamel_0_17_21-hash;
|
expr = ruamel_0_17_21-src-by-overriding.outputHash;
|
||||||
expected = true;
|
expected = ruamel_0_17_21-hash;
|
||||||
};
|
};
|
||||||
|
|
||||||
hash-overridability-drvPath = {
|
hash-overridability-drvPath = {
|
||||||
expr =
|
expr = [
|
||||||
lib.isString ruamel_0_17_21-src-by-overriding.drvPath
|
(lib.isString ruamel_0_17_21-src-by-overriding.drvPath)
|
||||||
&& ruamel_0_17_21-src-by-overriding.drvPath == ruamel_0_17_21-src.drvPath;
|
ruamel_0_17_21-src-by-overriding.drvPath
|
||||||
expected = true;
|
];
|
||||||
|
expected = [
|
||||||
|
true
|
||||||
|
ruamel_0_17_21-src.drvPath
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
hash-overridability-outPath = {
|
hash-overridability-outPath = {
|
||||||
expr =
|
expr = [
|
||||||
lib.isString ruamel_0_17_21-src-by-overriding.outPath
|
(lib.isString ruamel_0_17_21-src-by-overriding.outPath)
|
||||||
&& ruamel_0_17_21-src-by-overriding.outPath == ruamel_0_17_21-src.outPath;
|
ruamel_0_17_21-src-by-overriding.outPath
|
||||||
expected = true;
|
];
|
||||||
|
expected = [
|
||||||
|
true
|
||||||
|
ruamel_0_17_21-src.outPath
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -249,44 +257,32 @@ let
|
|||||||
pet-vendored = pet-foo.overrideAttrs { vendorHash = null; };
|
pet-vendored = pet-foo.overrideAttrs { vendorHash = null; };
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
buildGoModule-overrideAttrs = {
|
buildGoModule-overrideAttrs =
|
||||||
expr =
|
|
||||||
lib.all
|
|
||||||
(
|
|
||||||
attrPath:
|
|
||||||
let
|
let
|
||||||
attrPathPretty = lib.concatStringsSep "." attrPath;
|
getComparingAttrs = p: {
|
||||||
valueNative = lib.getAttrFromPath attrPath pet_0_4_0;
|
inherit (p)
|
||||||
valueOverridden = lib.getAttrFromPath attrPath pet_0_4_0-overridden;
|
drvPath
|
||||||
|
name
|
||||||
|
pname
|
||||||
|
version
|
||||||
|
vendorHash
|
||||||
|
;
|
||||||
|
goModules = {
|
||||||
|
inherit (p.goModules)
|
||||||
|
drvPath
|
||||||
|
name
|
||||||
|
outPath
|
||||||
|
;
|
||||||
|
};
|
||||||
|
};
|
||||||
in
|
in
|
||||||
lib.warnIfNot (valueNative == valueOverridden)
|
{
|
||||||
"pet_0_4_0.${attrPathPretty} (${valueNative}) does not equal pet_0_4_0-overridden.${attrPathPretty} (${valueOverridden})"
|
expr = getComparingAttrs pet_0_4_0-overridden;
|
||||||
true
|
expected = getComparingAttrs pet_0_4_0;
|
||||||
)
|
|
||||||
[
|
|
||||||
[ "drvPath" ]
|
|
||||||
[ "name" ]
|
|
||||||
[ "pname" ]
|
|
||||||
[ "version" ]
|
|
||||||
[ "vendorHash" ]
|
|
||||||
[
|
|
||||||
"goModules"
|
|
||||||
"drvPath"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"goModules"
|
|
||||||
"name"
|
|
||||||
]
|
|
||||||
[
|
|
||||||
"goModules"
|
|
||||||
"outputHash"
|
|
||||||
]
|
|
||||||
];
|
|
||||||
expected = true;
|
|
||||||
};
|
};
|
||||||
buildGoModule-goModules-overrideAttrs = {
|
buildGoModule-goModules-overrideAttrs = {
|
||||||
expr = pet-foo.goModules.FOO == "foo";
|
expr = pet-foo.goModules.FOO;
|
||||||
expected = true;
|
expected = "foo";
|
||||||
};
|
};
|
||||||
buildGoModule-goModules-overrideAttrs-vendored = {
|
buildGoModule-goModules-overrideAttrs-vendored = {
|
||||||
expr = lib.isString pet-vendored.drvPath;
|
expr = lib.isString pet-vendored.drvPath;
|
||||||
|
|||||||
Reference in New Issue
Block a user