Commit graph

1490 commits

Author SHA1 Message Date
Thibault Saunier
53e878ea8b meson: Do not forget to install headers 2017-02-15 18:03:36 -03:00
Tim-Philipp Müller
fe49fd0d56 validate: pkgconfig: fix libtool-ism in uninstalled .pc file 2017-02-15 18:13:14 +00:00
Thibault Saunier
cd78d29c56 validate:scenario: Do not switch relative track when no track of type avalaible
This case was not handled and leaded to a division by zero.
2017-02-15 13:52:35 -03:00
Thibault Saunier
446c619dea validate: meson: Add a way to disable documentation generation 2017-02-15 12:39:18 -03:00
Thibault Saunier
e810eb4f5f validate:meson: Build gst-validate-image-check if possible 2017-02-10 15:56:11 -03:00
Thibault Saunier
7773ca7765 validate:launcher: Add a way to specify a set of tests to run under the leak tracer
https://bugzilla.gnome.org/show_bug.cgi?id=767856
2017-02-10 15:56:11 -03:00
Guillaume Desmottes
1cebf3a24f valdate: fix element leak in overide-registry
The elements were never released once created.

https://bugzilla.gnome.org/show_bug.cgi?id=778279
2017-02-08 17:00:08 -03:00
Guillaume Desmottes
ca7f0912c4 validate: fix leak in overrides test
The runner was never released.

https://bugzilla.gnome.org/show_bug.cgi?id=778279
2017-02-08 17:00:08 -03:00
Guillaume Desmottes
2b33489a2c validate: fix leaks in pad monitor test
- monitors were never released
- reports were leaked
- GstValidateMediaDescriptor was leaked
- caps were leaked: gst_check_setup_events_with_stream_id() and
  gst_event_new_caps() don't consume the caps
- srcpad were never released

https://bugzilla.gnome.org/show_bug.cgi?id=778279
2017-02-08 17:00:08 -03:00
Guillaume Desmottes
4c5ba39bfe validate: pad-monitor: fix caps leaks
These caps were not released when disposing the pad monitor.

https://bugzilla.gnome.org/show_bug.cgi?id=778279
2017-02-08 17:00:08 -03:00
Thibault Saunier
addd76fc85 validate: Mark tests as SKIPPED when installation is missing a GStreamer plugin 2017-02-07 13:12:09 -03:00
Thibault Saunier
9790823d2a validate: Do not fail media check when fields are related to (decoding) elements
In the case of h264 the stream might very well be in `nal` format but the decoder
might not accept it thus the parser converts to `byte-stream`, leading
to a correct stream detection but a failure in the validate-media-check
tool.
2017-02-06 16:02:55 -03:00
Thibault Saunier
823ce95d70 validate:launcher: Add an option for user to modify timeout values
Allowing to expand the test timeout when running on slow platforms
2017-02-06 12:16:41 -03:00
Thibault Saunier
5d1d8e6971 validate:launcher: Verify that Gst supression file could be found 2017-02-03 11:02:49 -03:00
Thibault Saunier
775564187d validate:meson: Add pbutils as a dependency on the video library 2017-02-02 15:47:30 -03:00
Guillaume Desmottes
765cf8679f validate: meson: fix --validate-tools-path argument
The path passed to --validate-tools-path was wrong when building using
gst-build, preventing the launcher to find the validate tools.

https://bugzilla.gnome.org/show_bug.cgi?id=777982

Differential Revision: https://phabricator.freedesktop.org/D1634
2017-02-02 11:01:11 -03:00
Thibault Saunier
8a31251ff9 validate:meson: Add pbutils as a dependency
Fixing build failure https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5/build/1.0.1197

FAILED: cl @subprojects/gst-devtools/validate/gst-libs/gst/video/gstvalidatevideo@sta/gstvalidatessim.c.obj.rsp
c:\projects\gst-build-ge9m5\subprojects\gst-plugins-base\gst-libs\gst\pbutils\pbutils.h(30): fatal error C1083: Cannot open include file: 'gst/pbutils/pbutils-enumtypes.h': No such file or directory
FAILED: cl @subprojects/gst-devtools/validate/plugins/ssim/gstvalidatessim@sha/gstvalidatessim.c.obj.rsp
c:\projects\gst-build-ge9m5\subprojects\gst-plugins-base\gst-libs\gst\pbutils\pbutils.h(30): fatal error C1083: Cannot open include file: 'gst/pbutils/pbutils-enumtypes.h': No such file or directory
2017-02-02 08:19:06 -03:00
Thibault Saunier
bfc24038ba validate: Avoid assertion when trying to pass the config as a caps 2017-01-31 08:25:05 -03:00
Thibault Saunier
eedf3bca29 validate: Fix build if cairo is not avalaible 2017-01-31 08:24:32 -03:00
Thibault Saunier
7917654eef validate:plugins: Handle the case where we have a pipelines with only 1 frame 2017-01-31 08:19:20 -03:00
Guillaume Desmottes
4881013d66 validate: tests: call gst_validate_deinit()
gst_validate_deinit() needs to be called when the test is done to remove
false positives when using the leaks tracer.

https://bugzilla.gnome.org/show_bug.cgi?id=777977

