Commit graph

1774 commits

Author SHA1 Message Date
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
Edward Hervey
5e32a69ed4 scenarios: Fix scrub_backward scenarios
We will be changing states, set the handles-state variable accordingly
2016-04-07 14:12:42 +02:00
Tom Schoonjans
0344fd3a49 gst-validate: Link with GIO and clean up CFLAGS/LIBADD/LDFLAGS
https://bugzilla.gnome.org/show_bug.cgi?id=764192
2016-03-25 17:14:14 +02:00
Vineeth T M
5d503c9271 validate: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763197
2016-03-24 14:52:07 +02:00
Sebastian Dröge
e11b7cc26c Back to development 2016-03-24 13:34:03 +02:00
Sebastian Dröge
6ca7b35851 Release 1.8.0 2016-03-24 13:11:29 +02:00
Thibault Saunier
83c652ba76 validate: launcher: Make sure to properly setup all testsuites
When a first testsuite will set paths, it does not mean that we should
just register following testsuite test manager default tests.

So we need to make a difference between the media paths the user passed
with --media-path and the ones defined by the testsuite.
2016-03-23 20:10:51 +01:00
Thibault Saunier
9190bcf62a validate:launcher: Handle testslist files even running several testsuites
Only if those testsuites do not use the same Tester as we
currently can't know to what testsuite a test belongs.
2016-03-23 20:10:01 +01:00
Thibault Saunier
187df093eb launcher: Avoid caching all the debug logs in memory
And just write the temporary XML file on disc
2016-03-23 12:41:49 +01:00
Thibault Saunier
23ad66c552 validate: launcher: Blacklist dash and HLS failling seeking tests
As described in https://bugzilla.gnome.org/show_bug.cgi?id=764020
2016-03-22 19:02:27 +01:00
Thibault Saunier
a566b2c4b9 validate:testsuite: Blacklist validate.hls.playback.scrub_forward_seeking.hls_bibbop as it is racy 2016-03-22 17:46:50 +01:00
Thibault Saunier
5598d3d5dd validate: pad-monitor: Check right segment after seek
After a seek we need to wait for the right segment (meaning the segment
with seqnum == last seek/flush stop seqnum) to check whether the segment.time
has been properly set.
2016-03-22 12:13:30 +01:00
Thibault Saunier
4f553b7c78 validate: Accept pad return FLUSHING when the element is being teared down
In the case and element is in READY or is going to READY state, it can
always return GST_FLOW_FLUSHING.

