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/ ```
20 lines
674 B
Bash
20 lines
674 B
Bash
source common.sh
|
|
|
|
clearStore
|
|
|
|
rm -rf $TEST_ROOT/case
|
|
|
|
opts="--option use-case-hack true"
|
|
|
|
# Check whether restoring and dumping a NAR that contains case
|
|
# collisions is round-tripping, even on a case-insensitive system.
|
|
nix-store $opts --restore $TEST_ROOT/case < case.nar
|
|
nix-store $opts --dump $TEST_ROOT/case > $TEST_ROOT/case.nar
|
|
cmp case.nar $TEST_ROOT/case.nar
|
|
[ "$(nix-hash $opts --type sha256 $TEST_ROOT/case)" = "$(nix-hash --flat --type sha256 case.nar)" ]
|
|
|
|
# Check whether we detect true collisions (e.g. those remaining after
|
|
# removal of the suffix).
|
|
touch "$TEST_ROOT/case/xt_CONNMARK.h~nix~case~hack~3"
|
|
(! nix-store $opts --dump $TEST_ROOT/case > /dev/null)
|