From 85a7b8f5622536de9b888f58c7c6ca1b15834b78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sat, 3 Mar 2012 13:51:55 +0000 Subject: [PATCH] tests: add test to check discoverer return code for missing plugins case https://bugzilla.gnome.org/show_bug.cgi?id=671047 --- tests/check/libs/discoverer.c | 41 ++++++++++++++++++++++++++++++++++ tests/files/Makefile.am | 1 + tests/files/test.mkv | Bin 0 -> 2524 bytes 3 files changed, 42 insertions(+) create mode 100644 tests/files/test.mkv diff --git a/tests/check/libs/discoverer.c b/tests/check/libs/discoverer.c index a8de512e1d..f787d29005 100644 --- a/tests/check/libs/discoverer.c +++ b/tests/check/libs/discoverer.c @@ -142,6 +142,46 @@ GST_START_TEST (test_disco_sync_reuse_timeout) GST_END_TEST; +GST_START_TEST (test_disco_missing_plugins) +{ + const gchar *files[] = { "test.mkv", "test.mp3", "partialframe.mjpeg" }; + GError *err = NULL; + GstDiscoverer *dc; + GstDiscovererInfo *info; + GstDiscovererResult result; + gchar *uri, *path; + int i; + + for (i = 0; i < G_N_ELEMENTS (files); ++i) { + dc = gst_discoverer_new (5 * GST_SECOND, &err); + fail_unless (dc != NULL); + fail_unless (err == NULL); + + /* GST_TEST_FILE comes from makefile CFLAGS */ + path = g_build_filename (GST_TEST_FILES_PATH, files[i], NULL); + uri = gst_filename_to_uri (path, &err); + g_free (path); + fail_unless (err == NULL); + + GST_INFO ("discovering uri '%s'", uri); + info = gst_discoverer_discover_uri (dc, uri, &err); + fail_unless (info != NULL); + fail_unless (err != NULL); + result = gst_discoverer_info_get_result (info); + GST_INFO ("result: %d, error message: %s", result, err->message); + fail_unless_equals_int (result, GST_DISCOVERER_MISSING_PLUGINS); + GST_INFO ("misc: %" GST_PTR_FORMAT, gst_discoverer_info_get_misc (info)); + + gst_discoverer_info_unref (info); + g_error_free (err); + err = NULL; + g_free (uri); + g_object_unref (dc); + } +} + +GST_END_TEST; + static Suite * discoverer_suite (void) { @@ -154,6 +194,7 @@ discoverer_suite (void) tcase_add_test (tc_chain, test_disco_sync_reuse_ogg); tcase_add_test (tc_chain, test_disco_sync_reuse_mp3); tcase_add_test (tc_chain, test_disco_sync_reuse_timeout); + tcase_add_test (tc_chain, test_disco_missing_plugins); return s; } diff --git a/tests/files/Makefile.am b/tests/files/Makefile.am index 99b043f5d8..1370c39b8a 100644 --- a/tests/files/Makefile.am +++ b/tests/files/Makefile.am @@ -3,5 +3,6 @@ EXTRA_DIST = \ hls.m3u8 \ license-uris \ partialframe.mjpeg \ + test.mkv \ test.mp3 \ theora-vorbis.ogg diff --git a/tests/files/test.mkv b/tests/files/test.mkv new file mode 100644 index 0000000000000000000000000000000000000000..649cf3f6d44c865e4599997856c40534d349a172 GIT binary patch literal 2524 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 literal 0 HcmV?d00001