Avoid a race where a demuxer sinkpad has not been set to FLUSHING when we are
still processing a buffer but downstream is already FLUSHING and thus
the demuxer is already returning FLUSHING.
2016-03-22 12:11:52 +01:00
Thibault Saunier
621bda9b62 validate: Use GstValidate logging system to print buffering avancement
So it can be used in the launcher.
And make sure to properly parse the info in the launcher.
2016-03-21 14:34:27 +01:00
Thibault Saunier
9b93cc884f validate:launcher: Remove dependency on wget 2016-03-21 14:09:26 +01:00
Sebastian Dröge
7b3eafbe6e Release 1.7.91 2016-03-15 12:40:03 +02:00
Sebastian Dröge
4cee9de321 validate: Add missing parenthesis to seek position check
https://bugzilla.gnome.org/show_bug.cgi?id=763602
2016-03-14 14:29:57 +02:00
Sebastian Dröge
3f0a13d52a validate: Fix overflow seek position comparision
MAX(0, ((gint64) priv->segment_start - priv->seek_pos_tol) will be a high
positive number thanks to being interpreted as unsigned values if
segment_start < seek_pos_tol. Fix this by explicitly checking for this case
and only doing the subtraction otherwise.

This fixes the problem from fdccffbb2e
completely now.

https://bugzilla.gnome.org/show_bug.cgi?id=763602
2016-03-14 13:00:14 +02:00
Thibault Saunier
c2a35eef15 validate: Fix seding mistakes
When we added namespace to make GI happy we ended up with
structure called like GstValidateMediaGstValidateMediaXXX.
2016-03-08 18:48:27 +01:00
Edward Hervey
ef4635fe51 monitor: Add critical issue for checking accurate seek results
If an accurate seek is accepted, the resulting segment.time should be
exactly the requested seek start value..

https://bugzilla.gnome.org/show_bug.cgi?id=763299
2016-03-08 15:45:39 +01:00
Thibault Saunier
fdccffbb2e validate: Fix accurate seeking in paused failling condition 2016-03-08 12:00:37 +01:00
Vineeth T M
65560d8b03 Validate: Fix consider, launch spelling mistakes
https://bugzilla.gnome.org/show_bug.cgi?id=763289
2016-03-08 09:28:11 +02:00
Vineeth T M
7d9e9b3b79 validate: Fix wrong condition check when adding tests
When listing tests, checking whether uri is present or not and displaying error.
But uri does notneed to be present in case of pipeline generator. So the condition check is wrong.
This results in validateelements testsuite not working. Hence modifying the condition to
not error out on valid cases.

https://bugzilla.gnome.org/show_bug.cgi?id=762422
2016-03-05 12:56:14 +01:00
Sebastian Dröge
6a0170709c Release 1.7.90 2016-03-01 19:23:37 +02:00
Thibault Saunier
9708c7eb19 validate:launcher: Strip os.pathsep from extra env variables
We might be working with something that is not a path
2016-03-01 15:10:15 +01:00
Thibault Saunier
0535071158 validate: Add a missing new line to media info files 2016-02-29 15:55:47 +01:00
Thibault Saunier
62d8235598 validate: Fix build 2016-02-23 12:15:21 +01:00
Thibault Saunier
39a0be8e0e validate:launcher: Add a way to fail if test have been removed/added 2016-02-23 11:47:15 +01:00
Thibault Saunier
6a09e685f7 validate: Fix annotations
Skipping all functions and methods that are not relevant and not easily
introspectable

Differential Revision: https://phabricator.freedesktop.org/D706
2016-02-23 11:47:15 +01:00
Thibault Saunier
907ed7b2c2 validate: Remove unimplemented function
Differential Revision: https://phabricator.freedesktop.org/D705
2016-02-23 11:47:03 +01:00
Thibault Saunier
3657e7867f validate: Namespace all our structures and objects
Making GI a bit happier.

Those are not stable API anyway...

Differential Revision: https://phabricator.freedesktop.org/D704
2016-02-23 11:46:58 +01:00
Thibault Saunier
62e5e5f2e3 validate: Misc annotation and gi friendly cleanups
Differential Revision: https://phabricator.freedesktop.org/D703
2016-02-23 11:46:54 +01:00
Thibault Saunier
c2a944965a validate: Guarantee that we never create 2 monitors for the same object
Differential Revision: https://phabricator.freedesktop.org/D702
2016-02-23 11:46:39 +01:00
Thibault Saunier
8c760b0a0e validate: Turn GstValidateRunner into a GstTracer
This way we do not need the LD_PRELOAD hack anymore

Add a new libgstvalidateplugin GStreamer plugin, making sure it shares
the exact same code as the library (exposing only the wanted symbols).

Fix the way we set where to install GstValidate plugins

Try to keep backward compatibility even if tracers should never be instantiated
after an GstElement has been instantiated.

Differential Revision: https://phabricator.freedesktop.org/D459
2016-02-23 11:46:32 +01:00
Thibault Saunier
1d9c2d2a0b reporter: Properly reset g_log handler when reporter is destroyed
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D699
2016-02-23 11:46:24 +01:00
Thibault Saunier
2d5c6a749c validate: Make _deinit thread safe
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D698
2016-02-23 11:46:07 +01:00
Vineeth T M
bc66079d2a validate:launcher: handle spaces in transcode output path
When there are spaces in transcoding output path, then it fails. Hence adding the
path in double quotes

https://bugzilla.gnome.org/show_bug.cgi?id=756217
2016-02-17 22:33:32 +01:00
Vineeth T M
e2d2a6865f validate:launcher: Add proper check for is_seekable
The seekable variable in media_info file is of type string. When checking if the file
is seekable using is_seekable, it just returns the string, resulting in it always being true.
It should actually be comparing the string and returning true or false based on comparison

https://bugzilla.gnome.org/show_bug.cgi?id=755854
2016-02-17 22:33:16 +01:00
Vineeth T M
a02609fc37 validate: fast_forward: Calculate proper playback-time for scenario
In case of fast-forward scenario, the playback-time is not set properly
as per increase in the rate. This is resulting in short media files of duration
less that 15 seconds to fail.

https://bugzilla.gnome.org/show_bug.cgi?id=754151
2016-02-17 22:32:52 +01:00
Edward Hervey
35eeed9aee pad-monitor: More fixes of previous commit
You'd think in 2016 compilers could complain when assigning/comparing
different types of enums ... *sigh*.
2016-01-21 15:07:40 +01:00
Edward Hervey
4e2c7af46c tools: Fix relative track switching
I have no idea where that "-2" came from, but it was obviously wrong.
Just use modulo "total number of streams" to get the proper track id.
2016-01-21 14:30:46 +01:00
Thibault Saunier
c7df116a3c validate: Remove debugging left overs 2016-01-21 14:23:24 +01:00
Edward Hervey
e935640271 pad-monitor: Add support for GstPadEventFullFunc
This ensures our sink pad event wrapper is properly called if the
element implement a GstPadEventFullFunc instead of a regular one.

Removes all stray "buffer received before segment" issues with
queue/multiqueue
2016-01-21 14:17:40 +01:00
Thibault Saunier
633fddbb66 validate: Fix testsuite
Use fake elements instead of real ones in our tests so that
we control exactly the number of issues generated.

Until now we were trying to hide extra issues with a probe dropping
events and buffers but since 2dfa548f36
"pad: Append hooks instead of prepending to call them in the order they were added"
in core, hidding will not work.
2016-01-21 11:21:01 +01:00
Thibault Saunier
0482dab36b g-i: fix init section to avoid compiler warnings 2016-01-19 11:31:55 +01:00
Thibault Saunier
b08ef6b9ef runner: Report criticals when the reporter is in smart mode 2016-01-15 20:13:59 +00:00
Thiago Santos
3607f30fff media-descriptor-writer: track running time of buffers
PTS and DTS can be deceiving as a change in segment can dramatically change
playback synchronization. Track the running-time as well to properly
get any change in synchronization
2015-12-11 11:13:35 -03:00
Thiago Santos
ae52807efd media-check: enable 'full' for files which reference are also 'full'
If the reference file has frames information, enable it automatically
so that the comparison file also has frames to be used.

https://bugzilla.gnome.org/show_bug.cgi?id=758855
2015-12-04 19:03:53 -03:00
Thiago Santos
ee7cb88d02 media-descriptor: check if frame data matches
When comparing media descriptors, also check if the frames
match

https://bugzilla.gnome.org/show_bug.cgi?id=758855
2015-12-04 19:03:53 -03:00
Thiago Santos
84dd10b628 media-descriptor-writer: refactor getting the streamnode by a pad
https://bugzilla.gnome.org/show_bug.cgi?id=758855
2015-12-04 19:03:53 -03:00
Thiago Santos
37a2b6110f media-descriptor-writer: remove condition from inside loop
Only enter the loop if it indeed has a change of doing something
2015-12-04 19:03:53 -03:00
Thiago Santos
8088d5354b docs: fix typo
Retrive -> retrieve
2015-12-04 19:03:53 -03:00
Thibault Saunier
167306dbe0 validate: Add some documentation and annotiations 2015-12-02 13:50:02 +01:00
Thibault Saunier
87fbaf966c validate: Add a 'smart' reporting details mode
Making sure to show all informations for critical issues, but be synthetic for others
2015-12-02 13:49:34 +01:00
Edward Hervey
01f010b15d scenario: Set the default action execution interval to 10ms
Having a default value of 0 meant that a g_idle_add loop was constantly
running, causing each test to use 100% cpu.

This is no longer required. Using a 10ms interval brings down cpu usage
to a sane value
2015-11-23 17:44:27 +01:00
Vineeth T M
680ca5e10f validate: media-descriptor-writer: Don't create media info when stream info is not present.
When a file does not contain any stream info, then there is no need
to create the media info file as, it is not considered to be a valid file
and no validate checks are done for the same.
This skips unnecessary files like .txt, .dump files

https://bugzilla.gnome.org/show_bug.cgi?id=754006
2015-11-17 10:10:10 +01:00
Thibault Saunier
ade0fb3fed validate: launcher: Set scenario manager config before discovering testsuites 2015-11-16 16:45:13 +01:00
Vineeth T M
0f7105d317 validate: launcher: Print error when media-info files not present
When there are no media-info files present and --generate-media-info
option is not given, then it just fails without printing error.
Printing an error stating, use --generate-media-info if there are no
media info files.
When there are neither media files and media info files, print error
stating the same

https://bugzilla.gnome.org/show_bug.cgi?id=755087
2015-11-11 10:12:58 +01:00
Vineeth T M
d57fca241a validate: Fix memory leaks when context parse fails
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

https://bugzilla.gnome.org/show_bug.cgi?id=753862
2015-11-11 10:12:49 +01:00
Vineeth TM
1e76d905ae validate: suppression: suppress 'uninitialised value of size 4' in aacdec
Suppress this error, until the logic in libav is fixed.

https://bugzilla.gnome.org/show_bug.cgi?id=753268
2015-11-11 10:12:25 +01:00
Thibault Saunier
8899fd8dd1 validate: Implement support to run tests inside gdb
Making debugging races leading to crashes easier to debug
2015-11-10 18:17:54 +01:00
Thibault Saunier
91d3e70098 validate: Minor documentation fix 2015-11-10 15:14:49 +01:00
Thibault Saunier
06749ee333 validate: Remove 0.10 caps reference from the documentation 2015-11-08 01:37:14 +01:00
Thibault Saunier
024b1762d7 validate: Handle setting several scenarios
The user might have scenarios specific to a particular pipeline, and the
application might have several pipelines running and scenarios that
apply on specific pipeline. We have to handle that valid use case.
2015-10-29 15:34:01 +01:00
Sebastian Dröge
3bd31854a8 validate: Un-blacklist seeking HLS tests
They are reliable enough after 36b80edb72
in gst-plugins-base now.
2015-10-27 15:51:44 +02:00
Wonchul Lee
db8efd60fc validate: Add missing gir include path
Add missing gir include path for building with gst-uninstalled script

Differential Revision: https://phabricator.freedesktop.org/D461
2015-10-26 15:36:40 +01:00
Vineeth T M
cfe7dc1d6d validate-transcoding: trivial patch to change error from 0.10 to 1.0
While printing error in transcoding, gst-validate-transcoding-0.10 is being used.
Changing the same to 1.0

https://bugzilla.gnome.org/show_bug.cgi?id=756215
2015-10-19 15:43:35 -03:00
Thibault Saunier
aef41ba72a validate: Add support for prores 2015-10-14 12:01:15 +01:00
Guillaume Desmottes
9005428910 validate: fix double free
Summary:
Move variable declarations in the for block so we won't try re-free
tldir in case of early short circuiting of the 'for' code.

Depends on D348

Reviewers: thiblahute

Reviewed By: thiblahute

Differential Revision: https://phabricator.freedesktop.org/D349
2015-10-10 10:51:10 +01:00
Guillaume Desmottes
5067cee05b validate: fix loading of full path scenario
Summary:
We were checking if the path was a full one but was using the
scenario_name instead of this path when trying to load the scenario.

Depends on D346

Reviewers: thiblahute

Reviewed By: thiblahute

Differential Revision: https://phabricator.freedesktop.org/D348
2015-10-10 10:50:58 +01:00
Vineeth TM
aa2c93c3d4 validate:launcher: throw valgrind error only for definite loss
errors-for-leak-kinds should be set to definite, because almost every test case
, will have possibly lost memory, which may or may not be a leak.
And throwing error for all these cases doesn't seem to be correct.

https://bugzilla.gnome.org/show_bug.cgi?id=752754
2015-10-02 17:46:51 +02:00
Vineeth T M
e7b65fe5df validate: launcher: Fix media_check class name and add double quotes for valgrind logs
When creating the class names for media check, uri is being used,
instead of the path. Hence converting the uri using uri2path and creating
class name.
Add double quotes for valgrind logs, to support special characters like space

https://bugzilla.gnome.org/show_bug.cgi?id=752808
2015-10-02 17:43:50 +02:00
Vineeth TM
e1c1c45eb8 validate: media-check: Pass NULL instead of GError if not using it
If not using the GError being passed on to media descriptor, writer and parser,
simply pass NULL instead of GError.

https://bugzilla.gnome.org/show_bug.cgi?id=753340
2015-10-02 17:39:00 +02:00
Vineeth TM
15c87003b8 validate: descriptor-writer: Handle NULL GError address and free GError during error cases
writer_new_discover() API should be able to accept NULL GError and in case of
error, if GError is passed on as parameter, it should be propagated, else it
should be free'd.

https://bugzilla.gnome.org/show_bug.cgi?id=753340
2015-10-02 17:39:00 +02:00
Vineeth TM
5c0c42ed6d validate:tools: set locale to all and change argument to FILENAME
When file name consists of characters from other languages, say korean,
then it throws an error
Error initializing: Invalid byte sequence in conversion input

Hence setting locale to all to fix this.
And changing the media-info argument to type G_OPTION_ARG_FILENAME

https://bugzilla.gnome.org/show_bug.cgi?id=753486
2015-10-02 17:32:19 +02:00
Vineeth T M
4071d60b0f validate: Print the return value at the end
Makes it easier to know if the test passed or failed.

https://bugzilla.gnome.org/show_bug.cgi?id=754013
2015-10-02 17:21:50 +02:00
Vineeth T M
1b700f13b4 validate: launcher: Support relative path for folder names
Even though relative paths are supported, right now it does not
work when we give the path as 'media/' present in the current directory.
Adding support for the same.

https://bugzilla.gnome.org/show_bug.cgi?id=754100
2015-10-02 17:20:18 +02:00
Thibault Saunier
91b3001f77 validate:launcher: Treat min-media-duration as a float 2015-09-30 18:13:28 +02:00
Thibault Saunier
b59cc63de7 scenarios: Set min-media-duration on switch_audio_track 2015-09-30 15:02:03 +02:00
Thibault Saunier
f69b63e749 validate:scenario: Add a way to define a timeout for actions execution
Reviewers: Mathieu_Du

Differential Revision: https://phabricator.freedesktop.org/D271
2015-09-30 14:56:24 +02:00
Sebastian Dröge
67d53d6aad validatessim: Stop using deprecated gst_segment_to_position() 2015-09-26 18:46:05 +02:00
Thibault Saunier
ac87f65d0d Back to development 2015-09-25 12:51:31 +02:00
Thibault Saunier
2501281b09 Release 1.6.0 2015-09-25 12:50:13 +02:00
eunhae choi
9e1cea6c4b validate: scenarios: set need clock sync for switching subtitle track
As soon as the track is changed, the pipeline state is set to NULL
by execution 'stop' action even if there is a 'playback-time' with 5sec.
If the AV sink is not synchronized,
audio fakesink and video fakesink has different position value.
When the validate request the position information of pipeline
to do 'stop' action, the audio fakesink response of the position query
with the bigger value than 5sec.

https://bugzilla.gnome.org/show_bug.cgi?id=755101
2015-09-16 10:59:03 +02:00
Thibault Saunier
82f6ef48e9 Release 1.5.90 2015-08-21 11:09:48 +02:00
Thibault Saunier
1dc7c32d4c Update common submodule 2015-08-21 11:09:48 +02:00
Thibault Saunier
2b5db0c092 validate: Put the GstValidate testsuite version in the launcher config
This way testsuite implementation can have the information
2015-08-21 10:36:56 +02:00
Sebastian Dröge
d14564fd84 validate/transcoding: Don't override the target state of the scenario when receiving BUFFERING=100%
If the scenario handles the states and wants to stay in PAUSED, it's not a
good idea to change the state to PLAYING when receiving BUFFERING=100%. This
caused a race condition in varios seeking tests, most often in the dash scrub
seeking test.
2015-08-17 17:20:07 +02:00
Sebastian Dröge
403b236426 validate: Don't override the target state of the scenario when receiving BUFFERING=100%
If the scenario handles the states and wants to stay in PAUSED, it's not a
good idea to change the state to PLAYING when receiving BUFFERING=100%. This
caused a race condition in varios seeking tests, most often in the dash scrub
seeking test.
2015-08-17 14:27:33 +02:00
Sebastian Dröge
09c5283692 validate: Fix typo 2015-08-16 17:59:00 +02:00
Sebastian Dröge
5b81bb4bc9 validate/launcher: Blacklist some HLS seeking tests again 2015-08-16 17:53:28 +02:00
Thiago Santos
b77f56a234 validate/launcher: Un-blacklist validate.dash.playback.reverse_playback.*
Fixed now
2015-08-16 08:50:36 -03:00
Sebastian Dröge
f898f3ec8b validate/launcher: Un-blacklist validate.hls.playback.reverse_playback.*
It apparently succeeds now.
2015-08-16 12:26:16 +02:00
Sebastian Dröge
fea86d3556 validate/launcher: De-blacklist some HLS tests 2015-08-15 19:07:02 +02:00
Sebastian Dröge
1f8a5483d3 validate/launcher: Blacklist some DASH tests 2015-08-15 19:04:14 +02:00
Thibault Saunier
bb2532aa54 launcher: Handle override files for media files
And make sure to create a new dict for extra_env_vars when instanciating
GstValidateTest
2015-08-15 18:30:53 +02:00
Thibault Saunier
367e6cc4f4 launcher: Make sure MediaDescriptor is set in the GstValidateTest class itself
It is used there but was set in each and every subclasses
2015-08-15 18:30:53 +02:00
Sebastian Dröge
233c99fbb7 validate/launcher: Treat DASH like HLS in another place 2015-08-15 16:19:46 +02:00
Vineeth TM
14414c13c5 validate: scenario: fix leak during error cases
When message_async is not called during error cases, needs_parsing GList is
not being freed resulting in leak. Hence free'ing the same in finalize.

https://bugzilla.gnome.org/show_bug.cgi?id=753339
2015-08-07 10:18:56 +02:00
Vineeth TM
82ffd9c53e validate: descriptor-writer: Handle error when stream info is not available
There is no check to see if stream info is available. This leads to
assertion error. Adding proper error messages for the same and reported
the same as a validate warning message.

https://bugzilla.gnome.org/show_bug.cgi?id=752758
2015-08-05 17:25:04 -04:00
Vineeth TM
97e630efba validate: descriptor-writer: Print proper error message when discover fails
When discovering the files, there will be different kind of errors. If we print
the exact message, then it will be more helpful for user. Especially in the case
of missing plugins, displaying which plugin is missing as error message

https://bugzilla.gnome.org/show_bug.cgi?id=752758
2015-08-05 17:25:04 -04:00
Vineeth TM
185b3b2d7e validate:override-registry: fix memory leak
mutex is being initialized but not cleared.

https://bugzilla.gnome.org/show_bug.cgi?id=752754
2015-08-05 17:22:39 -04:00
Vineeth TM
c2a5909cd4 validate: tools: transcoding error due to wrong condition check
when checking the restriction caps, not adding proper check, which
results in assertion error when calling gst_caps_from_string

https://bugzilla.gnome.org/show_bug.cgi?id=752749
2015-08-05 17:19:24 -04:00
Vineeth TM
e4d490fd45 validate:launcher: Fix documentation
Fix some trivial spelling mistakes in documentation
and document about --update-media-info.

https://bugzilla.gnome.org/show_bug.cgi?id=752748
2015-08-05 17:17:41 -04:00
Vineeth TM
94c684d401 validate:launcher: escape the characters to remove bad range in regex
When media file name consists of some special characters of the format
[b-a].mp3, then it fails with 'bad character range' error and exits.
call re.escape to escape the characters before using it in findall

https://bugzilla.gnome.org/show_bug.cgi?id=752650
2015-08-05 16:56:18 -04:00
Vineeth TM
ac172a9ac6 validate:launcher: improve uri generation for --medias-path
When --medias-paths option is being used, right now we have to
specify the full path, like /home/user/gst/master/media/
But when inside master directory, would like to specify only
media/ and expect it to work. Using os.path.abspath and create uri based on that.
This way we can either just pass media/ or pass the full path as parameters.

https://bugzilla.gnome.org/show_bug.cgi?id=752518
2015-08-05 16:12:47 -04:00
Vineeth TM
b37c550b2b validate:launcher: skip setting up test suite for --medias-paths
in validate.py, some mixer test generators are being added by default.
When passing --media-paths, i would not want to test these.
So instead of setting up the validate test suite, just call tester.register_defaults().

https://bugzilla.gnome.org/show_bug.cgi?id=752518
2015-08-05 16:12:47 -04:00
Vineeth TM
e0962c66ed validate: scenarios: Change start time for reverse playback
Right now reverse playback happens till the beginning of the media file.
But for files which are longer than 150 seconds,
Timeout 'Hard timeout reached: 150 secs' error happens. So we should set the
start time within 150 seconds.

https://bugzilla.gnome.org/show_bug.cgi?id=753216
2015-08-04 15:24:14 +02:00
Thibault Saunier
1fd14635ed validate: launcher: Add a --force-sync option
Which should put the testsuite in a clean state (basically using git
reset --hard for git based testsuite for example)
2015-08-04 15:23:54 +02:00
Nicolas Dufresne
bc297a8295 validate: Enable flac reverse playback tests
This is now supported and works as expected.
2015-08-04 08:53:17 -04:00
Nicolas Dufresne
6993666749 validate: media-descriptor: Workaround file:// stream-id changing
file:// base stream-id will vary depending on the file path. As we
don't expect everyone to use the same absolute path to place the
validate testsuite, the resulting stream-id changes. Because of that,
we can't match the stream-id in the recorded file, hence cannot do
further check. We work around this by doing what filesink would do,
which is compute a SHA256 of the URI which we can use to first
validate the ID is prefixed like expected, and decide if we should
consider the stream IDs the same or not.

https://bugzilla.gnome.org/show_bug.cgi?id=753079
2015-07-31 18:38:10 -04:00
Nicolas Dufresne
e25a6aaf78 validate: media-descriptor: Fix reading seekable record
Casting the result of g_strmp0 to boolean won't make gboolean
value 0 or 1. We need proper 0 and 1 so we can use == comparision.
2015-07-31 10:49:00 -04:00
Vineeth TM
8d477c6d93 validate: media-descriptor: handle proper return values
while comparing the media descriptor with --expected-results, the return
values are not being handled properly, which results in wrong comparision

https://bugzilla.gnome.org/show_bug.cgi?id=748390
2015-07-31 09:42:04 -04:00
Nicolas Dufresne
bd5fb7be26 validate: media-descriptor: Add comment before ignored return value
As stated in the bug, this comparison failing is not a critical
error, warning is enough. Add a comment so nobody thinks it's a
coding error.

https://bugzilla.gnome.org/review?bug=748390
2015-07-31 09:42:04 -04:00
Vineeth TM
2a5ff3f3c8 validate: media-descriptor: remove duplicate conditions
when comparing tags, two conditions in if an else if are same
the correct way is to first check if both are NULL and return.
changed the condition accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=748390
2015-07-30 15:09:00 -04:00
Vineeth TM
f020c41d41 validate: media-descriptor: fix trivial spelling mistakes
replace comparse_stream with compare_streams

https://bugzilla.gnome.org/show_bug.cgi?id=748390
2015-07-30 15:09:00 -04:00
Vineeth TM
c91ed016b1 validate:tools: set locale to all and change argument to FILENAME
When file name consists of characters from other languages, say korean,
then it throws an error
Error initializing: Invalid byte sequence in conversion input

Hence setting locale to all to fix this.
And changing the media-info argument to type G_OPTION_ARG_FILENAME

https://bugzilla.gnome.org/show_bug.cgi?id=752945
2015-07-30 14:06:41 +01:00
Thibault Saunier
df76ce5812 validate: Add a method to get action->scenario in a thread safe way
API:
  gst_validate_action_get_scenario
2015-07-25 10:54:19 +02:00
Olivier Crête
386b91522c validate-scenario: Use thread-safe GWeakRef
Since _set_done() is meant to be thread safe,
it can not be used with g_object_add_weak_pointer(),
instead, one must use GWeakRef. But since it is in the API,
document that fact and add a couple assertions to make sure
it doesn't get broken in the future.
2015-07-24 19:59:20 -04:00
Olivier Crête
ae9dec4cc3 validate-scenario: Use GLib functions to make sure GMainContext is used 2015-07-24 19:59:15 -04:00
Olivier Crête
0a17bfc2be scenario: Only modify the actions from the main thread
The action's content is not protected by a mutex, so only
modify it from the main thread.
2015-07-24 17:06:47 -04:00
Olivier Crête
1599c1abd8 gitignore: Add more generated files 2015-07-24 17:06:29 -04:00
Vineeth T M
7e91f73c76 validate-scenario: get duration from media_info if not able to query
In case of files, which don't have duration in header, baseparse
estimates the duration only after 1.5 seconds. But Async_done event
is sent before the duration is estimated, which results in error.
If duration query fails, getting the duration from the media-info being
passed through --set-media-info. If media-info is also not set,
printing an error message and throwing error.

https://bugzilla.gnome.org/show_bug.cgi?id=752521
2015-07-22 16:46:43 +01:00
Vineeth T M
aa6aebe41e validate:launcher: add quotes to the file path
When folder name contains space or other special characters,
it fails to recognise the same and error is thrown. Adding the path
inside  to recognise the same

https://bugzilla.gnome.org/show_bug.cgi?id=752611
2015-07-22 16:40:07 +01:00
Vineeth T M
074406bc2c validate:launcher: unquote the path to remove special characters
When getting path from url using, url2path, it is returning
special characters (%20 for space etc..), instead of returning
plain path. path.unquote replaces the same..

https://bugzilla.gnome.org/show_bug.cgi?id=752611
2015-07-22 16:39:43 +01:00
Vineeth TM
e4906c7289 validate:launcher: return on error cases properly
When folder name contains spaces during --medias-paths, it does not
create the media info, but still it shows as passed.
Returing failed during this case

https://bugzilla.gnome.org/show_bug.cgi?id=752611
2015-07-22 16:39:24 +01:00
Vineeth TM
6bf6fe7dec validate:launcher: handle file path in --medias-paths
right now --medias-paths accepts only directories. Added support to
accept file path as well.

https://bugzilla.gnome.org/show_bug.cgi?id=752692
2015-07-22 16:35:49 +01:00
Vineeth T M
6c48e89aab validate:launcher: skip default media path for --media-paths option
when --media-paths is specified, then no need to check the default media.
And add Force argument to let testsuite force the inclusion of
default media directory.

https://bugzilla.gnome.org/show_bug.cgi?id=752461
2015-07-16 16:31:09 +02:00
Thibault Saunier
89283ef3fe validate:ssim: Fix calls to the converters
We were mixing them
2015-07-16 16:30:52 +02:00
Vineeth T M
1ef0fdd66c validate:main.py: trivial document fixes
gst-validate-launch is being used instead of gst-validate-launcher
in a couple of places.

https://bugzilla.gnome.org/show_bug.cgi?id=752455
2015-07-16 09:35:17 +02:00
Thibault Saunier
0826c87136 validate:gtk: Handle the case were we are 'pressing' only a modifier 2015-07-14 20:31:59 +02:00
Guillaume Desmottes
09145cc56b validate: don't store the full description struct
Summary:
When running valgrind we'll have 2 scenarios loaded (the normal one and
"setup_sink_props_max_lateness.scenario"). The loading code shouldn't assume
which one will contain the description it actually care about and so just look
for the fields it actually needs.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D199
2015-07-14 18:28:34 +02:00
Thibault Saunier
11b1ae5f3b validate:scenario: Report EVENT_SEEK_NOT_HANDLED as reported error on error 2015-07-14 18:16:40 +02:00
Thibault Saunier
b02e422519 validate: Document the GST_VALIDATE_CONFIG environment variable 2015-07-13 16:36:15 +02:00
Thibault Saunier
5e2451da62 validate:scenario: Implement a config to set the interval between action calls
Allowing users to decide the time between which the action should be
executed. In some cases executing on idle might lead to action not
being executed fast enough so the user might want to force an interval
in that case.
2015-07-13 16:36:15 +02:00
Thibault Saunier
96d5d0ab27 Back to development 2015-06-24 17:43:53 +02:00
Thibault Saunier
bab3d99744 Release 1.5.2 2015-06-24 17:42:16 +02:00
Thibault Saunier
5edea350f6 validate:scenario: Reset seeked_in_paused when wrong position detected
+ Lower some debug output to LOG
2015-06-24 16:25:24 +02:00
Thibault Saunier
8e37c81811 validate:ssim: Inform about min average and min minimum similarities 2015-06-24 16:25:24 +02:00
Tim-Philipp Müller
de40a24b8f validate: spelling fixes
analize != analyze
2015-06-14 22:44:26 +01:00
Wonchul Lee
9ea5df9c98 validate: media-check: add newline to end of print statements
https://bugzilla.gnome.org/show_bug.cgi?id=750089
2015-06-14 22:41:12 +01:00
Wonchul Lee
953db96ede validate: media-check: fix double unref in error code path
Writer would get unrefed twice when it could not parse the file.

