Skip to content

Commit 89ba6df

Browse files
authored
Merge pull request #13032 from obsidiansystems/more-outputs-test
Improve derivation "advanced attrs" test, fix almost-bug
2 parents 009ff8e + 32409dd commit 89ba6df

12 files changed

+91
-65
lines changed

src/libstore-tests/data/derivation/ca/advanced-attributes-structured-attrs.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,29 @@
55
],
66
"builder": "/bin/bash",
77
"env": {
8-
"__json": "{\"__darwinAllowLocalNetworking\":true,\"__impureHostDeps\":[\"/usr/bin/ditto\"],\"__noChroot\":true,\"__sandboxProfile\":\"sandcastle\",\"allowSubstitutes\":false,\"builder\":\"/bin/bash\",\"exportReferencesGraph\":{\"refs1\":[\"/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8\"],\"refs2\":[\"/nix/store/x1vpzav565aqr7ccmkn0wv0svkm1qrbl-bar.drv\"]},\"impureEnvVars\":[\"UNICORN\"],\"name\":\"advanced-attributes-structured-attrs\",\"outputChecks\":{\"bin\":{\"disallowedReferences\":[\"/05pdic30acaypbz73ivw4wlsi9whq08jxsimml2h0inwqya2hn99\"],\"disallowedRequisites\":[\"/05pdic30acaypbz73ivw4wlsi9whq08jxsimml2h0inwqya2hn99\"]},\"dev\":{\"maxClosureSize\":5909,\"maxSize\":789},\"out\":{\"allowedReferences\":[\"/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8\"],\"allowedRequisites\":[\"/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8\"]}},\"outputHashAlgo\":\"sha256\",\"outputHashMode\":\"recursive\",\"outputs\":[\"out\",\"bin\",\"dev\"],\"preferLocalBuild\":true,\"requiredSystemFeatures\":[\"rainbow\",\"uid-range\"],\"system\":\"my-system\"}",
8+
"__json": "{\"__darwinAllowLocalNetworking\":true,\"__impureHostDeps\":[\"/usr/bin/ditto\"],\"__noChroot\":true,\"__sandboxProfile\":\"sandcastle\",\"allowSubstitutes\":false,\"builder\":\"/bin/bash\",\"exportReferencesGraph\":{\"refs1\":[\"/164j69y6zir9z0339n8pjigg3rckinlr77bxsavzizdaaljb7nh9\"],\"refs2\":[\"/nix/store/qnml92yh97a6fbrs2m5qg5cqlc8vni58-bar.drv\"]},\"impureEnvVars\":[\"UNICORN\"],\"name\":\"advanced-attributes-structured-attrs\",\"outputChecks\":{\"bin\":{\"disallowedReferences\":[\"/0nyw57wm2iicnm9rglvjmbci3ikmcp823czdqdzdcgsnnwqps71g\"],\"disallowedRequisites\":[\"/07f301yqyz8c6wf6bbbavb2q39j4n8kmcly1s09xadyhgy6x2wr8\"]},\"dev\":{\"maxClosureSize\":5909,\"maxSize\":789},\"out\":{\"allowedReferences\":[\"/164j69y6zir9z0339n8pjigg3rckinlr77bxsavzizdaaljb7nh9\"],\"allowedRequisites\":[\"/0nr45p69vn6izw9446wsh9bng9nndhvn19kpsm4n96a5mycw0s4z\"]}},\"outputHashAlgo\":\"sha256\",\"outputHashMode\":\"recursive\",\"outputs\":[\"out\",\"bin\",\"dev\"],\"preferLocalBuild\":true,\"requiredSystemFeatures\":[\"rainbow\",\"uid-range\"],\"system\":\"my-system\"}",
99
"bin": "/04f3da1kmbr67m3gzxikmsl4vjz5zf777sv6m14ahv22r65aac9m",
1010
"dev": "/02qcpld1y6xhs5gz9bchpxaw0xdhmsp5dv88lh25r2ss44kh8dxz",
1111
"out": "/1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9"
1212
},
1313
"inputDrvs": {
14-
"/nix/store/spfzlnkwb1v8s62yvh8vj1apd1kwjr5f-foo.drv": {
14+
"/nix/store/j56sf12rxpcv5swr14vsjn5cwm6bj03h-foo.drv": {
1515
"dynamicOutputs": {},
1616
"outputs": [
17+
"dev",
1718
"out"
1819
]
1920
},
20-
"/nix/store/x1vpzav565aqr7ccmkn0wv0svkm1qrbl-bar.drv": {
21+
"/nix/store/qnml92yh97a6fbrs2m5qg5cqlc8vni58-bar.drv": {
2122
"dynamicOutputs": {},
2223
"outputs": [
24+
"dev",
2325
"out"
2426
]
2527
}
2628
},
2729
"inputSrcs": [
28-
"/nix/store/x1vpzav565aqr7ccmkn0wv0svkm1qrbl-bar.drv"
30+
"/nix/store/qnml92yh97a6fbrs2m5qg5cqlc8vni58-bar.drv"
2931
],
3032
"name": "advanced-attributes-structured-attrs",
3133
"outputs": {

src/libstore-tests/data/derivation/ca/advanced-attributes.json

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
"__noChroot": "1",
1111
"__sandboxProfile": "sandcastle",
1212
"allowSubstitutes": "",
13-
"allowedReferences": "/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8",
14-
"allowedRequisites": "/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8",
13+
"allowedReferences": "/164j69y6zir9z0339n8pjigg3rckinlr77bxsavzizdaaljb7nh9",
14+
"allowedRequisites": "/0nr45p69vn6izw9446wsh9bng9nndhvn19kpsm4n96a5mycw0s4z",
1515
"builder": "/bin/bash",
16-
"disallowedReferences": "/05pdic30acaypbz73ivw4wlsi9whq08jxsimml2h0inwqya2hn99",
17-
"disallowedRequisites": "/05pdic30acaypbz73ivw4wlsi9whq08jxsimml2h0inwqya2hn99",
18-
"exportReferencesGraph": "refs1 /08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8 refs2 /nix/store/x1vpzav565aqr7ccmkn0wv0svkm1qrbl-bar.drv",
16+
"disallowedReferences": "/0nyw57wm2iicnm9rglvjmbci3ikmcp823czdqdzdcgsnnwqps71g",
17+
"disallowedRequisites": "/07f301yqyz8c6wf6bbbavb2q39j4n8kmcly1s09xadyhgy6x2wr8",
18+
"exportReferencesGraph": "refs1 /164j69y6zir9z0339n8pjigg3rckinlr77bxsavzizdaaljb7nh9 refs2 /nix/store/qnml92yh97a6fbrs2m5qg5cqlc8vni58-bar.drv",
1919
"impureEnvVars": "UNICORN",
2020
"name": "advanced-attributes",
2121
"out": "/1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9",
@@ -26,21 +26,23 @@
2626
"system": "my-system"
2727
},
2828
"inputDrvs": {
29-
"/nix/store/spfzlnkwb1v8s62yvh8vj1apd1kwjr5f-foo.drv": {
29+
"/nix/store/j56sf12rxpcv5swr14vsjn5cwm6bj03h-foo.drv": {
3030
"dynamicOutputs": {},
3131
"outputs": [
32+
"dev",
3233
"out"
3334
]
3435
},
35-
"/nix/store/x1vpzav565aqr7ccmkn0wv0svkm1qrbl-bar.drv": {
36+
"/nix/store/qnml92yh97a6fbrs2m5qg5cqlc8vni58-bar.drv": {
3637
"dynamicOutputs": {},
3738
"outputs": [
39+
"dev",
3840
"out"
3941
]
4042
}
4143
},
4244
"inputSrcs": [
43-
"/nix/store/x1vpzav565aqr7ccmkn0wv0svkm1qrbl-bar.drv"
45+
"/nix/store/qnml92yh97a6fbrs2m5qg5cqlc8vni58-bar.drv"
4446
],
4547
"name": "advanced-attributes",
4648
"outputs": {

src/libstore-tests/data/derivation/ia/advanced-attributes-structured-attrs.json

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,38 +5,40 @@
55
],
66
"builder": "/bin/bash",
77
"env": {
8-
"__json": "{\"__darwinAllowLocalNetworking\":true,\"__impureHostDeps\":[\"/usr/bin/ditto\"],\"__noChroot\":true,\"__sandboxProfile\":\"sandcastle\",\"allowSubstitutes\":false,\"builder\":\"/bin/bash\",\"exportReferencesGraph\":{\"refs1\":[\"/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo\"],\"refs2\":[\"/nix/store/plsq5jbr5nhgqwcgb2qxw7jchc09dnl8-bar.drv\"]},\"impureEnvVars\":[\"UNICORN\"],\"name\":\"advanced-attributes-structured-attrs\",\"outputChecks\":{\"bin\":{\"disallowedReferences\":[\"/nix/store/7rhsm8i393hm1wcsmph782awg1hi2f7x-bar\"],\"disallowedRequisites\":[\"/nix/store/7rhsm8i393hm1wcsmph782awg1hi2f7x-bar\"]},\"dev\":{\"maxClosureSize\":5909,\"maxSize\":789},\"out\":{\"allowedReferences\":[\"/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo\"],\"allowedRequisites\":[\"/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo\"]}},\"outputs\":[\"out\",\"bin\",\"dev\"],\"preferLocalBuild\":true,\"requiredSystemFeatures\":[\"rainbow\",\"uid-range\"],\"system\":\"my-system\"}",
9-
"bin": "/nix/store/spb9y9agq61rvq29fhkfw1ql00adjq7d-advanced-attributes-structured-attrs-bin",
10-
"dev": "/nix/store/0v889x74f5d5swbjivcik2yw4gg2pm52-advanced-attributes-structured-attrs-dev",
11-
"out": "/nix/store/vnzmd26f5hx5dp5xrfs2kshqvcpxhrhh-advanced-attributes-structured-attrs"
8+
"__json": "{\"__darwinAllowLocalNetworking\":true,\"__impureHostDeps\":[\"/usr/bin/ditto\"],\"__noChroot\":true,\"__sandboxProfile\":\"sandcastle\",\"allowSubstitutes\":false,\"builder\":\"/bin/bash\",\"exportReferencesGraph\":{\"refs1\":[\"/nix/store/p0hax2lzvjpfc2gwkk62xdglz0fcqfzn-foo\"],\"refs2\":[\"/nix/store/vj2i49jm2868j2fmqvxm70vlzmzvgv14-bar.drv\"]},\"impureEnvVars\":[\"UNICORN\"],\"name\":\"advanced-attributes-structured-attrs\",\"outputChecks\":{\"bin\":{\"disallowedReferences\":[\"/nix/store/r5cff30838majxk5mp3ip2diffi8vpaj-bar\"],\"disallowedRequisites\":[\"/nix/store/9b61w26b4avv870dw0ymb6rw4r1hzpws-bar-dev\"]},\"dev\":{\"maxClosureSize\":5909,\"maxSize\":789},\"out\":{\"allowedReferences\":[\"/nix/store/p0hax2lzvjpfc2gwkk62xdglz0fcqfzn-foo\"],\"allowedRequisites\":[\"/nix/store/z0rjzy29v9k5qa4nqpykrbzirj7sd43v-foo-dev\"]}},\"outputs\":[\"out\",\"bin\",\"dev\"],\"preferLocalBuild\":true,\"requiredSystemFeatures\":[\"rainbow\",\"uid-range\"],\"system\":\"my-system\"}",
9+
"bin": "/nix/store/33qms3h55wlaspzba3brlzlrm8m2239g-advanced-attributes-structured-attrs-bin",
10+
"dev": "/nix/store/wyfgwsdi8rs851wmy1xfzdxy7y5vrg5l-advanced-attributes-structured-attrs-dev",
11+
"out": "/nix/store/7cxy4zx1vqc885r4jl2l64pymqbdmhii-advanced-attributes-structured-attrs"
1212
},
1313
"inputDrvs": {
14-
"/nix/store/4xm4wccqsvagz9gjksn24s7rip2fdy7v-foo.drv": {
14+
"/nix/store/afc3vbjbzql750v2lp8gxgaxsajphzih-foo.drv": {
1515
"dynamicOutputs": {},
1616
"outputs": [
17+
"dev",
1718
"out"
1819
]
1920
},
20-
"/nix/store/plsq5jbr5nhgqwcgb2qxw7jchc09dnl8-bar.drv": {
21+
"/nix/store/vj2i49jm2868j2fmqvxm70vlzmzvgv14-bar.drv": {
2122
"dynamicOutputs": {},
2223
"outputs": [
24+
"dev",
2325
"out"
2426
]
2527
}
2628
},
2729
"inputSrcs": [
28-
"/nix/store/plsq5jbr5nhgqwcgb2qxw7jchc09dnl8-bar.drv"
30+
"/nix/store/vj2i49jm2868j2fmqvxm70vlzmzvgv14-bar.drv"
2931
],
3032
"name": "advanced-attributes-structured-attrs",
3133
"outputs": {
3234
"bin": {
33-
"path": "/nix/store/spb9y9agq61rvq29fhkfw1ql00adjq7d-advanced-attributes-structured-attrs-bin"
35+
"path": "/nix/store/33qms3h55wlaspzba3brlzlrm8m2239g-advanced-attributes-structured-attrs-bin"
3436
},
3537
"dev": {
36-
"path": "/nix/store/0v889x74f5d5swbjivcik2yw4gg2pm52-advanced-attributes-structured-attrs-dev"
38+
"path": "/nix/store/wyfgwsdi8rs851wmy1xfzdxy7y5vrg5l-advanced-attributes-structured-attrs-dev"
3739
},
3840
"out": {
39-
"path": "/nix/store/vnzmd26f5hx5dp5xrfs2kshqvcpxhrhh-advanced-attributes-structured-attrs"
41+
"path": "/nix/store/7cxy4zx1vqc885r4jl2l64pymqbdmhii-advanced-attributes-structured-attrs"
4042
}
4143
},
4244
"system": "my-system"

src/libstore-tests/data/derivation/ia/advanced-attributes.json

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,42 @@
1010
"__noChroot": "1",
1111
"__sandboxProfile": "sandcastle",
1212
"allowSubstitutes": "",
13-
"allowedReferences": "/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo",
14-
"allowedRequisites": "/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo",
13+
"allowedReferences": "/nix/store/p0hax2lzvjpfc2gwkk62xdglz0fcqfzn-foo",
14+
"allowedRequisites": "/nix/store/z0rjzy29v9k5qa4nqpykrbzirj7sd43v-foo-dev",
1515
"builder": "/bin/bash",
16-
"disallowedReferences": "/nix/store/7rhsm8i393hm1wcsmph782awg1hi2f7x-bar",
17-
"disallowedRequisites": "/nix/store/7rhsm8i393hm1wcsmph782awg1hi2f7x-bar",
18-
"exportReferencesGraph": "refs1 /nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo refs2 /nix/store/plsq5jbr5nhgqwcgb2qxw7jchc09dnl8-bar.drv",
16+
"disallowedReferences": "/nix/store/r5cff30838majxk5mp3ip2diffi8vpaj-bar",
17+
"disallowedRequisites": "/nix/store/9b61w26b4avv870dw0ymb6rw4r1hzpws-bar-dev",
18+
"exportReferencesGraph": "refs1 /nix/store/p0hax2lzvjpfc2gwkk62xdglz0fcqfzn-foo refs2 /nix/store/vj2i49jm2868j2fmqvxm70vlzmzvgv14-bar.drv",
1919
"impureEnvVars": "UNICORN",
2020
"name": "advanced-attributes",
21-
"out": "/nix/store/jvm2xsx0lm29byzr59yzjw7c14fa9z5f-advanced-attributes",
21+
"out": "/nix/store/wyhpwd748pns4k7svh48wdrc8kvjk0ra-advanced-attributes",
2222
"preferLocalBuild": "1",
2323
"requiredSystemFeatures": "rainbow uid-range",
2424
"system": "my-system"
2525
},
2626
"inputDrvs": {
27-
"/nix/store/4xm4wccqsvagz9gjksn24s7rip2fdy7v-foo.drv": {
27+
"/nix/store/afc3vbjbzql750v2lp8gxgaxsajphzih-foo.drv": {
2828
"dynamicOutputs": {},
2929
"outputs": [
30+
"dev",
3031
"out"
3132
]
3233
},
33-
"/nix/store/plsq5jbr5nhgqwcgb2qxw7jchc09dnl8-bar.drv": {
34+
"/nix/store/vj2i49jm2868j2fmqvxm70vlzmzvgv14-bar.drv": {
3435
"dynamicOutputs": {},
3536
"outputs": [
37+
"dev",
3638
"out"
3739
]
3840
}
3941
},
4042
"inputSrcs": [
41-
"/nix/store/plsq5jbr5nhgqwcgb2qxw7jchc09dnl8-bar.drv"
43+
"/nix/store/vj2i49jm2868j2fmqvxm70vlzmzvgv14-bar.drv"
4244
],
4345
"name": "advanced-attributes",
4446
"outputs": {
4547
"out": {
46-
"path": "/nix/store/jvm2xsx0lm29byzr59yzjw7c14fa9z5f-advanced-attributes"
48+
"path": "/nix/store/wyhpwd748pns4k7svh48wdrc8kvjk0ra-advanced-attributes"
4749
}
4850
},
4951
"system": "my-system"

src/libstore-tests/derivation-advanced-attrs.cc

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -204,13 +204,13 @@ TEST_F(DerivationAdvancedAttrsTest, advancedAttributes)
204204
{
205205
"refs1",
206206
{
207-
"/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo",
207+
"/nix/store/p0hax2lzvjpfc2gwkk62xdglz0fcqfzn-foo",
208208
},
209209
},
210210
{
211211
"refs2",
212212
{
213-
"/nix/store/plsq5jbr5nhgqwcgb2qxw7jchc09dnl8-bar.drv",
213+
"/nix/store/vj2i49jm2868j2fmqvxm70vlzmzvgv14-bar.drv",
214214
},
215215
},
216216
}));
@@ -221,13 +221,15 @@ TEST_F(DerivationAdvancedAttrsTest, advancedAttributes)
221221
auto & checksForAllOutputs = *checksForAllOutputs_;
222222

223223
EXPECT_EQ(
224-
checksForAllOutputs.allowedReferences, StringSet{"/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo"});
224+
checksForAllOutputs.allowedReferences, StringSet{"/nix/store/p0hax2lzvjpfc2gwkk62xdglz0fcqfzn-foo"});
225225
EXPECT_EQ(
226-
checksForAllOutputs.allowedRequisites, StringSet{"/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo"});
226+
checksForAllOutputs.allowedRequisites,
227+
StringSet{"/nix/store/z0rjzy29v9k5qa4nqpykrbzirj7sd43v-foo-dev"});
227228
EXPECT_EQ(
228-
checksForAllOutputs.disallowedReferences, StringSet{"/nix/store/7rhsm8i393hm1wcsmph782awg1hi2f7x-bar"});
229+
checksForAllOutputs.disallowedReferences, StringSet{"/nix/store/r5cff30838majxk5mp3ip2diffi8vpaj-bar"});
229230
EXPECT_EQ(
230-
checksForAllOutputs.disallowedRequisites, StringSet{"/nix/store/7rhsm8i393hm1wcsmph782awg1hi2f7x-bar"});
231+
checksForAllOutputs.disallowedRequisites,
232+
StringSet{"/nix/store/9b61w26b4avv870dw0ymb6rw4r1hzpws-bar-dev"});
231233
}
232234

