diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2017-12-24 16:21:38 +0100 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2017-12-24 16:21:38 +0100 |
commit | 252ce5a093178b415a74776f0153390e03338cab (patch) | |
tree | 23f91d606e48e7cf19f230faf28a31061b572ddc /tests | |
parent | 1b02b76137bda94fe206b5f19371571d8e5ae508 (diff) |
Skip gst_deinit() if gstreamer was not initialized properly
Can happen if an error occurs during option parsing, for example.
https://bugzilla.gnome.org/show_bug.cgi?id=781914
Diffstat (limited to 'tests')
-rw-r--r-- | tests/check/Makefile.am | 1 | ||||
-rw-r--r-- | tests/check/gst/.gitignore | 2 | ||||
-rw-r--r-- | tests/check/gst/gstdeinit.c | 37 | ||||
-rw-r--r-- | tests/check/meson.build | 1 |
4 files changed, 41 insertions, 0 deletions
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am index ece25216d..9d78cc727 100644 --- a/tests/check/Makefile.am +++ b/tests/check/Makefile.am @@ -121,6 +121,7 @@ check_PROGRAMS = \ gst/gstcapsfeatures \ $(CXX_CHECKS) \ gst/gstdatetime \ + gst/gstdeinit \ gst/gstdevice \ gst/gstinfo \ gst/gstiterator \ diff --git a/tests/check/gst/.gitignore b/tests/check/gst/.gitignore index f3a5f855c..4c8605823 100644 --- a/tests/check/gst/.gitignore +++ b/tests/check/gst/.gitignore @@ -14,8 +14,10 @@ gstclock gstcontroller gstcontext gstcpp +gstcustombufferpool gstdata gstdatetime +gstdeinit gstdevice gstelement gstelementfactory diff --git a/tests/check/gst/gstdeinit.c b/tests/check/gst/gstdeinit.c new file mode 100644 index 000000000..b551e85d9 --- /dev/null +++ b/tests/check/gst/gstdeinit.c @@ -0,0 +1,37 @@ +/* GStreamer + * Copyright (C) 2017 Tim-Philipp Müller <tim centricular com> + * + * 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., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include <gst/gst.h> + +int +main (int argc, char **argv) +{ + char *arr[] = { (char *) "gstdeinit", (char *) "--gst-debug" }; + char **a = arr; + int n = 2; + + /* This will fail because --gst-debug requires a parameter */ + gst_init_check (&n, &a, NULL); + + gst_deinit (); + return 0; +} diff --git a/tests/check/meson.build b/tests/check/meson.build index aadc5e999..f2d98616c 100644 --- a/tests/check/meson.build +++ b/tests/check/meson.build @@ -17,6 +17,7 @@ core_tests = [ [ 'gst/gstcaps.c' ], [ 'gst/gstcapsfeatures.c' ], [ 'gst/gstdatetime.c' ], + [ 'gst/gstdeinit.c' ], [ 'gst/gstdevice.c' ], [ 'gst/gstelement.c', not have_registry ], [ 'gst/gstelementfactory.c', not have_registry ], |