https://bugzilla.gnome.org/show_bug.cgi?id=750606
2015-06-13 19:28:19 +01:00
Tim-Philipp Müller
736ecef382 validate: tools: fix build
/usr/bin/ld: gst-validate-images-check.o: undefined reference to symbol 'gst_init'
/home/tpm/gst/glib-master/gstreamer/gst/.libs/libgstreamer-1.0.so.0: error adding symbols: DSO missing from command line
2015-06-13 19:25:17 +01:00
Thibault Saunier
06cca8a5b3 validate:ssim: Make position reporting parseable by the launcher 2015-06-12 12:42:42 +02:00
Thibault Saunier
3a1facdb45 validate:ssim: Print better information about execution 2015-06-12 12:42:40 +02:00
Thibault Saunier
245eb9d0f9 validate: print REPORTER->name when passed as source in validate_printf 2015-06-12 12:41:59 +02:00
Thibault Saunier
3e978a46b4 validate:launcher: Avoid printing twice env variables
When printing test command.
2015-06-12 11:31:13 +02:00
Thibault Saunier
ab7e9930d1 validate:tools: Cleanup Makefile.am
Removing useless CFLAGS and LIBS
2015-06-09 10:52:38 +02:00
Wonchul Lee
de6b24d905 validate:media-descriptor-writer: cleanup get tag code
https://bugzilla.gnome.org/show_bug.cgi?id=750609
2015-06-09 10:18:00 +02:00
Thibault Saunier
8b38d4745b validate: Do not define GstValidateOverride type twice 2015-06-08 18:58:46 +02:00
Thibault Saunier
7dd8bae7c2 validate: Fix make distcheck 2015-06-08 18:20:33 +02:00
Thibault Saunier
c206569a64 validate: Generate documentation for Validate plugins
Summary: Depends on D215

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D216
2015-06-08 17:40:32 +02:00
Thibault Saunier
6e5bddf54e validate: Add a validate ssim plugin
Summary:
 + Bump gst-video dependency to 1.4 as we need GstVideoConvert

 Depends on D213: validate: Mark gst_validate_report a G_GNUC_PRINTF

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D215
2015-06-08 17:40:32 +02:00
Thibault Saunier
dbcb6d5614 validate: Mark gst_validate_report a G_GNUC_PRINTF
Summary:
And fix the issue it raised

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D213

