60 lines
1.4 KiB
Bash
Executable file
60 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Test harness for testing the RLB processes from the outside.
|
|
#
|
|
# Some behavior can only be observed when properly exiting the process running Glean,
|
|
# e.g. when an uploader runs in another thread.
|
|
# On exit the threads will be killed, regardless of their state.
|
|
|
|
# Remove the temporary data path on all exit conditions
|
|
cleanup() {
|
|
if [ -n "$datapath" ]; then
|
|
rm -r "$datapath"
|
|
fi
|
|
}
|
|
trap cleanup INT ABRT TERM EXIT
|
|
|
|
tmp="${TMPDIR:-/tmp}"
|
|
datapath=$(mktemp -d "${tmp}/glean_enabled_pings.XXXX")
|
|
|
|
# Build it once
|
|
cargo build -p glean --example enabled-pings
|
|
|
|
cmd="cargo run -q -p glean --example enabled-pings -- $datapath"
|
|
|
|
$cmd default
|
|
count=$(ls -1q "$datapath/sent_pings" | wc -l)
|
|
if [[ "$count" -ne 1 ]]; then
|
|
echo "1: test result: FAILED."
|
|
exit 101
|
|
fi
|
|
|
|
if ! grep -q "invalid-test-host/submit/glean-enabled-pings/one/" "$datapath/sent_pings"/*; then
|
|
echo "2: test result: FAILED."
|
|
exit 101
|
|
fi
|
|
|
|
rm -r $datapath
|
|
$cmd enable-both
|
|
count=$(ls -1q "$datapath/sent_pings" | wc -l)
|
|
if [[ "$count" -ne 2 ]]; then
|
|
echo "3: test result: FAILED."
|
|
exit 101
|
|
fi
|
|
|
|
rm -r $datapath
|
|
$cmd enable-only-two
|
|
count=$(ls -1q "$datapath/sent_pings" | wc -l)
|
|
if [[ "$count" -ne 1 ]]; then
|
|
echo "4: test result: FAILED."
|
|
exit 101
|
|
fi
|
|
|
|
if ! grep -q "invalid-test-host/submit/glean-enabled-pings/two/" "$datapath/sent_pings"/*; then
|
|
echo "5: test result: FAILED."
|
|
exit 101
|
|
fi
|
|
|
|
|
|
echo "test result: ok."
|
|
exit 0
|