Differential Revision: https://phabricator.freedesktop.org/D1630
2017-01-31 08:15:39 -03:00
Thibault Saunier
bc3e9505ea validate:launcher: Allow passing extra env var to simple pipeline generator 2017-01-31 08:15:38 -03:00
Thibault Saunier
99ee2dc3bb meson:validate: Build validate plugins 2017-01-31 08:15:38 -03:00
Wonchul Lee
74085a4460 validate: fix linker flags for validate plugin
https://bugzilla.gnome.org/show_bug.cgi?id=777938
2017-01-30 16:53:21 +02:00
Thibault Saunier
7daf21d2e7 validate: Handle the case where QUERY has an EMPTY caps filter
In our algorithm describing caps negotiation issues.
2017-01-27 16:44:46 -03:00
Thibault Saunier
2d83384263 validate: Stop comparing buffers offset values in media descriptor
This value can vary for some external reasons and should not matter
for now.
2017-01-24 18:43:52 -03:00
Sebastian Dröge
aa2f692919 Back to development 2017-01-12 16:33:03 +02:00
Sebastian Dröge
b0cd3e2387 Release 1.11.1 2017-01-12 16:28:02 +02:00
Thibault Saunier
de2cbda854 validate: Make sure to update children environment from current env
And minor fix in function call
2017-01-06 12:12:21 -03:00
Thibault Saunier
30221faa32 validate: check: Enhance test names 2017-01-06 11:48:14 -03:00
Guillaume Desmottes
7c613ec347 meson: generate pkg-config -uninstalled pc files
Generating those files is useful for users building the GStreamer stack
using meson and having to link it to another project which is still
using the autotools.

Fixed the -uninstalled pc file libdir path while I was on it.

https://bugzilla.gnome.org/show_bug.cgi?id=776810
2017-01-05 09:30:37 -03:00
Thibault Saunier
ca1f8a03e0 validate:launcher: Make the IPC server socket blocking
0.0 does not mean blocking in python3 and makes everything failling
on windows.
2017-01-03 16:26:20 -03:00
Thibault Saunier
f24e22446b validate: Properly kill subprocesses on windows 2017-01-03 16:24:19 -03:00
Thibault Saunier
f6d0636466 validate:launcher: Fix running on windows 2017-01-03 15:34:39 -03:00
Thibault Saunier
2863986ea3 validate: Respect active testers when listing tests 2017-01-03 14:52:38 -03:00
Thibault Saunier
cd00052728 validate: Make validate launcher apps work in a meson uninstalled env 2017-01-03 14:38:24 -03:00
Thibault Saunier
ce0d2ee3e1 validate: Fix gstcheck when not running on a meson build dir 2017-01-03 13:11:42 -03:00
Thibault Saunier
0ee2147137 Revert "Revert "validate:launcher: Add an app handler for unit tests described in meson""
This reverts commit 5656e2a1b2.
2017-01-03 13:01:31 -03:00
Edward Hervey
167bfca852 validate: Ensure non-standard testsuite location is taken into account
This is a regression that was introduced by 6504b9152c

If we have non-standard main_dir or qa_assets, make sure we prepend the
checked-out testsuites directory to the list of expected ones
2017-01-03 07:05:12 +01:00
Edward Hervey
5656e2a1b2 Revert "validate:launcher: Add an app handler for unit tests described in meson"
This reverts commit a4aa5c60bb.

Does not work outside of gst-build (i.e. validate won't work when used either
installed, in a prefix, or in gst-uninstalled).
2017-01-02 17:21:14 +01:00
Thibault Saunier
3932b3f944 validate-transcoding: Use standard GstEncodingProfile deserialization function 2016-12-23 15:00:53 -03:00
Thibault Saunier
1bc6cb3615 validate:launcher: Take into account test duration when filtering them
Otherwise running -t 'some.*test' will run long tests (longer than hard
timeout) which is not what the user expect.
2016-12-23 14:59:03 -03:00
Sebastian Dröge
93fa16f1ba validate-runner: Use correct enum in return value
gst-validate-runner.c:856:7: error: implicit conversion from enumeration type 'GstValidateReportLevel' to different enumeration type 'GstValidateReportingDetails' [-Werror,-Wenum-conversion]
      GST_VALIDATE_REPORT_LEVEL_UNKNOWN);
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2016-12-22 19:24:22 +02:00
Thibault Saunier
2a6c39d725 validate: Add safe guards to runner API 2016-12-22 10:29:18 -03:00
Thibault Saunier
d013e26cbc validate: Whitlist blacklisted test only when explicitely
Otherwise running -t '.*reverse.*' will also run blacklisted
tests which is probably not what use wants.
2016-12-22 10:29:18 -03:00
Thibault Saunier
5fc11cf389 launcher: Make --update-media-info check if generating frames info or not 2016-12-22 10:29:18 -03:00
Thibault Saunier
a4aa5c60bb validate:launcher: Add an app handler for unit tests described in meson
This way we can run all tests with the launcher which brings in many
features.

