[test] Add new CLI testing platform

Adds the new CLI testing platform that I'm proposing.
See the added `README.md` for details.
This commit is contained in:
Nick Terrell
2022-01-27 13:56:59 -08:00
parent f088c430e3
commit f3096ff6d1
37 changed files with 1452 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
#!/bin/sh
source "$COMMON/platform.sh"
set -e
if [ false ]; then
for seed in $(seq 100); do
datagen -g1000 -s$seed > file$seed
done
zstd --train -r . -o dict0 -qq
for seed in $(seq 101 200); do
datagen -g1000 -s$seed > file$seed
done
zstd --train -r . -o dict1 -qq
[ "$($MD5SUM < dict0)" != "$($MD5SUM < dict1)" ] || die "dictionaries must not match"
datagen -g1000 -s0 > file0
fi
set -x
zstd files/0 -D dicts/0
zstd -t files/0.zst -D dicts/0
zstd -t files/0.zst -D dicts/1 && die "Must fail" ||:
zstd -t files/0.zst && die "Must fail" ||:
@@ -0,0 +1,8 @@
+ zstd files/0 -D dicts/0
+ zstd -t files/0.zst -D dicts/0
+ zstd -t files/0.zst -D dicts/1
files/0.zst : Decoding error (36) : Dictionary mismatch
+ :
+ zstd -t files/0.zst
files/0.zst : Decoding error (36) : Dictionary mismatch
+ :
+6
View File
@@ -0,0 +1,6 @@
#!/bin/sh
set -e
cp -r ../files .
cp -r ../dicts .
+24
View File
@@ -0,0 +1,24 @@
#!/bin/sh
set -e
source "$COMMON/platform.sh"
mkdir files/ dicts/
for seed in $(seq 50); do
datagen -g1000 -s$seed > files/$seed
done
zstd --train -r files -o dicts/0 -qq
for seed in $(seq 51 100); do
datagen -g1000 -s$seed > files/$seed
done
zstd --train -r files -o dicts/1 -qq
cmp dicts/0 dicts/1 && die "dictionaries must not match!"
datagen -g1000 > files/0