summaryrefslogblamecommitdiffstats
path: root/tests/enums
blob: 43afe3dc1f5fb039dc109e6b02d0061ea49075c9 (plain) (tree)























                                                                                                       
# -*- sh -*-
# See LICENSE file for copyright and license details.

check_enum_good () {
	test -n "$(getnamelist "$@")"
	test -n "$(getnumlist "$@")"
	test -z "$(getnamelist "$@" | sort | uniq -d)"
	test -z "$(getnumlist "$@" | sort | uniq -d)"
	(( "$(getnumlist "$@" | sort -n | sed -n \$p)" <= 0xFFFF ))
}
check_enum_good OS
check_enum_good ARCH
check_enum_good CAT
for cat in $(getnamelist CAT); do
	if test "$cat" = SUPPORT_PENDING || test "$cat" = NOT_IMPLEMENTED; then
		continue
	fi
	check_enum_good ${cat}_SUBCAT
	grep -i "enum.libsyscalls_${cat}_syscall_subcategory"'\s\+'"$cat"\\b < libsyscalls.h >/dev/null
done
check_enum_good SIGN
check_enum_good ANNOTATION
check_enum_good SECTION
check_enum_good TYPE cpp_enum_clean