aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorWill Dietz <w@wdtz.org>2017-12-29 14:42:14 -0600
committerWill Dietz <w@wdtz.org>2017-12-30 20:26:33 -0600
commit9dd2b8ac7b8d82df8c1f3f36efb683175fd6ecee (patch)
treee05cbf82ccce203db9b52d25220e2838544034d8 /tests
parent6a0dd635084213bf75c1f36bc9bc38d242096e65 (diff)
use libbrotli directly when available
* Look for both 'brotli' and 'bro' as external command, since upstream has renamed it in newer versions. If neither are found, current runtime behavior is preserved: try to find 'bro' on PATH. * Limit amount handed to BrotliEncoderCompressStream to ensure interrupts are processed in a timely manner. Testing shows negligible performance impact. (Other compression sinks don't seem to require this)
Diffstat (limited to 'tests')
-rw-r--r--tests/brotli.sh28
-rw-r--r--tests/common.sh.in1
-rw-r--r--tests/local.mk3
3 files changed, 31 insertions, 1 deletions
diff --git a/tests/brotli.sh b/tests/brotli.sh
new file mode 100644
index 000000000..645dd4214
--- /dev/null
+++ b/tests/brotli.sh
@@ -0,0 +1,28 @@
+source common.sh
+
+
+# Only test if we found brotli libraries
+# (CLI tool is likely unavailable if libraries are missing)
+if [ -n "$HAVE_BROTLI" ]; then
+
+clearStore
+clearCache
+
+cacheURI="file://$cacheDir?compression=br"
+
+outPath=$(nix-build dependencies.nix --no-out-link)
+
+nix copy --to $cacheURI $outPath
+
+HASH=$(nix hash-path $outPath)
+
+clearStore
+clearCacheCache
+
+nix copy --from $cacheURI $outPath --no-check-sigs
+
+HASH2=$(nix hash-path $outPath)
+
+[[ $HASH = $HASH2 ]]
+
+fi # HAVE_BROTLI
diff --git a/tests/common.sh.in b/tests/common.sh.in
index 09f294914..83643d8b0 100644
--- a/tests/common.sh.in
+++ b/tests/common.sh.in
@@ -32,6 +32,7 @@ export xmllint="@xmllint@"
export SHELL="@bash@"
export PAGER=cat
export HAVE_SODIUM="@HAVE_SODIUM@"
+export HAVE_BROTLI="@HAVE_BROTLI@"
export version=@PACKAGE_VERSION@
export system=@system@
diff --git a/tests/local.mk b/tests/local.mk
index baf74224b..83154228e 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -19,7 +19,8 @@ nix_tests = \
fetchGit.sh \
fetchMercurial.sh \
signing.sh \
- run.sh
+ run.sh \
+ brotli.sh
# parallel.sh
install-tests += $(foreach x, $(nix_tests), tests/$(x))