233235
StringSet systemFeatures{"rainbow", "uid-range"};
@@ -252,13 +254,13 @@ TEST_F(CaDerivationAdvancedAttrsTest, advancedAttributes)
252254
{
253255
"refs1",
254256
{
255-
"/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8",
257+
"/164j69y6zir9z0339n8pjigg3rckinlr77bxsavzizdaaljb7nh9",
256258
},
257259
},
258260
{
259261
"refs2",
260262
{
261-
"/nix/store/x1vpzav565aqr7ccmkn0wv0svkm1qrbl-bar.drv",
263+
"/nix/store/qnml92yh97a6fbrs2m5qg5cqlc8vni58-bar.drv",
262264
},
263265
},
264266
}));
@@ -270,16 +272,16 @@ TEST_F(CaDerivationAdvancedAttrsTest, advancedAttributes)
270272

271273
EXPECT_EQ(
272274
checksForAllOutputs.allowedReferences,
273-
StringSet{"/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8"});
275+
StringSet{"/164j69y6zir9z0339n8pjigg3rckinlr77bxsavzizdaaljb7nh9"});
274276
EXPECT_EQ(
275277
checksForAllOutputs.allowedRequisites,
276-
StringSet{"/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8"});
278+
StringSet{"/0nr45p69vn6izw9446wsh9bng9nndhvn19kpsm4n96a5mycw0s4z"});
277279
EXPECT_EQ(
278280
checksForAllOutputs.disallowedReferences,
279-
StringSet{"/05pdic30acaypbz73ivw4wlsi9whq08jxsimml2h0inwqya2hn99"});
281+
StringSet{"/0nyw57wm2iicnm9rglvjmbci3ikmcp823czdqdzdcgsnnwqps71g"});
280282
EXPECT_EQ(
281283
checksForAllOutputs.disallowedRequisites,
282-
StringSet{"/05pdic30acaypbz73ivw4wlsi9whq08jxsimml2h0inwqya2hn99"});
284+
StringSet{"/07f301yqyz8c6wf6bbbavb2q39j4n8kmcly1s09xadyhgy6x2wr8"});
283285
}
284286

