From: Jon Turney Date: Sat, 8 Jul 2023 11:50:58 +0000 (+0100) Subject: Cygwin: testsuite: Skip devdsp test when no audio devices present X-Git-Tag: newlib-4.4.0~211 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=97763573230368b38e6aadfa78cbd67f5871a1f4;p=newlib-cygwin.git Cygwin: testsuite: Skip devdsp test when no audio devices present Signed-off-by: Jon Turney --- diff --git a/winsup/testsuite/Makefile.am b/winsup/testsuite/Makefile.am index 11332eda2..60111a0aa 100644 --- a/winsup/testsuite/Makefile.am +++ b/winsup/testsuite/Makefile.am @@ -325,6 +325,9 @@ AM_CPPFLAGS = -I$(srcdir)/libltp/include AM_LDFLAGS = $(LDFLAGS_FOR_TESTDLL) LDADD = $(builddir)/libltp.a $(builddir)/../cygwin/binmode.o $(LDADD_FOR_TESTDLL) +# additional flags for specific test executables +winsup_api_devdsp_LDADD = -lwinmm $(LDADD) + DEJATOOL = winsup # Add '-v' to RUNTESTFLAGS if V=1 diff --git a/winsup/testsuite/winsup.api/devdsp.c b/winsup/testsuite/winsup.api/devdsp.c index 6c8850a74..0ac76f085 100644 --- a/winsup/testsuite/winsup.api/devdsp.c +++ b/winsup/testsuite/winsup.api/devdsp.c @@ -27,6 +27,8 @@ details. */ #include #include "test.h" /* use libltp framework */ +#include + /* Controls if a child can open the device after the parent */ #define CHILD_EXPECT 0 /* 0 or 1 */ @@ -59,6 +61,7 @@ void playwavtest (void); void syncwithchild (pid_t pid, int expected_exit_status); void cleanup (void); void dup_test (void); +void devcheck (void); static int expect_child_failure = 0; @@ -77,6 +80,7 @@ int main (int argc, char *argv[]) { /* tst_brkm(TBROK, cleanup, "see if it breaks all right"); */ + devcheck (); ioctltest (); playbacktest (); recordingtest (); @@ -91,6 +95,17 @@ main (int argc, char *argv[]) return 0; } +/* skip test if we don't have any audio devices*/ +void +devcheck (void) +{ + if ((waveInGetNumDevs() == 0) || (waveOutGetNumDevs() == 0)) + { + tst_resm (TINFO, "Skipping, no audio devices present"); + exit(0); + } +} + /* test some extra ioctls */ void ioctltest (void)