[CI] Hook cli-tests up to CI

Add cli-tests to `make test`. This adds a `python3` dependency to `make
test`, but not `make check`. We could make this dependency optional by
skipping the tests if `python3` is not present.
This commit is contained in:
Nick Terrell
2022-01-27 13:56:59 -08:00
parent f3096ff6d1
commit 1fc42de86a
18 changed files with 102 additions and 96 deletions
+5 -3
View File
@@ -1,7 +1,9 @@
#!/bin/sh -e
#!/bin/sh
# Uncomment the set -x line for debugging
# set -x
set -e
# Uncomment the set -v line for debugging
# set -v
# Test compression flags and check that they work
zstd file ; zstd -t file.zst
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/sh
source "$COMMON/format.sh"
. "$COMMON/format.sh"
set -e
+8 -8
View File
@@ -1,7 +1,7 @@
#!/bin/sh
set -e
set -x
set -v
datagen > file
@@ -12,7 +12,7 @@ zstd -1 file -o file-1.zst
zstd -19 file -o file-19.zst
zstd -22 --ultra file -o file-22.zst
zstd -t file-{f10,f1,1,19,22}.zst
zstd -t file-f10.zst file-f1.zst file-1.zst file-19.zst file-22.zst
cmp_size -ne file-19.zst file-22.zst
cmp_size -lt file-19.zst file-1.zst
@@ -41,10 +41,10 @@ ZSTD_CLEVEL=1 zstd file -o file-1-env.zst
ZSTD_CLEVEL=+19 zstd file -o file-19-env.zst
ZSTD_CLEVEL=+99 zstd file -o file-99-env.zst
cmp file-f10{,-env}.zst || die "Environment variable failed to set level"
cmp file-1{,-env}.zst || die "Environment variable failed to set level"
cmp file-19{,-env}.zst || die "Environment variable failed to set level"
cmp file-99{,-env}.zst || die "Environment variable failed to set level"
cmp file-f10.zst file-f10-env.zst || die "Environment variable failed to set level"
cmp file-1.zst file-1-env.zst || die "Environment variable failed to set level"
cmp file-19.zst file-19-env.zst || die "Environment variable failed to set level"
cmp file-99.zst file-99-env.zst || die "Environment variable failed to set level"
# Test invalid environment clevel is the default level
zstd -f file
@@ -60,5 +60,5 @@ ZSTD_CLEVEL=5000000000 zstd -f file -o file-env.zst; cmp file.zst file-env.zst
ZSTD_CLEVEL=10 zstd -f file -1 -o file-1-env.zst
ZSTD_CLEVEL=10 zstd -f file --fast=1 -o file-f1-env.zst
cmp file-1{,-env}.zst || die "Environment variable not overridden"
cmp file-f1{,-env}.zst || die "Environment variable not overridden"
cmp file-1.zst file-1-env.zst || die "Environment variable not overridden"
cmp file-f1.zst file-f1-env.zst || die "Environment variable not overridden"
@@ -1,75 +1,71 @@
+ datagen
+ zstd --fast=10 file -o file-f10.zst
+ zstd --fast=1 file -o file-f1.zst
+ zstd -1 file -o file-1.zst
+ zstd -19 file -o file-19.zst
+ zstd -22 --ultra file -o file-22.zst
+ zstd -t file-f10.zst file-f1.zst file-1.zst file-19.zst file-22.zst
+ cmp_size -ne file-19.zst file-22.zst
+ cmp_size -lt file-19.zst file-1.zst
+ cmp_size -lt file-1.zst file-f1.zst
+ cmp_size -lt file-f1.zst file-f10.zst
+ zstd --fast file -f
+ cmp file.zst file-f1.zst
+ zstd -0 file -o file-0.zst
+ zstd -f file
+ cmp file.zst file-0.zst
+ zstd -99 file -o file-99.zst
datagen > file
# Compress with various levels and ensure that their sizes are ordered
zstd --fast=10 file -o file-f10.zst
zstd --fast=1 file -o file-f1.zst
zstd -1 file -o file-1.zst
zstd -19 file -o file-19.zst
zstd -22 --ultra file -o file-22.zst
zstd -t file-f10.zst file-f1.zst file-1.zst file-19.zst file-22.zst
cmp_size -ne file-19.zst file-22.zst
cmp_size -lt file-19.zst file-1.zst
cmp_size -lt file-1.zst file-f1.zst
cmp_size -lt file-f1.zst file-f10.zst
# Test default levels
zstd --fast file -f
cmp file.zst file-f1.zst || die "--fast is not level -1"
zstd -0 file -o file-0.zst
zstd -f file
cmp file.zst file-0.zst || die "Level 0 is not the default level"
# Test level clamping
zstd -99 file -o file-99.zst
Warning : compression level higher than max, reduced to 19
+ cmp file-19.zst file-99.zst
+ zstd --fast=200000 file -c
+ zstd -t
+ zstd -5000000000 -f file
cmp file-19.zst file-99.zst || die "Level 99 is clamped to 19"
zstd --fast=200000 file -c | zstd -t
zstd -5000000000 -f file && die "Level too large, must fail" ||:
error: numeric value overflows 32-bit unsigned int
+ :
+ zstd --fast=5000000000 -f file
zstd --fast=5000000000 -f file && die "Level too large, must fail" ||:
error: numeric value overflows 32-bit unsigned int
+ :
+ ZSTD_CLEVEL=-10
+ zstd file -o file-f10-env.zst
+ ZSTD_CLEVEL=1
+ zstd file -o file-1-env.zst
+ ZSTD_CLEVEL=+19
+ zstd file -o file-19-env.zst
+ ZSTD_CLEVEL=+99
+ zstd file -o file-99-env.zst
# Test setting a level through the environment variable
ZSTD_CLEVEL=-10 zstd file -o file-f10-env.zst
ZSTD_CLEVEL=1 zstd file -o file-1-env.zst
ZSTD_CLEVEL=+19 zstd file -o file-19-env.zst
ZSTD_CLEVEL=+99 zstd file -o file-99-env.zst
Warning : compression level higher than max, reduced to 19
+ cmp file-f10.zst file-f10-env.zst
+ cmp file-1.zst file-1-env.zst
+ cmp file-19.zst file-19-env.zst
+ cmp file-99.zst file-99-env.zst
+ zstd -f file
+ ZSTD_CLEVEL=-
+ zstd -f file -o file-env.zst
cmp file-f10.zst file-f10-env.zst || die "Environment variable failed to set level"
cmp file-1.zst file-1-env.zst || die "Environment variable failed to set level"
cmp file-19.zst file-19-env.zst || die "Environment variable failed to set level"
cmp file-99.zst file-99-env.zst || die "Environment variable failed to set level"
# Test invalid environment clevel is the default level
zstd -f file
ZSTD_CLEVEL=- zstd -f file -o file-env.zst ; cmp file.zst file-env.zst
Ignore environment variable setting ZSTD_CLEVEL=-: not a valid integer value
+ cmp file.zst file-env.zst
+ ZSTD_CLEVEL=+
+ zstd -f file -o file-env.zst
ZSTD_CLEVEL=+ zstd -f file -o file-env.zst ; cmp file.zst file-env.zst
Ignore environment variable setting ZSTD_CLEVEL=+: not a valid integer value
+ cmp file.zst file-env.zst
+ ZSTD_CLEVEL=a
+ zstd -f file -o file-env.zst
ZSTD_CLEVEL=a zstd -f file -o file-env.zst ; cmp file.zst file-env.zst
Ignore environment variable setting ZSTD_CLEVEL=a: not a valid integer value
+ cmp file.zst file-env.zst
+ ZSTD_CLEVEL=-a
+ zstd -f file -o file-env.zst
ZSTD_CLEVEL=-a zstd -f file -o file-env.zst ; cmp file.zst file-env.zst
Ignore environment variable setting ZSTD_CLEVEL=-a: not a valid integer value
+ cmp file.zst file-env.zst
+ ZSTD_CLEVEL=+a
+ zstd -f file -o file-env.zst
ZSTD_CLEVEL=+a zstd -f file -o file-env.zst ; cmp file.zst file-env.zst
Ignore environment variable setting ZSTD_CLEVEL=+a: not a valid integer value
+ cmp file.zst file-env.zst
+ ZSTD_CLEVEL=3a7
+ zstd -f file -o file-env.zst
ZSTD_CLEVEL=3a7 zstd -f file -o file-env.zst ; cmp file.zst file-env.zst
Ignore environment variable setting ZSTD_CLEVEL=3a7: not a valid integer value
+ cmp file.zst file-env.zst
+ ZSTD_CLEVEL=5000000000
+ zstd -f file -o file-env.zst
ZSTD_CLEVEL=5000000000 zstd -f file -o file-env.zst; cmp file.zst file-env.zst
Ignore environment variable setting ZSTD_CLEVEL=5000000000: numeric value too large
+ cmp file.zst file-env.zst
+ ZSTD_CLEVEL=10
+ zstd -f file -1 -o file-1-env.zst
+ ZSTD_CLEVEL=10
+ zstd -f file --fast=1 -o file-f1-env.zst
+ cmp file-1.zst file-1-env.zst
+ cmp file-f1.zst file-f1-env.zst
# Test environment clevel is overridden by command line
ZSTD_CLEVEL=10 zstd -f file -1 -o file-1-env.zst
ZSTD_CLEVEL=10 zstd -f file --fast=1 -o file-f1-env.zst
cmp file-1.zst file-1-env.zst || die "Environment variable not overridden"
cmp file-f1.zst file-f1-env.zst || die "Environment variable not overridden"