285287
StringSet systemFeatures{"rainbow", "uid-range"};
@@ -401,13 +403,13 @@ TEST_F(DerivationAdvancedAttrsTest, advancedAttributes_structuredAttrs)
401403
{
402404
"refs1",
403405
{
404-
"/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo",
406+
"/nix/store/p0hax2lzvjpfc2gwkk62xdglz0fcqfzn-foo",
405407
},
406408
},
407409
{
408410
"refs2",
409411
{
410-
"/nix/store/plsq5jbr5nhgqwcgb2qxw7jchc09dnl8-bar.drv",
412+
"/nix/store/vj2i49jm2868j2fmqvxm70vlzmzvgv14-bar.drv",
411413
},
412414
},
413415
}));
@@ -418,17 +420,18 @@ TEST_F(DerivationAdvancedAttrsTest, advancedAttributes_structuredAttrs)
418420
ASSERT_TRUE(output_);
419421
auto & output = *output_;
420422

421-
EXPECT_EQ(output.allowedReferences, StringSet{"/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo"});
422-
EXPECT_EQ(output.allowedRequisites, StringSet{"/nix/store/3c08bzb71z4wiag719ipjxr277653ynp-foo"});
423+
EXPECT_EQ(output.allowedReferences, StringSet{"/nix/store/p0hax2lzvjpfc2gwkk62xdglz0fcqfzn-foo"});
424+
EXPECT_EQ(output.allowedRequisites, StringSet{"/nix/store/z0rjzy29v9k5qa4nqpykrbzirj7sd43v-foo-dev"});
423425
}
424426

