2024-05-28 19:43:04 +03:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
2014-07-16 17:02:05 +03:00
|
|
|
source common.sh
|
|
|
|
|
|
|
|
clearStore
|
|
|
|
|
2024-06-04 00:51:07 +03:00
|
|
|
rm -rf "$TEST_ROOT/case"
|
2014-07-16 17:02:05 +03:00
|
|
|
|
2024-06-04 00:51:07 +03:00
|
|
|
opts=("--option" "use-case-hack" "true")
|
2014-07-16 17:02:05 +03:00
|
|
|
|
|
|
|
# Check whether restoring and dumping a NAR that contains case
|
|
|
|
# collisions is round-tripping, even on a case-insensitive system.
|
2024-06-04 00:51:07 +03:00
|
|
|
|
|
|
|
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)" ]
|
2014-07-16 17:02:05 +03:00
|
|
|
|
|
|
|
# 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"
|
2024-06-04 00:51:07 +03:00
|
|
|
(! nix-store "${opts[@]}" --dump "$TEST_ROOT/case" > /dev/null)
|