Depends on D211
2015-06-08 17:40:32 +02:00
Thibault Saunier
1dc3816943 validate: Add a gst-validate-images-check tool
Summary:
That is a new tool that uses ssim algorithm to compare images

+ Add a GstValidateVideo internal library adding an helper Gssim class

Depends on D210

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D211
2015-06-08 17:40:32 +02:00
Thibault Saunier
bf610de0d6 validate:utils: Add a utility to get a GstClockTime from a structure
Summary:
Properly handling the different types that can represent ClockTime

Make use of it in gst_validate_action_get_clocktime

API: gst_validate_utils_get_clocktime

Depends on D209

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D210
2015-06-08 17:40:32 +02:00
Thibault Saunier
6ddf55eaa2 validate: Properly clear the overrides registry on deinit
Summary: Depends on D208

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D209
2015-06-08 17:40:32 +02:00
Thibault Saunier
2c6993b2bd validate: Add a way to check whether Validate is initialized
Summary:
API:

  gst_validate_is_initialized

Depends on D207

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D208
2015-06-08 17:40:32 +02:00
Thibault Saunier
ba0ab132f9 validate:override: Add a vmethod to check whether a monitor can attach it
Summary: Depends on D206

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D207
2015-06-08 17:40:32 +02:00
Thibault Saunier
38df412a54 validate:override-registry: Make use of gst_validate_element_has_klass
Summary:
+ Fix a minor mixup bug between klass_overrides and name_overrides

