summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-11-29 22:41:52 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2016-12-01 11:50:17 -0500
commit8ce2069263a5ed9237ca03179a760d3023e12fbe (patch)
tree38b73bd62dd327646dfe7820e2f38daf8baec913 /test
parentdc17ee3d6eb1c642d3518e23c7a1cdabf7225d98 (diff)
hwdb-test: properly print error output from systemd-hwdb update
Because -e was set, we'd exit immediately when systemd-hwdb failed and the captured error output was never printed. We want to test two things: that 0 is returned, and that nothing is printed to stderr (to catch syntax errors in the hwdb). v2: stop capturing stderr to a variable v3: capture stderr to a variable and test both error types separately
Diffstat (limited to 'test')
-rwxr-xr-xtest/hwdb-test.sh10
1 files changed, 8 insertions, 2 deletions
diff --git a/test/hwdb-test.sh b/test/hwdb-test.sh
index 4638328059..bfdafce998 100755
--- a/test/hwdb-test.sh
+++ b/test/hwdb-test.sh
@@ -32,11 +32,17 @@ D=$(mktemp --directory)
trap "rm -rf '$D'" EXIT INT QUIT PIPE
mkdir -p "$D/etc/udev"
ln -s "$ROOTDIR/hwdb" "$D/etc/udev/hwdb.d"
-err=$("$SYSTEMD_HWDB" update --root "$D" 2>&1 >/dev/null)
+
+err=$("$SYSTEMD_HWDB" update --root "$D" 2>&1 >/dev/null) && rc= || rc=$?
if [ -n "$err" ]; then
echo "$err"
- exit 1
+ exit ${rc:-1}
fi
+if [ -n "$rc" ]; then
+ echo "$SYSTEMD_HWDB returned $rc"
+ exit $rc
+fi
+
if [ ! -e "$D/etc/udev/hwdb.bin" ]; then
echo "$D/etc/udev/hwdb.bin was not generated"
exit 1