425427
{
426428
auto output_ = get(std::get<1>(options.outputChecks), "bin");
427429
ASSERT_TRUE(output_);
428430
auto & output = *output_;
429431

430-
EXPECT_EQ(output.disallowedReferences, StringSet{"/nix/store/7rhsm8i393hm1wcsmph782awg1hi2f7x-bar"});
431-
EXPECT_EQ(output.disallowedRequisites, StringSet{"/nix/store/7rhsm8i393hm1wcsmph782awg1hi2f7x-bar"});
432+
EXPECT_EQ(output.disallowedReferences, StringSet{"/nix/store/r5cff30838majxk5mp3ip2diffi8vpaj-bar"});
433+
EXPECT_EQ(
434+
output.disallowedRequisites, StringSet{"/nix/store/9b61w26b4avv870dw0ymb6rw4r1hzpws-bar-dev"});
432435
}
433436
}
434437

@@ -454,13 +457,13 @@ TEST_F(CaDerivationAdvancedAttrsTest, advancedAttributes_structuredAttrs)
454457
{
455458
"refs1",
456459
{
457-
"/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8",
460+
"/164j69y6zir9z0339n8pjigg3rckinlr77bxsavzizdaaljb7nh9",
458461
},
459462
},
460463
{
461464
"refs2",
462465
{
463-
"/nix/store/x1vpzav565aqr7ccmkn0wv0svkm1qrbl-bar.drv",
466+
"/nix/store/qnml92yh97a6fbrs2m5qg5cqlc8vni58-bar.drv",
464467
},
465468
},
466469
}));
@@ -471,8 +474,8 @@ TEST_F(CaDerivationAdvancedAttrsTest, advancedAttributes_structuredAttrs)
471474
ASSERT_TRUE(output_);
472475
auto & output = *output_;
473476