Depends on D205

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D206
2015-06-08 17:40:31 +02:00
Thibault Saunier
40d00e8614 validate:override: Make overrides GObjects
Summary:
This way we can subclass them getting a proper
context in the various override methods.

Depends on D204

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D205
2015-06-08 17:40:31 +02:00
Thibault Saunier
13864f4998 validate: Move plugins to the toplevel directory
Summary:
Otherwise we end up with circular / complicated dependencies between
Validate, its libraries, and the plugins

Depends on D203

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D204
2015-06-08 17:40:31 +02:00
Thibault Saunier
83a8835a65 validate:scenario: Round up computed ClockTime values
Otherwise we end up with rounding error and instead of
seeking to 0.1 we seek to 0.09999999999 for example

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D203
2015-06-08 17:39:57 +02:00
Thibault Saunier
dfe29c56e5 validate🏃 Add a method to force exiting the runner
This method is similar to runner_printf() but can be used
only once. The user needs to make sure all the pipeline
are in NULL state when this is called.

The method emits a "STOPPING" signal and at that point
overrides or monitors should do extra processing/checks if
needed.

+ Make use of it everywhere where it makes sense.

API:
  gst_validate_runner_exit
  GstValidateRunner::stopping signal
2015-06-06 08:50:47 +02:00
Olivier Crête
5ce8ab213e pad-monitor: Check that an ERROR GstMessage has been posted on GST_FLOW_ERROR
Summary:
Before returning GST_FLOW_ERROR, an element must post an ERROR GstMessage,
enforce that.

Reviewers: thiblahute, Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D201
2015-06-03 11:43:12 -04:00
Luis de Bethencourt
111b7344a3 validate: remove unused assignment
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D202
2015-06-03 11:50:51 +01:00
Olivier Crête
dad9d252bc Revert "validate-utils: simplify _read_builtin ()"
This breaks the fast_forward scenario parsing.

This reverts commit 0cfff156b1.
2015-06-02 16:46:15 -04:00
Luis de Bethencourt
ab65b1e743 validate-utils: clean error handling in _file_get_lines () 2015-05-29 17:40:26 +01:00
Luis de Bethencourt
0cfff156b1 validate-utils: simplify _read_builtin () 2015-05-29 16:47:48 +01:00
Vineeth T M
1e3084aa95 validate-utils: sqrt(-1.0) leads to undefined result
Using sqrt of -1 is not valid and leads to undefined results.
When comparing the return value of the fucntion in validate-scenario,
it is being checked with ret == -1, so it makes sense to just return -1 in error case.

https://bugzilla.gnome.org/show_bug.cgi?id=748389
2015-05-29 15:40:55 +01:00
Thibault Saunier
e832785604 validate:scenario: Make sure to actually test position to execute actions 2015-05-20 14:16:14 +02:00
Guillaume Desmottes
9ef7943369 validate: add valgrind ignore supps for theora encoder
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D181
2015-05-18 10:16:28 +02:00
Guillaume Desmottes
dc2ba59ebb validate: add more H264 valgrind supp rules
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D180
2015-05-18 10:16:05 +02:00
Thibault Saunier
4829e44147 validate:gtk: Use event->type directly
gdk_event_get_event_type was introduced in Gtk 3.10 only

https://bugzilla.gnome.org/show_bug.cgi?id=749421
2015-05-18 10:15:33 +02:00
Thibault Saunier
d89b4884c6 validate:launcher: extra_env_variables is a dictionnary 2015-05-14 17:44:17 +02:00
Thibault Saunier
dc2f4f11c6 validate:launcher: Always set the protocol when creating a GstValidateMediaDescriptor
Summary: Depends on D174

Reviewers: Mathieu_Du, gdesmott

Differential Revision: http://phabricator.freedesktop.org/D175
2015-05-14 15:56:57 +02:00
Thibault Saunier
4ada36dbfc validate:launcher: Allow passing extra env variables to the tests
Summary: Depends on D173

Reviewers: Mathieu_Du, gdesmott

Differential Revision: http://phabricator.freedesktop.org/D174
2015-05-14 15:56:57 +02:00
Thibault Saunier
817ef82bb0 validate: overrides: Allow using regex for named overrides
Summary:
And minor fixes

Depends on D172

Reviewers: Mathieu_Du, gdesmott

Differential Revision: http://phabricator.freedesktop.org/D173
2015-05-14 15:56:57 +02:00
Thibault Saunier
d90f17a5b1 validate:scenario: Handle action execution after pipeline destruction
Summary:
It is possible to keep executing actions after the pipeline
has been destroyed.

API:
  GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE

Depends on D171

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D172
2015-05-14 15:56:56 +02:00
Thibault Saunier
92732c9f24 validate:scenario: Add a macro to get ActionType from an Action
Summary: Depends on D170

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D171
2015-05-14 15:56:56 +02:00
Thibault Saunier
53628bd7f2 validate:scenario: Factor out code to check position
Summary:
Making simpler to follow the execute_next_action function.

Depends on D169

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D170
2015-05-14 15:56:56 +02:00
Thibault Saunier
0f1f1db171 validate:pipeline-monitor: Stop printing position when not possible
Summary:
If from anything >= PAUSED to anything <= READY we can not query
pipeline position, so do not try to.

Depends on D168

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D169
2015-05-14 15:56:56 +02:00
Thibault Saunier
2ccae6e500 validate:scenario: Rename 'get_position_id' to 'execute_actions_source_id'
Summary: Depends on D167

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D168
2015-05-14 15:56:56 +02:00
Thibault Saunier
319e86c81c validate: Do not unref twice the same list
Summary: Depends on D166

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D167
2015-05-14 15:56:56 +02:00
Thibault Saunier
2e8552eff0 validate:scenario: Add a way to specify the pipeline on which a scenario applies
Summary:
From within the scenario itself.

