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.
This commit is contained in:
parent
466a2bee94
commit
a2ab58da1a
|
@ -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
|
|
@ -50,6 +50,7 @@ for phase in "${PHASES[@]}"; do
|
|||
$DOCKER_EXEC meson --werror -Dtests=unsafe -Dslow-tests=true build
|
||||
$DOCKER_EXEC ninja -v -C build
|
||||
$DOCKER_EXEC ninja -C build test
|
||||
$DOCKER_EXEC tools/check-directives.sh
|
||||
;;
|
||||
RUN_ASAN)
|
||||
$DOCKER_EXEC git clean -dxff
|
||||
|
|
Loading…
Reference in New Issue