And add a testsuite for GStreamer unit tests.
2016-12-22 10:29:18 -03:00
Thibault Saunier
1f9c67e6ff validate:launcher: Allow specifying a timeout factor 2016-12-22 10:08:27 -03:00
Thibault Saunier
085ebf03ba validate:launcher: Print the iteration number when running forever 2016-12-22 10:08:26 -03:00
Thibault Saunier
58711edce8 validate:launcher: Add a -v option to print subprocesses to stdout 2016-12-22 10:08:25 -03:00
Thibault Saunier
076c21fbe5 validate:launcher: Run cpu_count test in parallel by default 2016-12-22 10:08:24 -03:00
Thibault Saunier
d5de0b702c validate:launcher: Do not list tests on unneeded testers 2016-12-22 10:08:23 -03:00
Thibault Saunier
6504b9152c validate:launcher: Allow specifying several testsuite dirs 2016-12-22 10:08:21 -03:00
Thibault Saunier
26692e749c validate:launcher: Stop running test subprocesses in a shell
And instead properly use a list of argument for the subprocesses.
2016-12-22 10:07:58 -03:00
Edward Hervey
5eab79dbd3 validate-scenario: Properly get the rate for action validation
This issue was most likely introduced by the refactoring of the
position querying into a standalone function.

In execute_next_action() the rate variable was never replaced by
the current rate of the pipeline, this would result in all reverse
playback actions to trigger immediately instead of waiting for
the actual target time.

https://bugzilla.gnome.org/show_bug.cgi?id=776280
2016-12-19 16:44:31 +01:00
Thibault Saunier
e42d9a784e validate: Fix usage of get_stack)trace after API change 2016-12-12 15:07:30 -03:00
Thibault Saunier
ca85c45482 validate: transcode: No buffering handling when the sink is not synced on the clock
It makes no sense to pause the pipeline and wait for buffering to be
done when the pipeline is just processing the data as it comes
in without synchronizing on the clock.
2016-12-12 15:04:07 -03:00
Reynaldo H. Verdejo Pinochet
0495c9197b validate: fix small grammar nit 2016-12-07 15:11:33 -08:00
Thibault Saunier
e552c18c80 launcher: Handle stack trace information as jenkins expect it in the xunit file 2016-12-01 10:52:32 -03:00
Thibault Saunier
a842f9d511 validate:launcher: Handle missing media info file 2016-11-30 14:07:04 -03:00
Thibault Saunier
79faf44d32 validate: Properly handle proxy pads generating detailed info about NNEs
In cases where we had a two consecutive bins with proxy pads, we could
segfault because we were dereferencing a NULL pointer to pad.
2016-11-30 13:58:56 -03:00
Thibault Saunier
ab614e63ae meson: Modernize the way we set test env variables
Removing the now useless getplugindirs script
2016-11-30 13:58:56 -03:00
Thibault Saunier
b0784ffcb3 validate:launcher: Make sure that the IPC server is shutdown before closing the socket 2016-11-30 07:40:05 -03:00
Thibault Saunier
2959af0761 validate:launcher: Make sure to check string when verifying expected failures
The value can potentially be None and we should handle that
2016-11-29 14:47:35 -03:00
Thibault Saunier
acfdd04e01 validate:launcher: Allow specifying timeout as a known issue
And minor cleanups
2016-11-28 19:37:08 -03:00
Thibault Saunier
03453961e8 validate:launcher: Properly report stack trace as such in the xunit file 2016-11-28 18:40:00 -03:00
Thibault Saunier
aec8693258 validate:launcher: Remove now useless validatelog
We are now doing IPC to communicate with the launcher
so let it simply go to stdout.
2016-11-28 18:40:00 -03:00
Thibault Saunier
e132c11a95 validate:launcher: Handle checking bug status for expected failures 2016-11-28 18:40:00 -03:00
Thibault Saunier
8493b18e8c validate: Fix GI warnings 2016-11-23 08:38:49 -03:00
Sebastian Dröge
b46e80080f meson: Move vs_module_defs_dir to the validate subdirectory
It's validate/win32/ and not just win32/

https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-19 12:36:32 +02:00
Scott D Phillips
665a2e732b validate: make: include common/win32.mak
With the addition of the .def file for validate we need to make
sure the check-export script from common gets executed so that the
.def stays up to date.

https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-19 11:54:06 +02:00
Scott D Phillips
9b18bafc68 Enable building with MSVC
https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Scott D Phillips
11c5a413ab pad-monitor: fix return type of get_range_func
The return type of GstPadGetRangeFunction is GstFlowReturn

https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Scott D Phillips
caafd6c36e validate: Remove #include <unistd.h>
It isn't needed and isn't present in non-posix environments like windows
with MSVC or mingw.

https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Scott D Phillips
6299e1228c Fix MSVC const warnings
https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Scott D Phillips
4e45b76c09 Pass gint/guint pointers instead of enum pointers
The underlying integer type for enums are implementation defined and may
not be the same size as gint/guint. So implicitly casting from pointers-
to-enum-types to pointers-to-int-types is unsafe. MSVC warns on these.