Depends on D165

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D166
2015-05-14 15:56:56 +02:00
Thibault Saunier
2548eafd11 validate: Avoid depending on Gst 1.4
Summary: Depends on D117

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D165
2015-05-14 15:56:56 +02:00
Thibault Saunier
b5d3622b31 validate: Add a gtk plugins that implements action types relative to Gtk
Summary:
Currently the only supported action is gtk-put-event allowing press and
release keyboard keys.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D117
2015-05-14 15:56:56 +02:00
Thibault Saunier
0969e79607 validate: Always git submodule update from the toplevel directory
Otherwise it fails with older git versions
2015-05-12 09:55:58 +02:00
Emanuele Aina
2c3d0c9eab validate: Reshape documentation
Fix some errors, use more Docbook tags and split each command reference
in its own file.

https://bugzilla.gnome.org/show_bug.cgi?id=749162
2015-05-11 21:56:27 +02:00
Emanuele Aina
1286989c31 validate: Go back to the validate dir after submodule init
https://bugzilla.gnome.org/show_bug.cgi?id=749162
2015-05-11 21:56:27 +02:00
Guillaume Desmottes
d548286209 validate: ignore x264 valgrind errors
Summary: The x264 code is pretty hardcore so I just opened a bug for now.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D164
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
4927c65710 validate: disable QOS features when running with valgrind
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D156
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
b54a22c9bc validate: move element_has_klass() to utils
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D163
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
f6681ff003 validate: rename get_valgrind_suppression_file()
Summary:
This function is actually not specific to valgrind so we can make it more
generic.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D162
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
2760da33a3 validate: allow to pass more than one file to GST_VALIDATE_CONFIG
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D161
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
e5e7afd86f validate: gst_validate_plugin_get_config() return 'core' conf if plugin is NULL
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D160
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
92fa2b5681 validate: add gst_validate_deinit()
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D159
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
596daaed74 validate: don't leak not maching config structures
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D158
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
c2fef15266 validate: factor out create_config()
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D157
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
63ca026b03 validate: display debug info when stopping because EOS
Summary:
Useful to know if we are executing the 'stop' command provided by the scenario
or not.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D155
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
0417e47e50 validate: unref last_caps when destroying pad monitor
Reviewers: thiblahute

Reviewed By: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D150
2015-05-07 11:19:57 +02:00
Guillaume Desmottes
5a5f718900 validate: fix typo in reverse_playback.scenario
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D148
2015-05-06 11:32:33 +02:00
Guillaume Desmottes
c2128e45af validate: initialize position
Summary: Fix invalid read when executing without having the actual position.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D147
2015-05-06 11:32:30 +02:00
Guillaume Desmottes
c08da0041d validate: be less specific when ignoring the pixman tls leak
Summary: I hit the same big in a slightly different code path.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D146
2015-05-06 11:32:26 +02:00
Guillaume Desmottes
007f433d73 update gitignore
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D145
2015-05-04 14:48:26 +02:00
Guillaume Desmottes
b947e1c2ef use the setup_sink_props_max_lateness config scenario with valgrind
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D141
2015-05-04 14:13:46 +02:00
Guillaume Desmottes
4a8d4ddbf6 validate: add 'target-element-klass' property on set-property action
Summary:
This allows us to set a property on all the elements of the pipeline matching
a specific klass name.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D140
2015-05-04 14:13:45 +02:00
Guillaume Desmottes
316a7bb74d validate: add 'optional' action keyword
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D139
2015-05-04 13:24:21 +02:00
Guillaume Desmottes
d0a02df6e5 validate: scenario: call _element_added_cb() on existing children
Summary:
We want to have a chance to set property on all the elements of the pipelines,
including the existing children when the element is added.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D138
2015-05-04 13:24:21 +02:00
Guillaume Desmottes
db366e0a37 Fix 'stoped' typo
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D137
2015-05-01 18:19:39 +02:00
Guillaume Desmottes
4c70c57427 validate: add vg suppression for libdrm bug
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D134
2015-05-01 15:15:26 +02:00
Guillaume Desmottes
d1f1fab185 validate: ignore invalid read from libav aac decoding
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D133
2015-05-01 15:15:26 +02:00
Guillaume Desmottes
1c03eb0f71 validate: ignore libvpx valgrind errors
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D132
2015-05-01 15:15:26 +02:00
Guillaume Desmottes
133c415ade validate: display the URL of ignored Valgrind bugs
Summary:
We don't want to forget about those so best to remind it when starting tests
as we do with blacklisted tests.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D131
2015-05-01 15:15:26 +02:00
Guillaume Desmottes
c5c39d88b1 validate: move look_for_file_in_source_dir and get_valgrind_suppression_file to utils
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D130
2015-05-01 15:15:26 +02:00
Thibault Saunier
6a89662da6 validate: Make sure to run submodule init from the root dir 2015-05-01 00:01:50 +02:00
Thibault Saunier
9bba59d9ba validate:scenario: Fix 'duration' property of the pause action
We preparse it into and set it as GstClockTime in the
structures so make sure to use them as such.
2015-04-29 13:22:11 +02:00
Thibault Saunier
753ba408dd validate:launcher: Concider unset MediaDescriptor duration has 'infinite' 2015-04-28 16:44:42 +02:00
Guillaume Desmottes
8286adc047 validate: ignore a pixman leak which is fixed in master
http://phabricator.freedesktop.org/D128
2015-04-23 14:35:44 +02:00
Guillaume Desmottes
2067b173cd validate: use a bigger hammer to ignore mesa related leaks
Looks like some tests are hitting a slightly different code path in udev but
the root bug is the same.

http://phabricator.freedesktop.org/D128
2015-04-23 14:35:17 +02:00
Thibault Saunier
d59b117174 validate: Update autogen.sh
And add a gst-validate.doap file.
2015-04-23 11:52:41 +02:00
Thibault Saunier
15f880858c Update common submodule 2015-04-23 11:24:14 +02:00
Guillaume Desmottes
044ab241ee validate: use -debug versions of bins when running from source
Summary:
Those versions are using rpath instead of libtool's wrappers and so will be
faster to start and won't confuse valgrind.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D116
2015-04-21 11:19:17 +02:00
Guillaume Desmottes
8c4a3de701 move scenarios to data/scenarios
Differential Revision: http://phabricator.freedesktop.org/D115
2015-04-20 15:31:26 +02:00
Guillaume Desmottes
8c2684c9a7 validate: add gstvalidate.supp valgrind suppression file
Differential Revision: http://phabricator.freedesktop.org/D115
2015-04-20 15:29:28 +02:00
Guillaume Desmottes
60498f73b3 validate: scenario: fix structure and action leak 2015-04-20 08:35:58 +02:00
Guillaume Desmottes
308fa194a7 validate: report: fix GString leak when early returning 2015-04-20 08:35:58 +02:00
Thibault Saunier
848d660603 validate:pipelinemonitor: Print position only when in state >= PAUSED
Reviewers: Mathieu_Du

Reviewed By: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D86
2015-04-19 11:58:01 +02:00
Thibault Saunier
31d11ff8c3 validate:launcher: Use full HD screen as default screen size in xvfb 2015-04-19 11:56:29 +02:00
Thibault Saunier
a0b3287d40 validate:launcher: Add a way to run tests without displaying the output
Summary:
Adding a --no-display option and running Xvfb virtual frame buffer X
server.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D105
2015-04-17 21:51:29 +02:00
Thibault Saunier
76eedece5c validate:launcher: Error out if valgrind is not available on the system
Summary:
When the user wants to use valgrind, make sure it is present on the
system before doing anything

Reviewers: gdesmott

Differential Revision: http://phabricator.freedesktop.org/D104
2015-04-17 19:58:18 +02:00
Thibault Saunier
86efbffa32 validate:scenario: Stop scenario execution on stop action
And document it properly.

Summary:
The stop action was defined as "setting state to NULL" but
its actual goal is to stop the execution of the scenario. Make sure
that the scenario will not try to execute other actions when that
one has been executed.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D103
2015-04-17 19:31:07 +02:00
Thibault Saunier
5d6fcb5727 validate: Gracefully handle absence of TAG on streams
Summary: And do not segfault when it happens!

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D99
2015-04-16 13:43:33 +02:00
Thibault Saunier
adbe811175 validate:launcher: Pass GST_VALIDATE_SCENARIO to the subprocess env only
Summary:
And make sure to remove it from the env if the user has it in its main
environment.

