diff options
author | Evgeny Vereshchagin <evvers@ya.ru> | 2018-11-28 04:50:04 +0100 |
---|---|---|
committer | Evgeny Vereshchagin <evvers@ya.ru> | 2018-11-28 05:12:58 +0100 |
commit | a2ab58da1a6f0b6c51537d92c40208c2e00b97e9 (patch) | |
tree | d8852a44f7273fce6df980f1d2d3780e957265dc /tools/check-directives.sh | |
parent | 466a2bee94ccd2518c8b22299509adefb29cd15d (diff) | |
download | systemd-a2ab58da1a6f0b6c51537d92c40208c2e00b97e9.tar.gz |
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/check-directives.sh')
-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 0000000000..e2fd38898f --- /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 |