https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 17:36:03 -03:00
Thibault Saunier
e3731ba839 validate: Minor documentation fixes. 2016-11-17 15:43:15 -03:00
Thibault Saunier
2857eaf2ad validate: launcher: Allow checking if bugs linked to blacklist is fixed 2016-11-16 17:39:45 -03:00
Thibault Saunier
615fab620a validate:launcher: Consider wanted tests as whitelisted 2016-11-16 12:02:32 -03:00
Thibault Saunier
612eaa4ad5 validate: meson: Do not mixup gstvalidate lib and tracer plugin
Even though it is mostly the same thing in the end
2016-11-15 18:55:09 -03:00
Thibault Saunier
8bd0cb13e8 validate:launcher: Timeout if running gdb takes too much time 2016-11-14 18:44:27 -03:00
Thibault Saunier
f5828b2b5c validate:launcher: Allow running the testsuite N number of times 2016-11-14 13:32:07 -03:00
Thibault Saunier
30f4b590d8 validate: Remove extra buffering status prints 2016-11-14 13:06:10 -03:00
Thibault Saunier
20879e9c69 validate:launcher: Fix usage in an uninstalled environment 2016-11-09 17:38:04 -03:00
Thibault Saunier
17586b80b1 validate: Use gst_debug_get_stack_trace instead of our implementation
And remove now useless config.h.meson file
2016-11-09 10:55:40 -03:00
Thibault Saunier
5452672e89 validate:launcher: Try to generate a backtrace on segfaults 2016-11-09 10:19:45 -03:00
Thibault Saunier
1e51aeb942 validate:launcher: Port to Python3
And sync logging.py with Pitivi version
2016-11-09 10:13:42 -03:00
Thibault Saunier
8646977b27 validate: report: Do not unref an object where we do not own a ref
g_io_stream_get_output_stream is transfer none
2016-11-03 16:17:08 -03:00
Thibault Saunier
7ff1e0bca6 validate: gir: We should not depend on GstVideo
We do not depend on it at all in GstValidate itself

https://bugzilla.gnome.org/show_bug.cgi?id=773898
2016-11-03 11:22:39 -03:00
Thibault Saunier
febbff72be validate: Allow using json-glib as a subproject 2016-11-02 18:11:56 -03:00
Thibault Saunier
77a65b6c72 validate: media check: Always print runner infos when bailing out. 2016-11-02 17:33:01 -03:00
Thibault Saunier
d797f94692 validate:launcher: Do not try to set DISPLAY envvar to None 2016-11-02 12:48:49 -03:00
Sebastian Dröge
10ca78de27 Back to development 2016-11-01 18:53:16 +02:00
Sebastian Dröge
9e4c530c69 Release 1.10.0 2016-11-01 18:16:13 +02:00
Edward Hervey
45783682e2 scenarios: Simplify Makefile 2016-10-26 17:58:58 +02:00
Edward Hervey
56897b39ae scenarios: Add a forward key-unit trick mode scenario
Not enabled for the time being
2016-10-26 17:52:40 +02:00
Edward Hervey
a29f4c390c baseclasses: Also check for minimum number of video-tracks
Some scenarios might only be for video files and are meaningless for
audio-only files
2016-10-26 17:34:49 +02:00
Nirbheek Chauhan
388f621bd9 Revert "meson: move gstreamer-check-1.0 dependency to validate/tests/check"
This reverts commit e8e51bdad4.

Does not actually work. See:
https://bugzilla.gnome.org/show_bug.cgi?id=773114#c31
2016-10-25 11:48:12 +05:30
Scott D Phillips
e8e51bdad4 meson: move gstreamer-check-1.0 dependency to validate/tests/check
https://bugzilla.gnome.org/show_bug.cgi?id=773114
2016-10-21 06:07:08 -03:00
Edward Hervey
8c20943a9d validate: Blacklist failing hls tests
See https://bugzilla.gnome.org/show_bug.cgi?id=773159
2016-10-18 15:41:11 +02:00
Nicolas Dufresne
c6dbb11c22 Also fix link issue in the plugin with libdw 2016-10-14 11:05:26 -04:00
Nicolas Dufresne
4fcc6ce452 Fix non-C89 code
In the automake build system we force C89 which does not allow mixing
code and declaration.
2016-10-14 10:52:53 -04:00
Nicolas Dufresne
3371a143be Fix missing linker flags for libdw
This was added in the meson build but was only checked and not used in
the automake build.
2016-10-14 10:48:16 -04:00
Jinwoo Ahn
da3880d6d0 validate: fix typo
https://bugzilla.gnome.org/show_bug.cgi?id=772543
2016-10-07 08:16:45 +01:00
Jinwoo Ahn
6ff5848789 validate: fix typo in gst-validate-report.c
parametter -> parameter

https://bugzilla.gnome.org/show_bug.cgi?id=772439
2016-10-05 12:37:30 +03:00
Thibault Saunier
b84d4490f7 meson: Setup pre commit hook and fix getpluginsdir for standalone case 2016-09-30 13:31:16 -03:00
Sebastian Dröge
5b49fdc000 Release 1.9.90 2016-09-30 13:06:16 +03:00
Thibault Saunier
394732e509 meson: Fix gtkdoc using new meson features 2016-09-28 20:36:46 -03:00
Thibault Saunier
032fccd7af meson: Fix installing configured files 2016-09-26 13:36:49 -03:00
Thibault Saunier
41b005963f validate: Allow doting the pipeline on issue reporting
And let the user configure on what level of issues to do it
by setting the GST_VALIDATE_CONFIG env var.