Without that commit we ended up passing scenarios from previous tests
to the following ones where None were specified.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D98
2015-04-16 12:41:25 +02:00
Guillaume Desmottes
abb9e0ff2a validate: don't pass NULL to gst_caps_copy() 2015-04-16 12:41:25 +02:00
Guillaume Desmottes
36e69f305a validate: use GstMediaDescriptorWriter as log handler
Allow us to catch warnings when running gst-validate-media-check-1.0.
2015-04-16 12:41:25 +02:00
Guillaume Desmottes
2133207113 validate: media-descriptor-writer: fix string leaks 2015-04-16 12:41:25 +02:00
Young Han Lee
102c13ed6f validate:launcher: Handle git error properly
'OSError' exception is emitted but not handled properly when git is not
installed on running system.

https://bugzilla.gnome.org/show_bug.cgi?id=747892
2015-04-15 11:36:28 +02:00
Guillaume Desmottes
8a6494ddf8 validate: set GST_GL_XINITTHREADS
This ensure that XInitThreads is called and so gl contexts are properly
initialized.

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

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2015-04-14 12:56:32 +02:00
Thibault Saunier
0fcee6ed84 validate:launcher: Make validate the only default testsuite
Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D93
2015-04-13 11:27:08 +02:00
Thibault Saunier
5a6d6b9475 validate:launcher: Let the responsibility to update asset to the testsuite
Summary:
It makes it easier to make sure that the assets needed for a specific
testsuite are available when needed

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D92
2015-04-13 11:27:08 +02:00
Thibault Saunier
101ed96b5a validate:tools: EOS handling is the responsibility of the scenario
Summary: If any scenario set

Reviewers: Mathieu_Du

Differential Revision:
http://phabricator.freedesktop.org/D90
2015-04-13 11:27:08 +02:00
Ramiro Polla
6bb04c037c validate:scenario: Add support for waiting on signals and messages
Reviewers: Mathieu_Du

Differential Revision:
http://phabricator.freedesktop.org/D88
2015-04-13 11:27:02 +02:00
Thibault Saunier
774dbf9346 validate:scenario: Report disabling plugin issues
Summary:
+ typedef GstValidateActionReturn so it can be used in the introspection
+ Add GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED which should be used
  to tell Validate that something wrong happened so the sub action
  won't be executed, but that it should not report an error itself
  as it has already been handled in the action function.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D81
2015-04-10 16:53:41 +02:00
Thibault Saunier
69ca5c69cc validate:scenario: Allow execution of disable-plugin as a config action
Summary:
And fix a bug where config actions were added to the list of action even
if they had already been executed

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D80
2015-04-10 16:53:41 +02:00
Thibault Saunier
25ab37300d validate:scenarios: Set seek_forward_backward min-media-duration=45
Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D79
2015-04-10 16:53:41 +02:00
Thibault Saunier
2cf082c4be validate:launcher: Set more env variable in the launcher command desc
Summary:
Adding if present:
  * LD_PRELOAD
  * DISPLAY
  * GST_VALIDATE_CONFIG
  * GST_VALIDATE_OVERRIDE

+  enhance the add_env_variable method to more easily set envvar from
current value

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D78
2015-04-10 16:53:41 +02:00
Thibault Saunier
5d7403a6a5 validate: Add a method to easily get plugin configuration
Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D77
2015-04-10 16:53:41 +02:00
Thibault Saunier
4dce5054de validate:plugins: Add support to all GApplication as a test apps
Summary:
Add a very simple plugin that will allow any GApplication to easily be
used with GstValidate using the LD_PRELOAD feature

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D75
2015-04-10 16:53:41 +02:00
Mathieu Duponchelle
23bb7dfdcc validate: let structs_from_filename be exported.
Summary: It is useful for plugins too

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D74
2015-04-10 16:53:41 +02:00
Thibault Saunier
0159c96ab0 validate:scenario: Update Action.repeat field when needed
Summary: And print the current repeat value of the action that have such a field

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D73
2015-04-10 16:53:41 +02:00
Thibault Saunier
1e6b188d78 validate:scenario: Alway execute a 'quit' action on EOS
Summary: Making scenario more usable with LD_PRELOAD

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D72
2015-04-10 16:53:41 +02:00
Thibault Saunier
460bf61345 validate:scenario: Set the main action structure in fill_structure
Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D71
2015-04-10 16:53:40 +02:00
Thibault Saunier
bbd04eef4c validate:launcher: Use GST_VALIDATE_SCENARIO envvar to set scenarios
Summary:
Instead of concidering all apps will have a --set-scenario argument
which is not going to be the case as soon as we run the tests through
LD_PRELOAD

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D70
2015-04-10 16:53:40 +02:00
Thibault Saunier
2fe03f1993 validate:launcher: Move get_current_position from GstValidatePipelineTest to GstValidateTest
This is where it belongs

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D69
2015-04-10 16:53:40 +02:00
Wonchul Lee
058d5c6b12 validate: fix typo in scenario file format docs
https://bugzilla.gnome.org/show_bug.cgi?id=747487
2015-04-08 10:10:42 +01:00
Guillaume Desmottes
2f643bde2c validate: scenario: fix caps leak 2015-03-31 09:45:06 +02:00
Guillaume Desmottes
37d0ea4335 validate: media-descriptor: fix filenode->caps leak 2015-03-31 09:45:06 +02:00
Guillaume Desmottes
15918f1e40 validate: transcoding: don't create a second mainloop 2015-03-31 09:45:06 +02:00
Guillaume Desmottes
8b84f76df4 validate: transcoding: don't leak the requested sinkpad from decodebin 2015-03-31 09:45:06 +02:00
Guillaume Desmottes
c8e6b90f4b validate: pad-monitor: fix caps leak
Don't create othercaps when early returning.
2015-03-31 09:45:06 +02:00
Guillaume Desmottes
1bb98b49ca validate: GstValidateMediaCheckTest should inherit from GstValidateTest 2015-03-31 09:45:06 +02:00
Young Han Lee
75205828c7 validate:launcher: Install config.py for non-development mode
Running installed gst-validate-launcher aborted with the following error.

File "lib/gst-validate-launcher/python/launcher/baseclasses.py", line 28, in <module>
  import config
ImportError: No module named config

This is because config.py is added but not installed
in ba6d209b3f.

https://bugzilla.gnome.org/show_bug.cgi?id=747087
2015-03-31 09:29:16 +02:00
Young Han Lee
4725f4ec09 validate:launcher: Show timeout seconds for timeout result message
Current timeout message doesn't show how many seconds a test took and
it is timeouted by normal timeout or hard timeout.

This patch changes the message like following.

1. normal timeout
old : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out)
new : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out: 120 secs)

2. hard timeout
old : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out)
new : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Hard timeout reached: 600 secs)

https://bugzilla.gnome.org/show_bug.cgi?id=746957
2015-03-30 13:32:57 +02:00
Young Han Lee
4c7ec6b8b1 validate:launcher: Fix wrong test number with -j option
When '-j n' option is given, first n tests print test number 0.
This is caused by test_num part of 919db98605.

https://bugzilla.gnome.org/show_bug.cgi?id=747006
2015-03-30 13:02:39 +02:00
Thibault Saunier
ba6d209b3f validate:launcher: Avoid depending on PyGObject
Summary:
And rely on our knowledge of the configuration to figure out where the
suppression file has been installed

Reviewers: gdesmott

