Add a basic test for monitoring, each of the "in" and "out" sides.

This commit is contained in:
Andrew Wood
2026-04-19 23:12:10 +01:00
parent 571c3bee06
commit 1d28da18ce
2 changed files with 28 additions and 0 deletions
+1
View File
@@ -97,6 +97,7 @@ tests/Modifiers_-_--size_from_file_size.test \
tests/Modifiers_-_--size_from_dir_size.test \
tests/Modifiers_-_--size.test \
tests/Modifiers_-_--sync.test \
tests/Monitor_-_Basic.test \
tests/Sparse_-_Basic.test \
tests/Terminal_-_Detect_width.test \
tests/Transfer_-_--rate-limit.test \
+27
View File
@@ -0,0 +1,27 @@
#!/bin/sh
#
# Check that monitoring of a simple command works.
# Allow all tests to be skipped, e.g. during a release build
test "${SKIP_ALL_TESTS}" = "1" && exit 77
true "${testSubject:?not set - call this from 'make check'}"
true "${workFile1:?not set - call this from 'make check'}"
seq 1 100 | "${testSubject}" -M in -f -l -b -- sed '1~2d' >/dev/null 2>"${workFile1}"
counterValue=$(tr '\r' '\n' < "${workFile1}" | awk '/[0-9]/{print int($1)}' | sed -n '$p')
if ! test "${counterValue}" = "100"; then
echo "in monitor: unexpected byte counter value: ${counterValue}"
exit 1
fi
seq 1 100 | "${testSubject}" -M out -f -l -b -- sed '1~2d' >/dev/null 2>"${workFile1}"
counterValue=$(tr '\r' '\n' < "${workFile1}" | awk '/[0-9]/{print int($1)}' | sed -n '$p')
if ! test "${counterValue}" = "50"; then
echo "out monitor: unexpected byte counter value: ${counterValue}"
exit 1
fi
exit 0