forked from lix-project/lix
68c81c7375
I think it is bad for these reasons when `tests/` contains a mix of functional and integration tests - Concepts is harder to understand, the documentation makes a good unit vs functional vs integration distinction, but when the integration tests are just two subdirs within `tests/` this is not clear. - Source filtering in the `flake.nix` is more complex. We need to filter out some of the dirs from `tests/`, rather than simply pick the dirs we want and take all of them. This is a good sign the structure of what we are trying to do is not matching the structure of the files. With this change we have a clean: ```shell-session $ git show 'HEAD:tests' tree HEAD:tests functional/ installer/ nixos/ ```
34 lines
733 B
Bash
34 lines
733 B
Bash
source common.sh
|
|
|
|
clearStore
|
|
rm -rf $TEST_HOME/.cache $TEST_HOME/.config $TEST_HOME/.local
|
|
|
|
cp ./simple.nix ./simple.builder.sh ./fmt.simple.sh ./config.nix $TEST_HOME
|
|
|
|
cd $TEST_HOME
|
|
|
|
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
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
EOF
|
|
nix fmt ./file ./folder | grep 'Formatting: ./file ./folder'
|
|
nix flake check
|
|
nix flake show | grep -P "package 'formatter'"
|
|
|
|
clearStore
|