7 # Ofborg doesn't allow any traces on stderr,
8 # so mock `lib` to not trace warnings,
9 # because substitute gives a deprecation warning
10 substituteSilent = substitute.override (prevArgs: {
11 lib = prevArgs.lib.extend (
13 trivial = prevLib.trivial // {
14 warn = msg: value: value;
22 substitutions = testers.testEqualContents {
23 assertion = "substitutions-spaces";
25 src = builtins.toFile "source" ''
34 expected = builtins.toFile "expected" ''
39 legacySingleReplace = testers.testEqualContents {
40 assertion = "substitute-single-replace";
41 actual = substituteSilent {
42 src = builtins.toFile "source" ''
51 expected = builtins.toFile "expected" ''
56 legacyString = testers.testEqualContents {
57 assertion = "substitute-string";
58 actual = substituteSilent {
59 src = builtins.toFile "source" ''
62 # Not great that this works at all, but is supported
63 replacements = "--replace-fail world string";
65 expected = builtins.toFile "expected" ''
70 legacySingleArg = testers.testEqualContents {
71 assertion = "substitute-single-arg";
72 actual = substituteSilent {
73 src = builtins.toFile "source" ''
76 # Not great that this works at all, but is supported
78 "--replace-fail world list"
81 expected = builtins.toFile "expected" ''
86 legacyVar = testers.testEqualContents {
87 assertion = "substitute-var";
88 actual = substituteSilent {
89 src = builtins.toFile "source" ''
92 # Not great that this works at all, but is supported
95 "--subst-var-by greeting Yo"
99 expected = builtins.toFile "expected" ''