nix/tests/functional/fmt.sh

39 lines
927 B
Bash
Raw Normal View History

#!/usr/bin/env bash
2022-03-11 13:57:28 +00:00
source common.sh
TODO_NixOS # Provide a `shell` variable. Try not to `export` it, perhaps.
clearStoreIfPossible
rm -rf "$TEST_HOME"/.cache "$TEST_HOME"/.config "$TEST_HOME"/.local
2022-03-11 13:57:28 +00:00
cp ./simple.nix ./simple.builder.sh ./fmt.simple.sh ./config.nix "$TEST_HOME"
2022-03-11 13:57:28 +00:00
cd "$TEST_HOME"
2022-03-11 13:57:28 +00:00
nix fmt --help | grep "Format"
cat << EOF > flake.nix
{
outputs = _: {
formatter.$system =
with import ./config.nix;
mkDerivation {
name = "formatter";
buildCommand = ''
mkdir -p \$out/bin
echo "#! ${shell}" > \$out/bin/formatter
cat \${./fmt.simple.sh} >> \$out/bin/formatter
chmod +x \$out/bin/formatter
'';
};
2022-03-11 13:57:28 +00:00
};
}
EOF
# No arguments check
[[ "$(nix fmt)" = "Formatting(0):" ]]
# Argument forwarding check
nix fmt ./file ./folder | grep 'Formatting(2): ./file ./folder'
2022-03-11 13:57:28 +00:00
nix flake check
2022-04-19 19:47:13 +00:00
nix flake show | grep -P "package 'formatter'"