474-
EXPECT_EQ(output.allowedReferences, StringSet{"/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8"});
475-
EXPECT_EQ(output.allowedRequisites, StringSet{"/08cr1k2yfw44g21w1h850285vqhsciy7y3siqjdzz1m9yvwlqfm8"});
477+
EXPECT_EQ(output.allowedReferences, StringSet{"/164j69y6zir9z0339n8pjigg3rckinlr77bxsavzizdaaljb7nh9"});
478+
EXPECT_EQ(output.allowedRequisites, StringSet{"/0nr45p69vn6izw9446wsh9bng9nndhvn19kpsm4n96a5mycw0s4z"});
476479
}
477480

478481
{
@@ -481,9 +484,9 @@ TEST_F(CaDerivationAdvancedAttrsTest, advancedAttributes_structuredAttrs)
481484
auto & output = *output_;
482485

483486
EXPECT_EQ(
484-
output.disallowedReferences, StringSet{"/05pdic30acaypbz73ivw4wlsi9whq08jxsimml2h0inwqya2hn99"});
487+
output.disallowedReferences, StringSet{"/0nyw57wm2iicnm9rglvjmbci3ikmcp823czdqdzdcgsnnwqps71g"});
485488
EXPECT_EQ(
486-
output.disallowedRequisites, StringSet{"/05pdic30acaypbz73ivw4wlsi9whq08jxsimml2h0inwqya2hn99"});
489+
output.disallowedRequisites, StringSet{"/07f301yqyz8c6wf6bbbavb2q39j4n8kmcly1s09xadyhgy6x2wr8"});
487490
}
488491
}
489492

