mirror of
https://github.com/facebook/zstd.git
synced 2025-04-21 23:05:51 +03:00
* Centralize the logic about whether to print the progress bar or not in the `*_PROGRESS()` macros. * Centralize the logc about whether to print the summary line or not in `FIO_shouldDisplayFileSummary()` and `FIO_shouldDisplayMultipleFileSummary()`. * Make `--progress` work for non-zstd (de)compressors. * Clean up several edge cases in compression and decompression progress printing along the way. E.g. wrong log level, or missing summary line. One thing I don't like about stdout mode, which sets the display level to 1, is that warnings aren't displayed. After this PR, we could change stdout mode from lowering the display level, to defaulting to implied `--no-progress`. But, I think that deserves a separate PR.
42 lines
1.0 KiB
Bash
Executable File
42 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
. "$COMMON/platform.sh"
|
|
|
|
set -e
|
|
|
|
println >&2 "Tests cases where progress information should be printed"
|
|
|
|
echo hello > hello
|
|
echo world > world
|
|
|
|
zstd -q hello world
|
|
|
|
for args in \
|
|
"--progress" \
|
|
"--fake-stderr-is-console" \
|
|
"--progress --fake-stderr-is-console -q"; do
|
|
println >&2 "args = $args"
|
|
println >&2 "compress file to file"
|
|
zstd $args -f hello
|
|
println >&2 "compress pipe to pipe"
|
|
zstd $args < hello > $INTOVOID
|
|
println >&2 "compress pipe to file"
|
|
zstd $args < hello -fo hello.zst
|
|
println >&2 "compress file to pipe"
|
|
zstd $args hello -c > $INTOVOID
|
|
println >&2 "compress 2 files"
|
|
zstd $args -f hello world
|
|
|
|
println >&2 "decompress file to file"
|
|
zstd $args -d -f hello.zst
|
|
println >&2 "decompress pipe to pipe"
|
|
zstd $args -d < hello.zst > $INTOVOID
|
|
println >&2 "decompress pipe to file"
|
|
zstd $args -d < hello.zst -fo hello
|
|
println >&2 "decompress file to pipe"
|
|
zstd $args -d hello.zst -c > $INTOVOID
|
|
println >&2 "decompress 2 files"
|
|
zstd $args -d -f hello.zst world.zst
|
|
println >&2 ""
|
|
done
|