Always dot on critical issues.
2016-09-26 13:36:49 -03:00
Thibault Saunier
1fb0f02d6a validate: Allow passing a GST_VALIDATE_CONFIG as a string
Instead of forcing user to put it in a file.
We are simply using the GstCaps synthax to parse it.
2016-09-26 13:36:48 -03:00
Thibault Saunier
e247122051 validate: Add a reference to the pipeline from each monitor
That will allow us to add more flexibility regarding the way
we report thing to the user and will allow us to properly make
reports per pipeline.
2016-09-26 13:36:48 -03:00
Thibault Saunier
41be7bb2a9 validate:launcher: Minor fix in returncode check 2016-09-26 13:36:48 -03:00
Thibault Saunier
2fae2b2342 validate: Always print trace for critical issues
And take into account issue details level to generate backtrace.
2016-09-26 13:36:48 -03:00
Thibault Saunier
64560aea32 validate: Add support for setting a report level for an issue type
Until now we could set report levels to the monitor, this adds support
for setting report level for the issue types too.
2016-09-26 13:36:48 -03:00
Reynaldo H. Verdejo Pinochet
80cc6f29ef validate: transcoding: fix several error messages
No encoders found, no static src/sink pads found and keyunit and force-stop
error conditions.
2016-09-25 18:52:35 -07:00
Reynaldo H. Verdejo Pinochet
6a990a2a71 validate: fix grammar on subtitle-file action description 2016-09-25 18:03:45 -07:00
Thibault Saunier
a458dfadfb validate: Dump the infos about NNEs if we can not properly determine the problem
It should anyway be pretty interesting pieces of information.
2016-09-22 16:11:09 -03:00
Javier Martinez Canillas
6110ecdc9b validate: fix build warning in generate_unwind_trace()
The unw_word_t type has different sizes for 32-bit and 64-bit, so using the
%lx format specifier on a 32-bit CPU leads to the following compile warning:

  CC       libgstvalidate_1.0_la-gst-validate-report.lo
gst-validate-report.c: In function 'generate_unwind_trace':
gst-validate-report.c:137:36: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'unw_word_t {aka unsigned int}' [-Werror=format=]
     g_string_append_printf (trace, "%s (0x%lx)\n", name, offset);

Cast to long so the %lx fomart specifier can be always used.
2016-09-22 12:54:57 -03:00
Thibault Saunier
6c37fa7110 validate: Avoid checking NULL pads when generating NNE reports 2016-09-22 12:36:29 -03:00
Tim-Philipp Müller
63ed33f1c5 validate: fix compiler warnings
gst-validate-report.c: In function ‘generate_unwind_trace’:
gst-validate-report.c:116:1: error: old-style function definition [-Werror=old-style-definition]
 generate_unwind_trace ()
 ^~~~~~~~~~~~~~~~~~~~~
gst-validate-report.c:122:3: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
   unw_cursor_t cursor;
   ^~~~~~~~~~~~
2016-09-20 13:39:02 +01:00
Thibault Saunier
026da6cd81 validate: Add backtraces in the reports
Printing them when the reporting all the details only
2016-09-20 08:49:04 -03:00
Sebastian Dröge
2c703b4e6d configure: Depend on gstreamer 1.9.2.1 2016-09-14 11:31:47 +02:00
Thibault Saunier
e376da4c17 validate:launcher: Do not use unset sent_eos variable
And rename class member to sent_eos_time as it is more accurate
2016-09-12 14:21:30 -03:00
Thibault Saunier
9c9fe14293 meson:validate:test: Properly set paths to run launcher based tests
Adding a --validate-tools-path option to the launcher, allowing
to pass it from meson.
2016-09-09 12:24:54 -03:00
Thibault Saunier
3cbaae3090 meson: Build GstValidate as a tracer
And add version to the GStValidate shared library
2016-09-08 13:10:30 -03:00
Thibault Saunier
5dee7c8f47 validate: tests: Add launcher based GstValidate tests
First checking the new not negotiated error reporting code.
2016-09-08 13:10:29 -03:00
Thibault Saunier
3ece6a065e validate: launcher: Always clean all tests at the end
Making sure that if an exception of anything happens we will
properly clean all the tests, or at least try to.
2016-09-08 13:10:29 -03:00
Thibault Saunier
03548cd63d validate:launcher: Allow specifying expected tests errors
In the future instead of blacklisting tests we should define
what error is expected, and this way when the bug is closed,
we will notice, also, it will allow us to check GstValidate
error reporting itself.
2016-09-08 13:10:29 -03:00
Thibault Saunier
2fff14e469 validate: Pass information about GstValidate execution over a socket
Instead of trying to parsing stdout, generate json messages and
send them over a socket so that gst-validate-launcher can properly
have informations about gst-validate subprocess execution.
2016-09-08 13:10:29 -03:00
Thibault Saunier
29e5ac1362 validate: Enhance not-negotiated errors reporting
Keeping negotation information around and trying to figure
out precisely why the elements could not negotied the caps
when we get a NOT_NEGOTIATED error on the bus giving the
user details about it.
2016-09-08 13:10:29 -03:00
Thibault Saunier
9089df6d11 validate:meson: Add tests 2016-09-08 10:41:21 -03:00
Thibault Saunier
23203ca0bd validate:launcher: Use a xunit reporter only when explicitely specified 2016-09-08 10:39:56 -03:00
Thibault Saunier
4090b0a7ae validare: Enhance report message about wrong position 2016-09-08 10:39:56 -03:00
Thibault Saunier
8973fa04eb validate:launcher: Report error and exit when a testsuite could not load
Otherwise the user might end up seeing a lot of meaningless logs about
'removed' tests.
2016-09-08 10:39:56 -03:00
Thibault Saunier
f7f600e730 validate: launcher: Fix the condition to check if we need an http server
We could be checking if a string was in None

