mirror of
https://github.com/systemd/systemd.git
synced 2024-12-02 23:03:50 +08:00
ff12a7954c
As in2a5fcfae02
and in3e67e5c992
using /usr/bin/env allows bash to be looked up in PATH rather than being hard-coded. As with the previous changes the same arguments apply - distributions have scripts to rewrite shebangs on installation and they know what locations to rely on. - For tests/compilation we should rather rely on the user to have setup there PATH correctly. In particular this makes testing from git easier on NixOS where do not provide /bin/bash to improve compose-ability.
37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
which perl &>/dev/null || exit 77
|
|
|
|
function generate_directives() {
|
|
perl -aF'/[\s,]+/' -ne '
|
|
if (my ($s, $d) = ($F[0] =~ /^([^\s\.]+)\.([^\s\.]+)$/)) { $d{$s}{"$d="} = 1; }
|
|
END { while (my ($key, $value) = each %d) {
|
|
printf "[%s]\n%s\n", $key, join("\n", keys(%$value))
|
|
}}' "$1"
|
|
}
|
|
|
|
ret=0
|
|
if ! diff \
|
|
<(generate_directives "$1"/src/network/networkd-network-gperf.gperf | sort) \
|
|
<(cat "$1"/test/fuzz/fuzz-network-parser/directives.network | sort); then
|
|
echo "Looks like test/fuzz/fuzz-network-parser/directives.network hasn't been updated"
|
|
ret=1
|
|
fi
|
|
|
|
if ! diff \
|
|
<(generate_directives "$1"/src/network/netdev/netdev-gperf.gperf | sort) \
|
|
<(cat "$1"/test/fuzz/fuzz-netdev-parser/directives.netdev | sort); then
|
|
echo "Looks like test/fuzz/fuzz-netdev-parser/directives.netdev hasn't been updated"
|
|
ret=1
|
|
fi
|
|
|
|
if ! diff \
|
|
<(generate_directives "$1"/src/udev/net/link-config-gperf.gperf | sort) \
|
|
<(cat "$1"/test/fuzz/fuzz-link-parser/directives.link | sort) ; then
|
|
echo "Looks like test/fuzz/fuzz-link-parser/directives.link hasn't been updated"
|
|
ret=1
|
|
fi
|
|
|
|
exit $ret
|