Cygwin: testsuite: Skip devdsp test when no audio devices present

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
This commit is contained in:
Jon Turney 2023-07-08 12:50:58 +01:00
parent 04326f999b
commit 9776357323
No known key found for this signature in database
GPG Key ID: C7C86F0370285C81
2 changed files with 18 additions and 0 deletions

View File

@ -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

View File

@ -27,6 +27,8 @@ details. */
#include <errno.h>
#include "test.h" /* use libltp framework */
#include <windows.h>
/* 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)