diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am index 8a7c7cdc0d..9a9a962296 100644 --- a/tests/check/Makefile.am +++ b/tests/check/Makefile.am @@ -140,6 +140,7 @@ check_PROGRAMS = \ libs/libsabi \ libs/audio \ libs/cddabasesrc \ + libs/discoverer \ libs/fft \ libs/mixer \ libs/navigation \ @@ -235,6 +236,14 @@ libs_cddabasesrc_LDADD = \ $(GST_BASE_LIBS) \ $(LDADD) +libs_discoverer_CFLAGS = \ + $(GST_PLUGINS_BASE_CFLAGS) \ + $(AM_CFLAGS) \ + -DGST_TEST_FILE="\"$(abs_top_srcdir)/tests/files/partialframe.mjpeg\"" +libs_discoverer_LDADD = \ + $(top_builddir)/gst-libs/gst/pbutils/libgstpbutils-@GST_MAJORMINOR@.la \ + $(GST_BASE_LIBS) $(LDADD) + libs_fft_CFLAGS = \ $(GST_PLUGINS_BASE_CFLAGS) \ $(GST_BASE_CFLAGS) \ diff --git a/tests/check/libs/.gitignore b/tests/check/libs/.gitignore index 462835712a..4972a9aee1 100644 --- a/tests/check/libs/.gitignore +++ b/tests/check/libs/.gitignore @@ -1,6 +1,7 @@ .dirstamp audio cddabasesrc +discoverer fft gstlibscpp libsabi diff --git a/tests/check/libs/discoverer.c b/tests/check/libs/discoverer.c new file mode 100644 index 0000000000..2d20576bbe --- /dev/null +++ b/tests/check/libs/discoverer.c @@ -0,0 +1,94 @@ +/* GStreamer unit tests for discoverer + * + * Copyright (C) 2011 Stefan Kost + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +# include +#endif + +#include +#include + +#include +#include +#include + + +GST_START_TEST (test_disco_init) +{ + GError *err = NULL; + GstDiscoverer *dc; + + dc = gst_discoverer_new (GST_SECOND, &err); + fail_unless (dc != NULL); + fail_unless (err == NULL); + + g_object_unref (dc); +} + +GST_END_TEST; + +GST_START_TEST (test_disco_sync) +{ + GError *err = NULL; + GstDiscoverer *dc; + GstDiscovererInfo *info; + GstDiscovererResult result; + gchar *uri; + + dc = gst_discoverer_new (GST_SECOND, &err); + fail_unless (dc != NULL); + fail_unless (err == NULL); + + /* GST_TEST_FILE comes from makefile CFLAGS */ + GST_INFO ("discovering file '%s'", GST_TEST_FILE); + uri = g_filename_to_uri (GST_TEST_FILE, NULL, &err); + fail_unless (err == NULL); + GST_INFO ("discovering uri '%s'", uri); + + info = gst_discoverer_discover_uri (dc, uri, &err); + result = gst_discoverer_info_get_result (info); + GST_INFO ("result: %d", result); + gst_discoverer_info_unref (info); + g_free (uri); + + if (err) { + /* we won't have the codec for the jpeg */ + g_error_free (err); + } + + g_object_unref (dc); +} + +GST_END_TEST; + + +static Suite * +discoverer_suite (void) +{ + Suite *s = suite_create ("discoverer"); + TCase *tc_chain = tcase_create ("general"); + + suite_add_tcase (s, tc_chain); + tcase_add_test (tc_chain, test_disco_init); + tcase_add_test (tc_chain, test_disco_sync); + return s; +} + +GST_CHECK_MAIN (discoverer);