And use gs_string_assign when assigning the first string
without using printf like format.
2016-09-08 10:39:56 -03:00
Thibault Saunier
61669bd042 validate: Indent report details 2016-09-08 10:39:56 -03:00
Thibault Saunier
6e9c67238d validate:scenario: Wait for ASYNC_DONE to set async state change DONE
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=769894
2016-09-05 14:43:51 -03:00
Sebastian Dröge
92d39f46c5 Back to development 2016-09-01 12:35:08 +03:00
Sebastian Dröge
666f373f6f Release 1.9.2 2016-09-01 12:35:00 +03:00
Mathieu Duponchelle
ec1d8d7d8c launcher: Add --dump-on-failure switch
When the test fails, it can be useful to have the log files dumped
to stdout.

https://bugzilla.gnome.org/show_bug.cgi?id=741092
2016-09-01 03:39:18 +02:00
Thibault Saunier
40d803271c validate: Fix launching gst-validate-launcher in a meson based uninstalled env 2016-08-29 09:44:13 -03:00
Thibault Saunier
53d69adcaf meson: Add support for building GIR when used as subproject
Add allow project to us it as subproject too
2016-08-26 20:06:22 -03:00
Thibault Saunier
da327d8625 validate: Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson
2016-08-25 15:12:31 -03:00
Edward Hervey
fcff932e09 validate: Un-blacklist tests that are fixed
the bug reports to which they report have been closed and I can't make
them fail locally.
2016-08-13 16:56:18 +02:00
Edward Hervey
7d99e780a7 validate: Blacklist more ogg files
https://bugzilla.gnome.org/show_bug.cgi?id=769545
2016-08-13 15:39:18 +02:00
Edward Hervey
37771192a6 validate: Blacklist scrub_forward_seeking.op2b-mpeg2-wave_hd_mxf
See https://bugzilla.gnome.org/show_bug.cgi?id=764025
2016-08-12 12:33:30 +02:00
Guillaume Desmottes
15e5e23e32 validate: use new API when switching track with playbin3
Move all the implementations of 'switch-track' to
gst-validate-scenario.c while doing so.

Differential Revision: https://phabricator.freedesktop.org/D1227
2016-08-01 10:45:42 -04:00
Guillaume Desmottes
7117e3e3df validate: reporter: break cyclic references with reports
My patch fixing monitor leak (15e7f1bbfd)
introduced a ref cycle between GstValidateReporter and
GstValidateReport.

The reports uses its reporter so it needs a ref on it
to ensure it's stay alive. But reports are owned by
GstValidateReporter and/or GstValidateRunner.

Fix this by not taking a reference on the reporter but instead caching
its name.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1029
2016-08-01 10:45:41 -04:00
Guillaume Desmottes
8708215ce5 validate: turn GstValidateReport to a mini object
It handles refcounting for us and will enable automatic leak checks when
using the 'leaks' tracer.

Differential Revision: https://phabricator.freedesktop.org/D1233
2016-08-01 10:45:39 -04:00
Guillaume Desmottes
c8a3d6c607 validate: inherit from GstObject instead of GObject
This allow us to use to 'leaks' detector to check if those objects are
leaked.

Differential Revision: https://phabricator.freedesktop.org/D1232
2016-08-01 10:45:37 -04:00
Guillaume Desmottes
04282bb192 validate: call gst_deinit() after gst_validate_deinit()
This allows validate to clean up before the 'leak' tracer list leaked
objects.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1231
2016-08-01 10:45:36 -04:00
Guillaume Desmottes
df6e25514c validate: use MAY_BE_LEAKED flag
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1230
2016-08-01 10:45:34 -04:00
Guillaume Desmottes
5b78110813 validate: fix pad leaks
Pads returned using the playbin get-{audio,video}-pad are reffed.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1027
2016-08-01 10:45:32 -04:00
Guillaume Desmottes
dc7382017d validate: reporter: break cyclic references with reports
My patch fixing monitor leak (15e7f1bbfd)
introduced a ref cycle between GstValidateReporter and
GstValidateReport.

