From: Yonggang Luo Date: Wed, 2 Nov 2022 20:53:07 +0000 (+0800) Subject: mesa: Add test to prevent windows.h to be included in shared headers X-Git-Tag: upstream/23.3.3~17471 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=381e0b43d617226e6ab0e4a2b2fef092c8d0a0a5;p=platform%2Fupstream%2Fmesa.git mesa: Add test to prevent windows.h to be included in shared headers This test is hand crafted by running command find | grep .*h$ >../headers.txt under src directory, and using find replace to creating the file list and then removed the files should not be directly included Signed-off-by: Yonggang Luo Reviewed-by: Jesse Natalie Acked-by: Brian Paul brianp@vmware.com Reviewed-by: Marek Olšák Part-of: --- diff --git a/src/mesa/main/tests/disable_windows_include.c b/src/mesa/main/tests/disable_windows_include.c new file mode 100644 index 0000000..3c08356 --- /dev/null +++ b/src/mesa/main/tests/disable_windows_include.c @@ -0,0 +1,309 @@ +/* + * Copyright © Yonggang Luo + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ + +/* find | grep .*h$ >../headers.txt */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(_WIN32) && defined(_WINDOWS_) +#error "Should not include here" +#endif diff --git a/src/mesa/main/tests/meson.build b/src/mesa/main/tests/meson.build index 47ad17a..0af0947 100644 --- a/src/mesa/main/tests/meson.build +++ b/src/mesa/main/tests/meson.build @@ -18,7 +18,10 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -files_main_test = files('enum_strings.cpp') +files_main_test = files( + 'enum_strings.cpp', + 'disable_windows_include.c', +) link_main_test = [] if with_shared_glapi @@ -37,8 +40,8 @@ test( executable( 'main_test', [files_main_test, main_dispatch_h], - include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium], - dependencies : [idep_gtest, dep_clock, dep_dl, dep_thread, idep_mesautil], + include_directories : [inc_include, inc_src, inc_mapi, inc_mesa, inc_gallium, inc_gallium_aux], + dependencies : [idep_gtest, dep_clock, dep_dl, dep_thread, idep_nir_headers, idep_mesautil], link_with : [libmesa, libgallium, link_main_test], ), suite : ['mesa'],