Added audio suite.
--- a/test/test-automation/Makefile.am Tue Jul 05 21:27:35 2011 +0300
+++ b/test/test-automation/Makefile.am Tue Jul 05 22:11:12 2011 +0300
@@ -1,6 +1,6 @@
ACLOCAL_AMFLAGS = -I acinclude -I build-scripts
-SUBDIRS = testdummy testrect testplatform
+SUBDIRS = testdummy testrect testplatform testaudio
bin_PROGRAMS = runner
runner_SOURCES = runner.c SDL_test.c logger.c xml_logger.c plain_logger.c xml.c logger_helpers.c
--- a/test/test-automation/build-scripts/install-tests.sh Tue Jul 05 21:27:35 2011 +0300
+++ b/test/test-automation/build-scripts/install-tests.sh Tue Jul 05 22:11:12 2011 +0300
@@ -16,7 +16,7 @@
fi
# TODO: put the test in an array
-for suite in "testdummy" "testplatform" "testrect"
+for suite in "testdummy" "testplatform" "testrect" "testaudio"
do
cp -f "$suite/.libs/lib$suite.$EXT" $DIRECTORY
done
--- a/test/test-automation/configure.ac Tue Jul 05 21:27:35 2011 +0300
+++ b/test/test-automation/configure.ac Tue Jul 05 22:11:12 2011 +0300
@@ -35,7 +35,8 @@
AC_CONFIG_FILES([Makefile
testdummy/Makefile
testrect/Makefile
- testplatform/Makefile])
+ testplatform/Makefile
+ testaudio/Makefile])
AC_OUTPUT
echo ""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test-automation/testaudio/Makefile.am Tue Jul 05 22:11:12 2011 +0300
@@ -0,0 +1,4 @@
+lib_LTLIBRARIES = libtestaudio.la
+libtestaudio_la_SOURCES = testaudio.c ../SDL_test.c ../logger.c ../logger_helpers.c ../plain_logger.c ../xml_logger.c ../xml.c
+libtestaudio_la_CLAGS = -fPIC -g
+libtestaudio_la_LDFLAGS = `sdl-config --libs`
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test-automation/testaudio/testaudio.c Tue Jul 05 22:11:12 2011 +0300
@@ -0,0 +1,156 @@
+/*
+ Copyright (C) 2011 Markus Kauppila <markus.kauppila@gmail.com>
+
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+*/
+
+#include <stdio.h>
+
+#include <SDL/SDL.h>
+
+#include "../SDL_test.h"
+
+/* Test casess */
+static const TestCaseReference test1 =
+ (TestCaseReference){ "audio_printOutputDevices", "Checks available output (non-capture) device names.", TEST_ENABLED, 0, 0};
+
+static const TestCaseReference test2 =
+ (TestCaseReference){ "audio_printInputDevices", "Checks available input (capture) device names.", TEST_ENABLED, 0, 0};
+
+static const TestCaseReference test3 =
+ (TestCaseReference){ "audio_printAudioDrivers", "Checks available audio driver names.", TEST_ENABLED, 0, 0};
+
+static const TestCaseReference test4 =
+ (TestCaseReference){ "audio_printCurrentAudioDriver", "Checks current audio driver name with initialized audio.", TEST_ENABLED, 0, 0};
+
+/* Test suite */
+extern const TestCaseReference *testSuite[] = {
+ &test1, &test2, &test3, &test4, NULL
+};
+
+
+TestCaseReference **QueryTestSuite() {
+ return (TestCaseReference **)testSuite;
+}
+
+/* Test case functions */
+
+/**
+ * @brief Checks available output (non-capture) device names.
+ */
+int audio_printOutputDevices()
+{
+ int ret;
+ int i, n;
+ char *name;
+
+ /* Start SDL. */
+ ret = SDL_Init( SDL_INIT_AUDIO );
+ AssertTrue(ret==0, "SDL_Init(SDL_INIT_AUDIO): %s", SDL_GetError());
+
+ /* Get number of devices. */
+ n = SDL_GetNumAudioDevices(0);
+ AssertTrue(n>=0, "Number of output devices < 0, reported as %i", n);
+
+ /* List devices. */
+ if (n>0)
+ {
+ for (i=0; i<n; i++) {
+ name = SDL_GetAudioDeviceName(i, 0);
+ AssertTrue(name != NULL, "name != NULL");
+ AssertTrue(strlen(name)>0, "name blank");
+ }
+ }
+
+ /* Quit SDL. */
+ SDL_Quit();
+}
+
+/**
+ * @brief Checks available input (capture) device names.
+ */
+int audio_printInputDevices()
+{
+ int ret;
+ int i, n;
+ char *name;
+
+ /* Start SDL. */
+ ret = SDL_Init( SDL_INIT_AUDIO );
+ AssertTrue(ret==0, "SDL_Init(SDL_INIT_AUDIO): %s", SDL_GetError());
+
+ /* Get number of devices. */
+ n = SDL_GetNumAudioDevices(1);
+ AssertTrue(n>=0, "Number of input devices < 0, reported as %i", n);
+
+ /* List devices. */
+ if (n>0)
+ {
+ for (i=0; i<n; i++) {
+ name = SDL_GetAudioDeviceName(i, 1);
+ AssertTrue(name != NULL, "name != NULL");
+ AssertTrue(strlen(name)>0, "name empty");
+ }
+ }
+
+ /* Quit SDL. */
+ SDL_Quit();
+}
+
+/**
+ * @brief Checks available audio driver names.
+ */
+int audio_printAudioDrivers()
+{
+ int i, n;
+ char *name;
+
+ /* Get number of drivers */
+ n = SDL_GetNumAudioDrivers();
+ AssertTrue(n>=0, "Number of audio drivers >= 0");
+
+ /* List drivers. */
+ if (n>0)
+ {
+ for (i=0; i<n; i++) {
+ name = SDL_GetAudioDriver(i);
+ AssertTrue(name != NULL, "name != NULL");
+ AssertTrue(strlen(name)>0, "name empty");
+ }
+ }
+}
+
+/**
+ * @brief Checks current audio driver name with initialized audio.
+ */
+int audio_printCurrentAudioDriver()
+{
+ int ret;
+ char *name;
+
+ /* Start SDL. */
+ ret = SDL_Init(SDL_INIT_AUDIO);
+ AssertTrue(ret==0, "SDL_Init(SDL_INIT_AUDIO): %s", SDL_GetError());
+
+ /* Check current audio driver */
+ name = SDL_GetCurrentAudioDriver();
+ AssertTrue(name != NULL, "name != NULL");
+ AssertTrue(strlen(name)>0, "name empty");
+
+ /* Quit SDL. */
+ SDL_Quit();
+}