]>
Commit | Line | Data |
---|---|---|
30dc7898 | 1 | #!/bin/sh |
d9215cd8 ZJS |
2 | # SPDX-License-Identifier: LGPL-2.1+ |
3 | # | |
4 | # Call built systemd-hwdb update on our hwdb files to ensure that they parse | |
30dc7898 MP |
5 | # without error |
6 | # | |
7 | # (C) 2016 Canonical Ltd. | |
8 | # Author: Martin Pitt <martin.pitt@ubuntu.com> | |
30dc7898 MP |
9 | |
10 | set -e | |
11 | ||
07b3a026 | 12 | export SYSTEMD_LOG_LEVEL=info |
30dc7898 | 13 | ROOTDIR=$(dirname $(dirname $(readlink -f $0))) |
fdf666bc | 14 | SYSTEMD_HWDB=./systemd-hwdb |
30dc7898 MP |
15 | |
16 | if [ ! -x "$SYSTEMD_HWDB" ]; then | |
17 | echo "$SYSTEMD_HWDB does not exist, please build first" | |
18 | exit 1 | |
19 | fi | |
20 | ||
21 | D=$(mktemp --directory) | |
22 | trap "rm -rf '$D'" EXIT INT QUIT PIPE | |
23 | mkdir -p "$D/etc/udev" | |
24 | ln -s "$ROOTDIR/hwdb" "$D/etc/udev/hwdb.d" | |
8ce20692 | 25 | |
49141e0c | 26 | # Test "good" properties" — no warnings or errors allowed |
8ce20692 | 27 | err=$("$SYSTEMD_HWDB" update --root "$D" 2>&1 >/dev/null) && rc= || rc=$? |
30dc7898 MP |
28 | if [ -n "$err" ]; then |
29 | echo "$err" | |
8ce20692 | 30 | exit ${rc:-1} |
30dc7898 | 31 | fi |
8ce20692 ZJS |
32 | if [ -n "$rc" ]; then |
33 | echo "$SYSTEMD_HWDB returned $rc" | |
34 | exit $rc | |
35 | fi | |
36 | ||
30dc7898 MP |
37 | if [ ! -e "$D/etc/udev/hwdb.bin" ]; then |
38 | echo "$D/etc/udev/hwdb.bin was not generated" | |
39 | exit 1 | |
40 | fi | |
49141e0c ZJS |
41 | |
42 | # Test "bad" properties" — warnings required, errors not allowed | |
43 | rm -f "$D/etc/udev/hwdb.bin" "$D/etc/udev/hwdb.d" | |
44 | ||
45 | ln -s "$ROOTDIR/test/hwdb" "$D/etc/udev/hwdb.d" | |
46 | err=$("$SYSTEMD_HWDB" update --root "$D" 2>&1 >/dev/null) && rc= || rc=$? | |
47 | if [ -n "$rc" ]; then | |
48 | echo "$SYSTEMD_HWDB returned $rc" | |
49 | exit $rc | |
50 | fi | |
51 | if [ -n "$err" ]; then | |
52 | echo "Expected warnings" | |
53 | echo "$err" | |
54 | else | |
55 | echo "$SYSTEMD_HWDB unexpectedly printed no warnings" | |
56 | exit 1 | |
57 | fi | |
58 | ||
59 | if [ ! -e "$D/etc/udev/hwdb.bin" ]; then | |
60 | echo "$D/etc/udev/hwdb.bin was not generated" | |
61 | exit 1 | |
62 | fi |