The reports uses its reporter so it needs a ref on it
to ensure it's stay alive. But reports are owned by GstValidateReporter and/or
GstValidateRunner.
The best way I found to break this cycle is to introduce this purge
method. It's not great but the design is a bit tricky.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1029
2016-08-01 10:45:30 -04:00
Guillaume Desmottes
b8c821dff4 validate: reporter: prevent usage of destroyed runner
Fix crashes.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1028
2016-08-01 10:45:28 -04:00
Guillaume Desmottes
b5e020daa2 validate: runner: prevent hash table modifications while iterating
A GHashTableIter is invalided if the hash table is modified while we are
iterating. Prevent this by taking the runner lock.

Fix assertion warnings with
validate.file.transcode.to_vorbis_and_vp8_in_webm.Sintel_2010_720p_mkv_srt

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1026
2016-08-01 10:45:26 -04:00
Thibault Saunier
5a745829dc validate: Add jpeg as known format 2016-07-29 15:54:02 -04:00
Thibault Saunier
1de54fcd09 validate: Fix testsuite after additional check for buffer DISCONT flag 2016-07-29 14:34:17 -04:00
Mathieu Duponchelle
a8b2281f12 data: Fix make distcheck.
by distributing newly-added files.

Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Differential Revision: https://phabricator.freedesktop.org/D185
2016-07-29 14:34:17 -04:00
Wonchul Lee
5977a7e307 validate: scenario: deploy setup_sink_props_max_lateness config scenario for valgrind
Add to deploy setup_sink_props_max_lateness scenario.
When running gst-validate with valgrind option on the installed package, it fails to find that scenario.

Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D379
2016-07-29 14:34:15 -04:00
Wonchul Lee
45603d786b docs: Fix typo
Reviewed-by: Alex Băluț <alexandru.balut@gmail.com>
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D681
2016-07-29 14:34:13 -04:00
Thibault Saunier
bcc7a1fcca validate:launcher: Add h265, opus and vp9 as known formats 2016-07-15 08:56:02 -04:00
Sebastian Dröge
6b884127b7 Back to development 2016-07-06 13:51:27 +03:00
Sebastian Dröge
8710de15ba Release 1.9.1 2016-07-06 13:48:18 +03:00
Edward Hervey
1e1475d352 validate: Fix usage for non-standard http server port
Translate the various stream_info URI from the standard port to the
specified port
Make the port option an integer option
2016-07-04 16:19:09 +02:00
Edward Hervey
0502e6bf5b media-descriptor: Fine-tune stream-id checking
Only expect fully identical stream-id from URI which are not local files
nor from our local http server.

Fixes issues with non-default http server port
2016-07-04 16:19:05 +02:00
Edward Hervey
e5f381b96a validate: Use presence of STREAM_START to detect track switching
When doing a track switch, the only reliable way to detect that it
happened is whether a new STREAM_START arrives.
Relying on a DISCONT buffer is not satisfactory, since there might
not have been an element setting that flag upstream.

Checking whether the first buffer after a STREAM_START has the
DISCONT flag properly set should be done in parallel
2016-06-30 14:58:03 +02:00
Edward Hervey
0799397768 tools: Make the stream-switching action more generic
This allows it to handle both playbin and playbin3
2016-06-30 14:58:03 +02:00
Edward Hervey
b413f3a404 tools: Fix playbin detection
We might be using playbin3 instead
2016-06-30 14:58:03 +02:00
Edward Hervey
b77797da4b validate: Use decodebin3/uridecodebin3 when specified
Set the USE_PLAYBIN3 environment variable to use those elements instead
of legacy ones.
2016-06-30 14:58:03 +02:00
Edward Hervey
98e31f52ef tools: New tool to view and compare xunit results 2016-06-30 14:58:03 +02:00
Tim-Philipp Müller
c4091f82a9 validate: fix one more export
gst-validate-scenario.c:183:7: error: '_gst_validate_action_type' redeclared without dllimport attribute: previous dllimport ignore

This is also declared in gst-validate-internal.h
2016-06-24 14:03:48 +01:00
Tim-Philipp Müller
727eb3979a validate: fix bogus exports for internal symbols
Hopefully fixes win32 build.

gst-validate-scenario.c:183:7: error: '_gst_validate_action_type' redeclared without dllimport attribute: previous dllimport ignored
gst-validate-scenario.c:286:1: error: '_action_check_and_set_printed' redeclared without dllimport attribute: previous dllimport ignored
gst-validate-scenario.c:298:1: error: 'gst_validate_action_is_subaction' redeclared without dllimport attribute: previous dllimport ignored
gst-validate-scenario.c:305:7: error: '_gst_validate_action_type_type' redeclared without dllimport attribute: previous dllimport ignored
2016-06-24 12:58:02 +01:00
Thibault Saunier
8e2c734841 validate: Fix Validate plugin paths mixup 2016-06-13 17:01:52 -04:00
Reynaldo H. Verdejo Pinochet
704d082e79 validate: fix typo in debug message 2016-06-10 12:55:47 -07:00
Reynaldo H. Verdejo Pinochet
07fa1b3ca5 validate: fix some recurring typos 2016-06-09 14:31:48 -07:00
Reynaldo H. Verdejo Pinochet
73ac07d6e3 validate: fix validate-transcoding option descriptions 2016-06-09 14:31:48 -07:00
Reynaldo H. Verdejo Pinochet
14a9dab346 validate: improve run-time option descriptions 2016-06-09 14:31:48 -07:00
Thibault Saunier
9f272556d5 validate: No execute ON_ADDITION if a previous action has a playback-time
As this is what user will expect in this case.

