On Thu, Dec 09, 2021 at 08:15:01AM -0500, Aaron Conole wrote: > Jerin Jacob <jerinjac...@gmail.com> writes: > > > On Thu, Dec 9, 2021 at 12:30 AM Jie Zhou <j...@linux.microsoft.com> wrote: > >> > >> Even though test_interrupts.c can compile on Windows, skip interrupt > >> tests for now since majority of eal_interrupt on Windows are stubs. > >> Will remove the skip after interrupt being fully enabled on Windows. > >> > >> Signed-off-by: Jie Zhou <j...@linux.microsoft.com> > >> Acked-by: Dmitry Kozlyuk <dmitry.kozl...@gmail.com> > >> > >> --- > >> app/test/test_interrupts.c | 10 ++++++++++ > >> 1 file changed, 10 insertions(+) > >> > >> diff --git a/app/test/test_interrupts.c b/app/test/test_interrupts.c > >> index 2a05399f96..eec9b2805b 100644 > >> --- a/app/test/test_interrupts.c > >> +++ b/app/test/test_interrupts.c > >> @@ -12,6 +12,15 @@ > >> > >> #include "test.h" > >> > >> +#ifdef RTE_EXEC_ENV_WINDOWS > > > > Across the series, > > Instead of adding conditional compilation everywhere, Why not disable > > specific file > > for compilation for windows? > > Purpose of EAL to abstract the differences in execution environment > > and application > > should not know that. > > I think this was done because there would be two test lists in the meson > unit test file. But this is the second comment about these ifdef's, and > maybe we should revisit that discussion. Is there a different way to > accomplish not running the tests which are not appropriate for windows > builds, while not having two overlapping lists of unit tests in the > meson build file? > I'm wondering if a reasonable compromise solution might be to have the build system expose a usable RTE_EXEC_ENV symbol that can be used in C-code if statements rather than just in ifdefs. That would allow us to easily add e.g.
if (RTE_EXEC_ENV == rte_env_linux) return TEST_SKIPPED; into each test function needing it. Two lines of C-code is a lot easier to add and manage than #ifdefs covering the whole file, or alternative lists in meson. /Bruce