Differential Revision: http://phabricator.freedesktop.org/D61
2015-03-28 23:35:07 +01:00
Guillaume Desmottes
625fe7b5df validate: media-descriptor-writer: don't leak info and streaminfo 2015-03-26 15:42:11 +01:00
Guillaume Desmottes
779e44dd36 validate: media-check: don't leak output_file and expected_file 2015-03-26 15:40:50 +01:00
Guillaume Desmottes
4f805422a7 validate: check VALGRIND_ERROR_CODE in Test as well
We were doing it only in GstValidateTest which was overriding the default
implementation.
2015-03-26 13:59:30 +01:00
Guillaume Desmottes
9ad79ffcbc validate: don't increase hard_timeout is if it's None
Some tests, like the media check ones, have None as hard_timeout.
2015-03-26 13:57:34 +01:00
Guillaume Desmottes
daaa32676c validate: increase VALGRIND_TIMEOUT_FACTOR
5 wasn't enough for my poor laptop.
2015-03-26 11:29:26 +01:00
Guillaume Desmottes
66a675cde8 validate: increase the normal timeout as well when using valgrind 2015-03-26 11:29:06 +01:00
Guillaume Desmottes
32eac4db44 validate: media-descriptor: fix caps leak
gst_pad_get_current_caps() returns a reffed caps.
2015-03-26 10:32:09 +01:00
Guillaume Desmottes
093390981c also call gst_deinit() in media-check and transcoding
More valgrind friendly.
2015-03-26 09:18:44 +01:00
Guillaume Desmottes
f1985bc738 validate: raise an error if valgrind detected issues
Differential Revision: http://phabricator.freedesktop.org/D53
2015-03-26 09:18:27 +01:00
Guillaume Desmottes
5456ddbae0 call gst_deinit() when we are done
More valgrind friendly.
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
a35614d108 validate: call gst_bus_remove_signal_watch()
We are supposed to call gst_bus_remove_signal_watch() for each gst_bus_add_signal_watch() call to prevent leaks.
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
6e776b8f0f validate: media-descriptor-parser: fix string leak
_set_content() doesn't actually consume @content so the caller is responsible
freeing it.
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
d9a13b5563 validate: pad-monitor: fix buffers list leak 2015-03-23 13:41:03 +01:00
Guillaume Desmottes
3f0cb5fedf validate: pad-monitor: fix caps leak 2015-03-23 13:41:03 +01:00
Guillaume Desmottes
81a33d5f6a validate: fix a bunch of GstBus leaks 2015-03-23 13:41:03 +01:00
Guillaume Desmottes
c23bac2912 validate: store valgrind logs to its own file 2015-03-23 13:41:03 +01:00
Guillaume Desmottes
2aeaa1b279 validate: report: fix invalid read when destroying Report
Summary:
@report was invalid when we were trying to clear the mutex.

validate: scenario: remove weak pointer when destroying action

Free an invalid read when the scenario is destroyed after the action.

Differential Revision: http://phabricator.freedesktop.org/D44
2015-03-20 15:13:30 +01:00
Guillaume Desmottes
7aa5f85ccd validate: report: fix invalid read when destroying Report
@report was invalid when we were trying to clear the mutex.
2015-03-20 14:49:24 +01:00
Guillaume Desmottes
08a9034576 validate: fix string arguments leaks
We are responsible of freeing the string arguments parsed by GOptionContext.
2015-03-20 12:15:03 +01:00
Guillaume Desmottes
ba175368d1 validate: scenario: don't borrow @structure in _fill_action()
@structure was borrowed in some code path and wasn't in some other. Make it
clearer, and fix a leak, by always copying it.
2015-03-20 11:39:32 +01:00
Guillaume Desmottes
9691136887 validate: override-registry: fix structs list leak
The list returned by _lines_get_strutures() needs to be deeply freed.
2015-03-20 11:33:01 +01:00
Guillaume Desmottes
a99c13da4b validate: scenario: fix scenarios leak 2015-03-20 11:27:29 +01:00
Guillaume Desmottes
38342dfe2e validate: reporter: fix message leak 2015-03-20 11:25:39 +01:00
Guillaume Desmottes
e9aeca28a8 validate: report: don't shadow the GString variable
We were leaking the GString as it's freed outside of the block.
2015-03-20 11:24:27 +01:00
Guillaume Desmottes
3a275d2212 validate: report: fix GStrv leak 2015-03-20 11:24:04 +01:00
Guillaume Desmottes
7373286968 validate: report: fix GStrv leak
We borrow the content of the GStrv but were leaking the array itself.
2015-03-20 11:23:29 +01:00
Guillaume Desmottes
cb8348c7b1 launcher: try using gst.supp as valgrind suppressions file
https://bugzilla.gnome.org/show_bug.cgi?id=746465
2015-03-20 10:34:49 +01:00
Guillaume Desmottes
3024b3682f validate: install gst.supp
Will be used when running tests inside Valgrind.

https://bugzilla.gnome.org/show_bug.cgi?id=746465
2015-03-20 10:34:49 +01:00
Guillaume Desmottes
271f9f3c8e launcher: add valgrind support
Add a --valgrind option to gst-validate-launcher to run the tests inside
Valgrind and tune GLib's memory allocator accordingly.

Fix https://bugzilla.gnome.org/show_bug.cgi?id=746465
2015-03-20 10:34:49 +01:00
Guillaume Desmottes
2778e501c4 validate: move scenarios to validate/scenarios/
https://bugzilla.gnome.org/show_bug.cgi?id=746465
2015-03-20 10:34:48 +01:00
Guillaume Desmottes
e7762d13cc validate:launcher: Fix small typo 2015-03-19 12:22:39 +01:00
Thibault Saunier
ad5b5f5369 validate:launcher: Make sure to show apps specific options in the help 2015-03-18 17:06:14 +01:00
Thibault Saunier
e9da098e33 validate:launcher: Fix test number printing 2015-03-18 17:05:57 +01:00
Thibault Saunier
7079d1910d validate:launcher Rename _other_testsuite_for_tester
To _check_tester_has_other_testsuite
2015-03-17 12:41:26 +01:00
Thibault Saunier
919db98605 validate:launcher: Cache all the tests in the runner
This way we do not have to re ask all the test managers
what tests should be run.
2015-03-17 12:41:26 +01:00
Thibault Saunier
d1411cfc6a validate:launcher: Add a way to simply run validate default tests on uris
Summary:
This allows us to easily run all the scenarios on a particular file doing:

  $ gst-validate-launcher validate --validate-check-uri file:///some/media/file.webm

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D36
2015-03-13 18:04:42 +00:00
Thibault Saunier
b8c085b319 validate: keep executing actions even after linking up following execution
When linking actions execution without waiting on execution context, then
idle callback should keep being called so following action keep being
executed.
2015-03-13 18:04:42 +00:00
Thibault Saunier
e11646dcca validate: Add more files to .gitignore
Differential Revision: http://phabricator.freedesktop.org/D34
2015-03-10 11:32:15 +01:00
Thibault Saunier
49b2ed5d7a validate:scenario: Rename get_position to execute_next_action
That function was wrongly called and did not correspond to what it
actually does.
2015-03-10 11:32:15 +01:00
Vincent Penquerc'h
3bb6ecd6fa Revert "validate: add non flushing seek support"
This reverts commit 3ff55dcc31.

Regressions on the test server, apparently linked to this patchset.
2015-03-09 18:26:37 +00:00
Vincent Penquerc'h
09988a97bf Revert "validate: use segments to detect success of flushing seeks too"
This reverts commit c47cc7ba90.

Regressions on the test server, apparently linked to this patchset.
2015-03-09 18:26:33 +00:00
Vincent Penquerc'h
d78c20322f Revert "validate: expect a buffer with discontinuity after a seek"
This reverts commit 87064b6994.

Regressions on the test server, apparently linked to this patchset.
2015-03-09 18:26:06 +00:00
Thibault Saunier
08d8e01f21 validate:launcher: Make sure TIMEOUTs do not get converted to ERROR
This was a regression introduced in c0e3d2e4f1
2015-03-09 18:41:54 +01:00
Vincent Penquerc'h
87064b6994 validate: expect a buffer with discontinuity after a seek
https://bugzilla.gnome.org/show_bug.cgi?id=744783
2015-03-09 10:06:34 +00:00
Vincent Penquerc'h
c47cc7ba90 validate: use segments to detect success of flushing seeks too
https://bugzilla.gnome.org/show_bug.cgi?id=744783
2015-03-09 10:06:34 +00:00
Vincent Penquerc'h
3ff55dcc31 validate: add non flushing seek support
and a couple scenarios using them

https://bugzilla.gnome.org/show_bug.cgi?id=744783
2015-03-09 10:06:34 +00:00
Thibault Saunier
d08a6b8e0c validate:launcher: Do not forget to install apps/__init__.py
It is a python module that should be usable by external apps/testsuites
2015-03-06 09:39:36 +01:00
Thibault Saunier
d5ddeaf8c2 validate:scenario: Handle not mandatory action types
Summary:
There is currently no way to handle the fact that action types
might be handled only by a specific application but not handling
this action types would not cause any difference for the good execution
of the scenario as a whole

Differential Revision: http://phabricator.freedesktop.org/D33
2015-03-05 14:55:39 +01:00
Thibault Saunier
a17c214dba validate:launcher: Better handle GST debug log outputs redirection 2015-03-04 17:57:21 +01:00
Thibault Saunier
c0e3d2e4f1 validate:launcher: First rely on the presence of criticals to set tests result
In the case of external applications they might not set their exist
code bases on the result of validate so we should rely on what
validates as to say first.
2015-03-04 17:30:41 +01:00
Thibault Saunier
88da04e0a0 validate:report: Allow registering of issue types through the introspection
Fixing annotations and make GstValidateIssue refcounted

We break the ABI in that commit but I do not expect anyone to register
issue type outside GstValidate yet.

Add padding in the structures so we can avoid breaking the ABI again later.
2015-03-04 17:28:50 +01:00