CMake: Use CheckAPI's abort/termoutput with dissectors only

I believe this was the original intention, to use these API restricitons
with dissectors only (not that I necessarily agree with that policy either),
and through copy-paste and lack of clear guidelines it spread to other
parts of the build.

Rename the checkAPI groups to make it very clear that this is dissector-only.

This doesn't mean, of course, that good programming practices shouldn't be
followed everywhere. In particular assertions need to be used properly.
Don't use them to catch runtime errors or validate input data.

This commit will be followed by another removing the various ugly hacks
people have been using to get around the checkAPI hammer.
This commit is contained in:
João Valverde 2021-02-26 22:09:15 +00:00 committed by Wireshark GitLab Utility
parent 142cfb03ac
commit 7f105d3981
32 changed files with 33 additions and 39 deletions

View File

@ -415,7 +415,6 @@ CHECKAPI(
NAME NAME
epan epan
SWITCHES SWITCHES
--group termoutput:10 --summary-group termoutput
SOURCES SOURCES
${LIBWIRESHARK_NONGENERATED_FILES} ${LIBWIRESHARK_NONGENERATED_FILES}
) )

View File

@ -71,7 +71,6 @@ CHECKAPI(
NAME NAME
crypt crypt
SWITCHES SWITCHES
-g termoutput
SOURCES SOURCES
${CRYPT_FILES} ${CRYPT_FILES}
) )

View File

@ -97,7 +97,6 @@ CHECKAPI(
NAME NAME
dfilter dfilter
SWITCHES SWITCHES
-g termoutput
SOURCES SOURCES
${DFILTER_NONGENERATED_FILES} ${DFILTER_NONGENERATED_FILES}
# LEX files commented out due to use of malloc, free etc. # LEX files commented out due to use of malloc, free etc.

View File

@ -2084,8 +2084,8 @@ CHECKAPI(
NAME NAME
dissectors dissectors
SWITCHES SWITCHES
--group abort --group dissectors-prohibited
--group termoutput:5 --summary-group termoutput --group dissectors-restricted:5 --summary-group dissectors-restricted
--file ${CHECKAPI_FILE_LIST} --file ${CHECKAPI_FILE_LIST}
SOURCES SOURCES
${DISSECTOR_SUPPORT_SRC} ${DISSECTOR_SUPPORT_SRC}

View File

@ -66,7 +66,6 @@ CHECKAPI(
NAME NAME
ftypes ftypes
SWITCHES SWITCHES
-g termoutput
SOURCES SOURCES
${FTYPE_FILES} ${FTYPE_FILES}
) )

View File

@ -99,7 +99,6 @@ CHECKAPI(
NAME NAME
wmem wmem
SWITCHES SWITCHES
--group termoutput:1 --summary-group termoutput
SOURCES SOURCES
${WMEM_FILES} ${WMEM_FILES}
) )

View File

@ -158,7 +158,6 @@ CHECKAPI(
NAME NAME
wslua wslua
SWITCHES SWITCHES
--group termoutput:6 --summary-group termoutput
SOURCES SOURCES
${WSLUA_FILES} ${WSLUA_FILES}
) )

View File

