summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStuart Martin <mister_wavey@rockbox.org>2002-04-30 19:33:40 +0000
committerStuart Martin <mister_wavey@rockbox.org>2002-04-30 19:33:40 +0000
commit81f574578dd1ed9a89a520851ec139612f5f7f6e (patch)
treea3608d65ec809dcb0c73b014817226e799dcedf7
parent4786f16a7dbc4e2d00ca9f650b805a6c6780a699 (diff)
downloadrockbox-81f574578dd1ed9a89a520851ec139612f5f7f6e.zip
rockbox-81f574578dd1ed9a89a520851ec139612f5f7f6e.tar.gz
rockbox-81f574578dd1ed9a89a520851ec139612f5f7f6e.tar.bz2
rockbox-81f574578dd1ed9a89a520851ec139612f5f7f6e.tar.xz
test harness for playlists & settings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@342 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/test/wavey/harness.c107
-rw-r--r--firmware/test/wavey/harness.h24
2 files changed, 131 insertions, 0 deletions
diff --git a/firmware/test/wavey/harness.c b/firmware/test/wavey/harness.c
new file mode 100644
index 0000000..9ce50fe
--- /dev/null
+++ b/firmware/test/wavey/harness.c
@@ -0,0 +1,107 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2002 by wavey@wavey.org
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include <stdio.h>
+#include <common/track.h>
+#include "settings.h"
+#include "playlist.h"
+#include "panic.h"
+#include "disk.h"
+#include "debug.h"
+#include "config.h"
+#include "harness.h"
+
+/* global string for panic display */
+
+char panic_message[128];
+
+/*
+ * entrypoint
+ */
+int main( int argc, char **args )
+{
+ /* allocate runtime data structures */
+
+ user_settings_t settings;
+ playlist_info_t playlist;
+
+ debug( "\nrockbox test harness started.\n" );
+
+ /* populate runtime data structures */
+
+ initialise( &settings, &playlist );
+
+ /* begin tests */
+
+ start( &settings, &playlist );
+
+ return 1;
+}
+
+/*
+ * populate runtime data structures
+ */
+void initialise( user_settings_t *settings, playlist_info_t *playlist )
+{
+ debug( "init()\n" );
+
+ reload_all_settings( settings );
+ reload_playlist_info( playlist );
+}
+
+/*
+ * start tests
+ */
+void start( user_settings_t *settings, playlist_info_t *playlist )
+{
+ track_t track;
+
+ debug( "start()\n" );
+
+ /* show current values */
+
+ display_current_settings( settings );
+ display_current_playlist( playlist );
+
+ /* wipe playlist contents */
+
+ empty_playlist( playlist );
+ display_current_playlist( playlist );
+
+ /* user selects a new playlist */
+
+ load_playlist( playlist, "\\playlists\\2.m3u" );
+ display_current_playlist( playlist );
+
+ /* randomise playlist */
+
+ randomise_playlist( playlist );
+ display_current_playlist( playlist );
+
+ /* get next track in playlist */
+
+ track = next_playlist_track( playlist );
+ display_playlist_track( &track );
+
+ /* get next track in playlist */
+
+ track = next_playlist_track( playlist );
+ display_playlist_track( &track );
+}
+
diff --git a/firmware/test/wavey/harness.h b/firmware/test/wavey/harness.h
new file mode 100644
index 0000000..5bb357c
--- /dev/null
+++ b/firmware/test/wavey/harness.h
@@ -0,0 +1,24 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2002 by wavey@wavey.org
+ *
+ * All files in this archive are subject to the GNU General Public License.
+ * See the file COPYING in the source tree root for full license agreement.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+#include "settings.h"
+#include "playlist.h"
+
+void initialise( user_settings_t *settings, playlist_info_t *playlist );
+void start( user_settings_t *settings, playlist_info_t *playlist );