|
|
|
@ -18,8 +18,11 @@ let |
|
|
|
|
}) [ def ]); |
|
|
|
|
in formatSet.generate "test-format-file" config; |
|
|
|
|
|
|
|
|
|
runBuildTest = name: { drv, expected }: pkgs.runCommand name {} '' |
|
|
|
|
if diff -u '${builtins.toFile "expected" expected}' '${drv}'; then |
|
|
|
|
runBuildTest = name: { drv, expected }: pkgs.runCommand name { |
|
|
|
|
passAsFile = ["expected"]; |
|
|
|
|
inherit expected drv; |
|
|
|
|
} '' |
|
|
|
|
if diff -u "$expectedPath" "$drv"; then |
|
|
|
|
touch "$out" |
|
|
|
|
else |
|
|
|
|
echo |
|
|
|
@ -171,11 +174,21 @@ in runBuildTests { |
|
|
|
|
''; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
# See also java-properties/default.nix for more complete tests |
|
|
|
|
# This test is responsible for |
|
|
|
|
# 1. testing type coercions |
|
|
|
|
# 2. providing a more readable example test |
|
|
|
|
# Whereas java-properties/default.nix tests the low level escaping, etc. |
|
|
|
|
testJavaProperties = { |
|
|
|
|
drv = evalFormat formats.javaProperties {} { |
|
|
|
|
floaty = 3.1415; |
|
|
|
|
tautologies = true; |
|
|
|
|
contradictions = false; |
|
|
|
|
foo = "bar"; |
|
|
|
|
"1" = "2"; |
|
|
|
|
# # Disallowed at eval time, because it's ambiguous: |
|
|
|
|
# # add to store or convert to string? |
|
|
|
|
# root = /root; |
|
|
|
|
"1" = 2; |
|
|
|
|
package = pkgs.hello; |
|
|
|
|
"ütf 8" = "dûh"; |
|
|
|
|
# NB: Some editors (vscode) show this _whole_ line in right-to-left order |
|
|
|
|
"الجبر" = "أكثر من مجرد أرقام"; |
|
|
|
@ -184,7 +197,11 @@ in runBuildTests { |
|
|
|
|
# Generated with Nix |
|
|
|
|
|
|
|
|
|
1 = 2 |
|
|
|
|
contradictions = false |
|
|
|
|
floaty = 3.141500 |
|
|
|
|
foo = bar |
|
|
|
|
package = ${pkgs.hello} |
|
|
|
|
tautologies = true |
|
|
|
|
\u00fctf\ 8 = d\u00fbh |
|
|
|
|
\u0627\u0644\u062c\u0628\u0631 = \u0623\u0643\u062b\u0631 \u0645\u0646 \u0645\u062c\u0631\u062f \u0623\u0631\u0642\u0627\u0645 |
|
|
|
|
''; |
|
|
|
|