diff options
author | 2018-11-28 04:50:04 +0100 | |
---|---|---|
committer | 2018-11-28 05:12:58 +0100 | |
commit | a2ab58da1a6f0b6c51537d92c40208c2e00b97e9 (patch) | |
tree | d8852a44f7273fce6df980f1d2d3780e957265dc /tools | |
parent | Merge pull request #10952 from evverx/keep-fuzz-udev-rules-going (diff) | |
download | systemd-a2ab58da1a6f0b6c51537d92c40208c2e00b97e9.tar.gz systemd-a2ab58da1a6f0b6c51537d92c40208c2e00b97e9.tar.bz2 systemd-a2ab58da1a6f0b6c51537d92c40208c2e00b97e9.zip |
travis: make sure that *.perf and directives.* files are in sync
New features are constantly added to networkd. Apparently, not everybody
knows that the "directives" files should be updated too to make
the fuzzers aware of them.
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/check-directives.sh | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/check-directives.sh b/tools/check-directives.sh new file mode 100755 index 000000000..e2fd38898 --- /dev/null +++ b/tools/check-directives.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +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" +} + +if [[ $(generate_directives src/network/networkd-network-gperf.gperf | wc -l) -ne $(wc -l <test/fuzz/fuzz-network-parser/directives.network) ]]; then + echo "Looks like test/fuzz/fuzz-network-parser/directives.network hasn't been updated" + exit 1 +fi + +if [[ $(generate_directives src/network/netdev/netdev-gperf.gperf | wc -l) -ne $(wc -l <test/fuzz/fuzz-netdev-parser/directives.netdev) ]]; then + echo "Looks like test/fuzz/fuzz-netdev-parser/directives.netdev hasn't been updated" + exit 1 +fi |