For example with this scenario:

    set-state, state=null; playback-time=5
    set-property, target-element-name=dvbsrc0, property-name=delsys, property-value=11
    play;
2016-06-09 17:27:26 -04:00
Vineeth TM
99f9f3f408 validate:launcher: Add support for relative path while providing file path
Instead of providing full absolute path while validating the file, should be
able to provide the relative path with respect to the present directory.

https://bugzilla.gnome.org/show_bug.cgi?id=753494
2016-06-04 12:51:35 +01:00
Guillaume Desmottes
15e7f1bbfd validate: fix monitor leak when doing frame analysis
The monitor returned by gst_validate_monitor_factory_create() was never
unreffed.
Report instances now have to keep a ref, as suggested by the TODO, as
the reporter is no longer leaked.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1012
2016-05-24 10:29:03 -04:00
Guillaume Desmottes
4c6fce855e validate: redefine default cat for the runner
The gstvalidate_debug may not be initialized like with the
validate/reporting which was crashing when run with GST_DEBUG=5.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1004
2016-05-24 10:28:59 -04:00
Guillaume Desmottes
01c2ba564a validate: transcoding: fix encoding_profile leak
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D980
2016-05-24 10:28:55 -04:00
Guillaume Desmottes
2c4dcae918 validate: transcoding: fix caps leaks
The 'all_raw_caps' list is never used and was just leaking caps.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D979
2016-05-24 10:28:53 -04:00
Guillaume Desmottes
63d4987341 validate: scenario: always unref srcpad
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D959
2016-05-24 10:28:49 -04:00
Guillaume Desmottes
862b077569 validate: media-descriptor-writer: fix pad leaks
- the pad returned by gst_element_get_static_pad() was leaked.
- unref the pad from snode when updating it, not the pad passed as
callback to pad_added_cb()

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D958
2016-05-24 10:28:47 -04:00
Guillaume Desmottes
e51912065e validate: clean up action_types list on deinit
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D957
2016-05-24 10:28:44 -04:00
Guillaume Desmottes
0a667858ab validate: keep a ref when registering an override
_add_override_from_struct() could, in theory, register more than once
the same override so we should not transfer the ref.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D956
2016-05-24 10:28:41 -04:00
Guillaume Desmottes
f5c50b19ed validate: use g_object_unref() on GstValidateOverride
Those are GObject subclasses, not GstObject.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D955
2016-05-24 10:28:33 -04:00
Guillaume Desmottes
f9fb5b00b7 validate: add mesa-related valgrind suppressions
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D954
2016-05-24 10:28:30 -04:00
Guillaume Desmottes
2ddbcb666f validate: generate valgrind suppression traces
Makes fixing easier as then we can just re-use the generated trace.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D953
2016-05-24 10:28:26 -04:00
Guillaume Desmottes
4322138c8f validate: fix typo if Xvfb is not installed
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D375
2016-05-24 10:28:23 -04:00
Edward Hervey
992292f8ae pad-monitor: Don't check for DISCONT flags on buffer in pull-mode
It only makes sense in push-mode
2016-05-23 16:00:42 +02:00
Edward Hervey
843578835f pad-monitor: Update checks for MISSING_DISCONT
* Some SEGMENT might be updates caused by calling gst_pad_set_offset(),
  which will send the same segment but with an updated offset and/or
  based field. For those segments, we don't require a DISCONT on the
  following buffer.
* Ignore differences in flags, they aren't relevant for now to figure
  out whether the segment is an update or not
* Ignore difference in 'position', it's only meant for internal usage
  by elements.
* Changes in the end position (stop in forward playback and start in
  reverse playback) are considering updates

Furthermore, also expect a DISCONT flag on the first buffer following
a STREAM_START.
2016-05-23 15:59:44 +02:00
Edward Hervey
0711d4e163 gst-validate: Avoid overreading array
If we offset the argv table as argument, we need to decrement the number
of items in the array (argc) when iterating it
2016-05-19 12:07:57 +02:00
Edward Hervey
ca38c4dc9a pad_monitor: Add a check for buffer DISCONT flag
The first buffer after a FLUSH or SEGMENT should have the DISCONT flag
set.
2016-05-19 12:07:26 +02:00
Thiago Santos
f4cdbd006b launcher: set gsettings-backend to prevent weird deadlocks
It seems like some sort of forking/dconf/gtype combination can
deadlock occasionally. Setting the gsettings backend to memory
makes it go away.

Same issue: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/tests/check/Makefile.am?id=8e2c1d1de56bddbff22170f8b17473882e0e63f9
2016-05-15 06:34:21 -03:00
Thiago Santos
d0a7d9b094 validate: add non-seekable fragment file seek tests to the blacklist
The file has no index and is not easily seekable, seeking in these
kind of files isn't implemented.
2016-05-06 21:27:53 -03:00
Alexandru Băluț
a22c16a112 validate: Stop using deprecated method
https://bugzilla.gnome.org/show_bug.cgi?id=764964
2016-04-29 09:50:07 -03:00