src/libstore/derivation-options.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ DerivationOptions::fromStructuredAttrs(const StringMap & env, const StructuredAt
146146
throw Error("attribute '%s' must be a list of strings", name);
147147
res.insert(j->get<std::string>());
148148
}
149-
checks.disallowedRequisites = res;
150149
return res;
151150
}
152151
return {};

tests/functional/derivation/advanced-attributes-structured-attrs.nix

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ let
2323
"-c"
2424
"echo foo > $out"
2525
];
26+
outputs = [
27+
"out"
28+
"dev"
29+
];
2630
};
2731

2832
bar = derivation' {
@@ -33,6 +37,10 @@ let
3337
"-c"
3438
"echo bar > $out"
3539
];
40+
outputs = [
41+
"out"
42+
"dev"
43+
];
3644
};
3745

3846
in
@@ -58,11 +66,11 @@ derivation' {
5866
outputChecks = {
5967
out = {
6068
allowedReferences = [ foo ];
61-
allowedRequisites = [ foo ];
69+
allowedRequisites = [ foo.dev ];
6270
};
6371
bin = {
6472
disallowedReferences = [ bar ];
65-
disallowedRequisites = [ bar ];
73+
disallowedRequisites = [ bar.dev ];
6674
};
6775
dev = {
6876
maxSize = 789;

0 commit comments

Comments
 (0)