mirror of
https://github.com/Cyan4973/xxHash.git
synced 2026-01-19 04:52:10 +00:00
- Add `--ignore-missing` option for `xxhsum`. - Add test script `tests/cli-ignore-missing.sh` and related `Makefile` entries. - Note that we still don't have CLI test entry in our CI. `xxhsum` returns failure exit code when - `--ignore-missing` is presented. - Checksum file is specified. - But `XSUM_checkFile()` doesn't read actual file (may) due to `--ignore-missing` If so, `xxhsum` reports `no file was verified` with failure exit code. <details><summary>`--ignore-missing` related code in `digest.c`</summary> -2f1cffe07a/src/digest.c (L190-L191)-2f1cffe07a/src/digest.c (L362)-2f1cffe07a/src/digest.c (L380)-2f1cffe07a/src/digest.c (L506)-2f1cffe07a/src/digest.c (L978-L982)-2f1cffe07a/src/digest.c (L1236-L1240)-2f1cffe07a/src/digest.c (L1325-L1328)-2f1cffe07a/src/digest.c (L1429-L1431)-2f1cffe07a/src/digest.c (L1558-L1564)</details>
52 lines
1.1 KiB
Bash
52 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
# Exit immediately if any command fails.
|
|
# https://stackoverflow.com/a/2871034
|
|
set -e -u -x
|
|
|
|
|
|
# Normal
|
|
./xxhsum ./Makefile > ./.test.xxh
|
|
./xxhsum --check ./.test.xxh
|
|
|
|
|
|
# Missing, expect error
|
|
# (1) Create checksum file.
|
|
# (2) Remove one of them.
|
|
# (3) --check it
|
|
# (4) Expect NG (missing file)
|
|
cp Makefile .test.makefile
|
|
./xxhsum ./.test.makefile > ./.test.xxh
|
|
rm ./.test.makefile
|
|
! ./xxhsum --check ./.test.xxh # Put '!' for expecting error
|
|
|
|
|
|
# Missing, --ignore-missing
|
|
# (1) Create checksum file.
|
|
# (2) Remove one of them.
|
|
# (3) --check it with --ignore-missing.
|
|
# (4) Expect OK
|
|
|
|
cp Makefile .test.makefile
|
|
./xxhsum Makefile ./.test.makefile > ./.test.xxh
|
|
rm ./.test.makefile
|
|
./xxhsum --check --ignore-missing ./.test.xxh
|
|
|
|
|
|
# Missing, --ignore-missing, expect error
|
|
# (1) Create checksum file.
|
|
# (2) Remove all of them.
|
|
# (3) --check it with --ignore-missing.
|
|
# (4) Expect NG (no file was verified).
|
|
|
|
cp Makefile .test.makefile
|
|
./xxhsum ./.test.makefile > ./.test.xxh
|
|
rm ./.test.makefile
|
|
! ./xxhsum --check --ignore-missing ./.test.xxh # Put '!' for expecting error
|
|
|
|
|
|
# Cleanup
|
|
( rm ./.test.* ) || true
|
|
|
|
echo OK
|