diff --git a/build-aux/syntax-check.mk b/build-aux/syntax-check.mk index a6e3ada300..66ebc3e066 100644 --- a/build-aux/syntax-check.mk +++ b/build-aux/syntax-check.mk @@ -1712,7 +1712,7 @@ exclude_file_name_regexp--sc_prohibit_backslash_alignment = \ ^build-aux/syntax-check\.mk$$ exclude_file_name_regexp--sc_prohibit_select = \ - ^build-aux/syntax-check\.mk|src/util/vireventglibwatch\.c$$ + ^build-aux/syntax-check\.mk|src/util/vireventglibwatch\.c|tests/meson\.build$$ exclude_file_name_regexp--sc_prohibit_config_h_in_headers = \ ^config\.h$$ diff --git a/tests/meson.build b/tests/meson.build index fd78d8a2fd..08d2ae67cb 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -39,9 +39,24 @@ tests_env = [ 'abs_top_srcdir=@0@'.format(meson.source_root()), 'LC_ALL=C', 'LIBVIRT_AUTOSTART=0', - 'G_DEBUG=fatal-warnings', ] + +# On macOS when BROKEN_POLL is set for GLib, our tests will +# periodically trigger a warning: +# +# (process:50880): GLib-WARNING **: 02:54:15.272: poll(2) failed due to: Bad file descriptor. +# +# Our code is inherantly racy, calling g_source_destroy which +# removes the FD from the event thread poll asynchronously +# but we close the FD immediately after g_source_destroy returns. +# +# With poll() this results in POLLNVAL, but with select() it +# generates the BADF error on macOS +if host_machine.system() != 'darwin' + tests_env += ['G_DEBUG=fatal-warnings'] +endif + if use_expensive_tests tests_env += 'VIR_TEST_EXPENSIVE=1' else