@ -48,7 +48,6 @@ CHECKAPI(
NAME NAME
g711 g711
SWITCHES SWITCHES
-g abort -g termoutput
SOURCES SOURCES
${CODEC_SRC} ${CODEC_SRC}
${CODEC_HEADERS} ${CODEC_HEADERS}

View File

@ -50,7 +50,6 @@ CHECKAPI(
NAME NAME
g722 g722
SWITCHES SWITCHES
-g abort -g termoutput
SOURCES SOURCES
${CODEC_SRC} ${CODEC_SRC}
${CODEC_HEADERS} ${CODEC_HEADERS}

View File

@ -50,7 +50,6 @@ CHECKAPI(
NAME NAME
g726 g726
SWITCHES SWITCHES
-g abort -g termoutput
SOURCES SOURCES
${CODEC_SRC} ${CODEC_SRC}
${CODEC_HEADERS} ${CODEC_HEADERS}

View File

@ -50,7 +50,6 @@ CHECKAPI(
NAME NAME
g729 g729
SWITCHES SWITCHES
-g abort -g termoutput
SOURCES SOURCES
${CODEC_SRC} ${CODEC_SRC}
${CODEC_HEADERS} ${CODEC_HEADERS}

View File

@ -50,7 +50,6 @@ CHECKAPI(
NAME NAME
ilbc ilbc
SWITCHES SWITCHES
-g abort -g termoutput
SOURCES SOURCES
${CODEC_SRC} ${CODEC_SRC}
${CODEC_HEADERS} ${CODEC_HEADERS}

View File

@ -48,7 +48,6 @@ CHECKAPI(
NAME NAME
l16mono l16mono
SWITCHES SWITCHES
-g abort -g termoutput
SOURCES SOURCES
${CODEC_SRC} ${CODEC_SRC}
${CODEC_HEADERS} ${CODEC_HEADERS}

View File

@ -50,7 +50,6 @@ CHECKAPI(
NAME NAME
opus opus
SWITCHES SWITCHES
-g abort -g termoutput
SOURCES SOURCES
${CODEC_SRC} ${CODEC_SRC}
${CODEC_HEADERS} ${CODEC_HEADERS}

View File

@ -50,7 +50,6 @@ CHECKAPI(
NAME NAME
sbc sbc
SWITCHES SWITCHES
-g abort -g termoutput
SOURCES SOURCES
${CODEC_SRC} ${CODEC_SRC}
${CODEC_HEADERS} ${CODEC_HEADERS}

View File

@ -51,7 +51,8 @@ CHECKAPI(
NAME NAME
ethercat ethercat
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_HEADERS} ${DISSECTOR_HEADERS}

View File

@ -45,7 +45,8 @@ CHECKAPI(
NAME NAME
gryphon gryphon
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_HEADERS} ${DISSECTOR_HEADERS}

View File

@ -47,7 +47,8 @@ CHECKAPI(
NAME NAME
irda irda
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_HEADERS} ${DISSECTOR_HEADERS}

View File

@ -61,8 +61,8 @@ CHECKAPI(
NAME NAME
mate mate
SWITCHES SWITCHES
--group abort --group dissectors-prohibited
--group termoutput:1 --summary-group termoutput --group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_SUPPORT_SRC} ${DISSECTOR_SUPPORT_SRC}

View File

@ -61,7 +61,8 @@ CHECKAPI(
NAME NAME
opcua opcua
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_SUPPORT_SRC} ${DISSECTOR_SUPPORT_SRC}

View File

@ -64,7 +64,8 @@ CHECKAPI(
NAME NAME
pluginifdemo pluginifdemo
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_HEADERS} ${DISSECTOR_HEADERS}

View File

@ -60,7 +60,8 @@ CHECKAPI(
NAME NAME
profinet profinet
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_SUPPORT_SRC} ${DISSECTOR_SUPPORT_SRC}

View File

@ -43,7 +43,8 @@ CHECKAPI(
NAME NAME
stats_tree stats_tree
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${PLUGIN_FILES} ${PLUGIN_FILES}
${PLUGIN_HEADERS} ${PLUGIN_HEADERS}

View File

@ -52,8 +52,8 @@ CHECKAPI(
NAME NAME
transum transum
SWITCHES SWITCHES
--group abort --group dissectors-prohibited
--group termoutput:1 --summary-group termoutput --group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_SUPPORT_SRC} ${DISSECTOR_SUPPORT_SRC}

View File

@ -45,7 +45,8 @@ CHECKAPI(
NAME NAME
unistim unistim
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_HEADERS} ${DISSECTOR_HEADERS}

View File

@ -92,7 +92,8 @@ CHECKAPI(
NAME NAME
wimax wimax
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_SUPPORT_SRC} ${DISSECTOR_SUPPORT_SRC}

View File

@ -49,7 +49,8 @@ CHECKAPI(
NAME NAME
wimaxasncp wimaxasncp
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_HEADERS} ${DISSECTOR_HEADERS}

View File

@ -45,7 +45,8 @@ CHECKAPI(
NAME NAME
wimaxmacphy wimaxmacphy
SWITCHES SWITCHES
-g abort -g termoutput --group dissectors-prohibited
--group dissectors-restricted
SOURCES SOURCES
${DISSECTOR_SRC} ${DISSECTOR_SRC}
${DISSECTOR_HEADERS} ${DISSECTOR_HEADERS}

View File

@ -48,7 +48,6 @@ CHECKAPI(
NAME NAME
usbdump usbdump
SWITCHES SWITCHES
-g abort -g termoutput
SOURCES SOURCES
${WIRETAP_SRC} ${WIRETAP_SRC}
${WIRETAP_HEADERS} ${WIRETAP_HEADERS}

View File

@ -272,8 +272,8 @@ my %APIs = (
'qVariantFromValue' 'qVariantFromValue'
] }, ] },
# APIs that make the program exit. Dissectors shouldn't call these 'dissectors-prohibited' => { 'count_errors' => 1, 'functions' => [
'abort' => { 'count_errors' => 1, 'functions' => [ # APIs that make the program exit. Dissectors shouldn't call these.
'abort', 'abort',
'assert', 'assert',
'assert_perror', 'assert_perror',
@ -282,8 +282,9 @@ my %APIs = (
'g_error', 'g_error',
] }, ] },
# APIs that print to the terminal. Dissectors shouldn't call these 'dissectors-restricted' => { 'count_errors' => 0, 'functions' => [
'termoutput' => { 'count_errors' => 0, 'functions' => [ # APIs that print to the terminal. Dissectors shouldn't call these.
# FIXME: Explain what to use instead.
'printf', 'printf',
'g_warning', 'g_warning',
] }, ] },

View File

@ -202,8 +202,6 @@ CHECKAPI(
NAME NAME
wiretap wiretap
SWITCHES SWITCHES
--group abort:11 --summary-group abort
--group termoutput:1 --summary-group termoutput
SOURCES SOURCES
${WIRETAP_NONGENERATED_FILES} ${WIRETAP_NONGENERATED_FILES}
# LEX files commented out due to use of malloc, free etc. # LEX files commented out due to use of malloc, free etc.

View File

@ -291,7 +291,6 @@ CHECKAPI(
NAME NAME
wsutil wsutil
SWITCHES SWITCHES
--group termoutput:2 --summary-group termoutput
SOURCES SOURCES
${WSUTIL_COMMON_FILES} ${WSUTIL_COMMON_FILES}
) )