summaryrefslogtreecommitdiffstats
path: root/tests/shell/helpers/json-sanitize-ruleset.sh
blob: 31b85cbd8435a992c4d403eeb33b07362ef5a9f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash -e

die() {
	printf "%s\n" "$*"
	exit 1
}

do_sed() {
	# Normalize the "version"/"release_name", otherwise we have to
	# regenerate the JSON output upon new release.
	#
	# Also, "handle" are not stable. Normalize them 0.
	sed \
		-e '1s/^\({"nftables": \[{"metainfo": {"version": "\)[0-9.]\+\(", "release_name": "\)[^"]\+\(", "\)/\1VERSION\2RELEASE_NAME\3/' \
		-e '1s/"handle": [0-9]\+\>/"handle": 0/g' \
		"$@"
}

if [ "$#" = 0 ] ; then
	do_sed
	exit $?
fi

for f ; do
	test -f "$f" || die "$0: file \"$f\" does not exist"
done

for f ; do
	do_sed -i "$f" || die "$0: \`sed -i\` failed for \"$f\""
done