Commit graph

2009 commits

Author SHA1 Message Date
Thibault Saunier
49271bc721 validate:launcher: Add information on media info files parsing failures 2017-02-27 12:12:38 -03:00
Thibault Saunier
95a5a3a62c validate: Ignore more parser related fields when comparing media caps 2017-02-27 12:12:38 -03:00
Thibault Saunier
fbde653a0c validate: launcher: Fix the way we retrieve command name
We are now using a list of args for subprocess so just using it is simple now
2017-02-27 12:12:38 -03:00
Thibault Saunier
bf21c2f64e validate:launcher: Fix typo in meson build definitions 2017-02-27 12:12:38 -03:00
Thibault Saunier
9caee62bc6 validate: Fix call to decode() on a string 2017-02-27 12:12:38 -03:00
Reynaldo H. Verdejo Pinochet
58b3a232b2 validate: fix mention to nonexistent option 2017-02-24 15:59:33 -08:00
Reynaldo H. Verdejo Pinochet
3d13f21be6 validate: improve set-config option description 2017-02-24 15:59:33 -08:00
Thibault Saunier
b97c13d0a7 validate:launcher: Fix setting meson build dir 2017-02-24 17:33:08 -03:00
Sebastian Dröge
cc0a848c30 Back to development 2017-02-24 15:37:52 +02:00
Sebastian Dröge
78b5ec4a91 Release 1.11.2 2017-02-24 15:10:12 +02:00
Thibault Saunier
f2b42cbaf8 validate:launcher: Various fixes to make the Test class directly usable
And the launcher installed with meson usable
2017-02-21 13:40:28 -03:00
Thibault Saunier
a39ef816a6 validate: launcher: Do not force using current module dir to run check tests 2017-02-21 13:40:28 -03:00
Reynaldo H. Verdejo Pinochet
158507585c validate: fix multiple occurrences of 'parametter' 2017-02-17 14:05:00 -08:00
Reynaldo H. Verdejo Pinochet
b0610dcc9a validate: fix unbalanced quotation mark in set-subtitle description
+ Remove pointless split in string literal
2017-02-17 14:05:00 -08:00
Thibault Saunier
54a1fc8b30 validate:launcher: Take ValidateAction execution as a marker of test update 2017-02-17 15:29:41 -03:00
Thibault Saunier
40016b9956 validate:scenario: Report action done with the execution duration 2017-02-17 15:29:41 -03:00
Reynaldo H. Verdejo Pinochet
f92569724a validate: runner: fix error msg for duplicated runner
- Add trailing whitespace to avoid accidental concatenation
- Fix bunch of typos and some grammar while at it
2017-02-16 14:34:33 -08:00
Reynaldo H. Verdejo Pinochet
606ac60704 validate: fix message on runner errors
- Add newline char to avoid accidental concatenation with
  actual error message
- Fix grammar while at it
2017-02-16 14:31:25 -08:00
Thibault Saunier
aa006f78c4 meson: Fix Gir *_prefix value to be the sames as with autotools
We want to be able to do GstValidate.Monitor and not
GstValidate.ValidateMonitor.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

For example with this scenario:

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

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

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

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

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

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

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

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

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

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

Same issue: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/tests/check/Makefile.am?id=8e2c1d1de56bddbff22170f8b17473882e0e63f9
2016-05-15 06:34:21 -03:00
Thiago Santos
d0a7d9b094 validate: add non-seekable fragment file seek tests to the blacklist
The file has no index and is not easily seekable, seeking in these
kind of files isn't implemented.
2016-05-06 21:27:53 -03:00
Alexandru Băluț
a22c16a112 validate: Stop using deprecated method
https://bugzilla.gnome.org/show_bug.cgi?id=764964
2016-04-29 09:50:07 -03:00
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
Thibault Saunier
433c8676dc validate:monitor: Do not requiere a GstObject as target
We can work with any GObject and that allows applications to write
monitors for other aspects too
2015-03-04 17:24:52 +01:00
Thibault Saunier
8b261599e4 validate:scenario: Alway execute sub action on action running SYNC
Move methods around to avoid needing on top prototypes
2015-03-03 12:31:37 +01:00
Wonchul Lee
5a959aa47b validate:docs: Rename gst-validate-launch to gst-validate-launcher
https://bugzilla.gnome.org/show_bug.cgi?id=745510
2015-03-03 11:34:01 +01:00
Thibault Saunier
34394b0c7a validate:scenario: Do not execute last sub action twice when ASYNC 2015-03-03 11:33:06 +01:00
Thibault Saunier
7888293f8f validate:scenario: Properly print sub action as if they were main actions 2015-03-03 10:39:52 +01:00
Emanuele Aina
9e7f713758 validate:docs: Fix typos in Scenario File Format
https://bugzilla.gnome.org/show_bug.cgi?id=736160
2015-03-02 16:18:30 +01:00
Thibault Saunier
e40d225614 validate:launcher Do not use git -C as it is relatively recent
https://bugzilla.gnome.org/show_bug.cgi?id=736160
2015-03-02 16:18:30 +01:00
Thibault Saunier
ec27b86fa9 validate: Build the preload so when possible 2015-02-26 11:09:23 +01:00
Thibault Saunier
4c13ec7121 validate:launcher: Print the long help in less when possible 2015-02-24 20:39:22 +01:00
Thibault Saunier
6309f8168a validate:launcher: Mention testsuite implementation in the help 2015-02-24 20:34:43 +01:00
Thibault Saunier
72dedae65d validate: Define GST_PLUGIN_LDFLAGS as needed 2015-02-23 12:24:39 +01:00
Young Han Lee
2d6c667c9a validate: Determine development mode using git hash value
Development mode has been determined by whether the launcher is in git
repo
or not. This could be wrong when the launcher is installed to
subdirectory of other project's git repo, such as jhbuild. It is normal
to install compiled output to subdirectory of your jhbuild.

Changed logic gets the first commit hash of current git repo and
compares it with gst-devtools' the first commit hash.

https://bugzilla.gnome.org/show_bug.cgi?id=744781
2015-02-19 13:57:30 +01:00
Thibault Saunier
c5393f79f3 validate:launcher: Fix typo s/FILE_EXTENDION/FILE_EXTENSION/g 2015-02-19 13:57:30 +01:00
Thibault Saunier
f3adc999f1 validate:scenario: Fix GstValidateAction ABI adding a private structure
This way we can easily extend the structure and avoid needing using
a union and such
2015-02-19 13:57:30 +01:00
Mathieu Duponchelle
ac1c1aec7c validate: Test buffer outside of received range.
Summary: As part of the preparation for a port to tracer.

Test Plan: This is a test, we won't test tests

Reviewers: tsaunier

Differential Revision: http://internal.opencreed.com:8888/D19
2015-02-19 12:19:46 +01:00
Thibault Saunier
3b6f187d85 validate: Properly notify user about missing plugins
This way it is clear in gst-validate-launcher that the failure is due
to a missing plugin
2015-02-18 10:07:17 +01:00
Thibault Saunier
f0511cc3a2 validate: Fix wrong sizeof usage
sizeof(int) is always <= sizeof(gpointer)
2015-02-17 18:22:12 +01:00
Ramiro Polla
2d5ad1ac62 validate: launcher: Use cElementTree for XML parsing
Using cElementTree instead of ElementTree speeds up parsing of media
descriptor files.

The total time spent parsing XML files drops from ~0.64 s to ~0.24 s,
leading to faster initialisation times for gst-validate-launcher.

https://bugzilla.gnome.org/show_bug.cgi?id=743293
2015-02-17 17:27:40 +01:00
Thibault Saunier
08afce235c validate: Print actions directly from the scenario
Avoiding user to have to print them in each and every action type
implementation.

This requires adding some API to prepare actions before printing them.
Preparing action in that case mean parsing the values contained in the
GstStructure parsing equations and setting back the actual value
afterward

API:
  * GstValidatePrepateAction
  * gst_validate_action_type_set_prepare_function
2015-02-17 17:11:51 +01:00
Thibault Saunier
8b6c521bb1 validate: Fix build on windows
Check where libgstvalidate.dll is installed and use that base folder to
figure out where GstValidate plugins are installed
2015-02-17 09:23:27 +01:00
Thibault Saunier
62a0db232c validate: Do not forget to dist _full variant of scrubing scenarios 2015-02-16 20:56:49 +01:00
Thibault Saunier
8e5b495c62 validate: Create a gst-validate-types.h header where we define types
And include it from validate.h.

This way we avoid to need to typedef GstValidateAction twice, which is
a C11 feature
2015-02-16 19:52:12 +01:00
Edward Hervey
a1da4cd733 validate-report: Fix valist usage
a va_list always 'exists' (it's a struct). It therefore can't be NULL
(and can't be tested)

Just use the regular print variant where appropriate.
2015-02-16 19:24:23 +01:00
Thibault Saunier
3d83370770 validate:scenario: Document locking 2015-02-16 17:18:37 +01:00
Thibault Saunier
89e2855964 validate:scenario: Make get_position happen on idle
Summary:
- Add a way to force action to be executed in their own GSource dispatch, disabling chain action execution

API:
  GstValidateScenario::execute-on-idle property
2015-02-16 17:18:32 +01:00
Thibault Saunier
51593df323 validate:scenario: Add a method to retrieve all remaining actions
Not only the next one as it was not making much sense!

API:
  - gst_validate_scenario_get_next_action
  + gst_validate_scenario_get_actions
2015-02-16 17:18:31 +01:00
Thibault Saunier
16f97e3df6 validate:utils: Fix some annotations 2015-02-16 17:18:31 +01:00
Thibault Saunier
a69af22ca9 validate:scenario: Allow link up of action executions for overriden types
Exposing a GstValidateActionType.overriden_type field
And properly expose gst_validate_execute_action
2015-02-16 17:18:31 +01:00
Thibault Saunier
19f9172586 validate:reporter: Always print reports in the Gst debug system 2015-02-16 17:18:31 +01:00
Thibault Saunier
6181f7763d validate: Misc fixes 2015-02-16 17:18:21 +01:00
Thibault Saunier
f4c6ed368e validate: Properly annotate gst_validate_register_action_type*
It does not return any reference to the type
2015-02-14 16:32:12 +01:00
Thibault Saunier
135cb2d2e4 Revert "validate:scenario: Add a way to specify action structure size"
This reverts commit b976319ef7f977b8ce910c4b8aa1a843da3b264f.

Now that the exact same structure can be used to represent different
action types, we can not rely on the structure size to stuff
informations into the action.  Users should just make use of
GstMiniObject.qdata.
2015-02-14 16:32:12 +01:00
Thibault Saunier
a5dab4b378 validate:scenario: We do not own any ref in GstValidateExecuteAction
And gst_validate_action_set_done might very well unref the last
reference to the action
2015-02-14 16:32:12 +01:00
Thibault Saunier
45f3f3d772 validate: Make sure that the latest action type registration is kept
Avoiding to change the behaviour!
2015-02-14 16:32:12 +01:00
Thibault Saunier
e80a7df4d3 validate:scenario: Handle scenario repeat property with sub actions
And port change_state_intensive.scenario to it
2015-02-14 16:32:12 +01:00
Thibault Saunier
a5a0722d20 validate:scenario: Add the notion of sub actions
Sub action will allow user to executed action *right* after the
previous action has been completed, meaning in the end that both
action can be considered as one single action.

+ Factor out a function to fill an GstValidateAction structure from a
  GstStructure
+ Factor out a function to set action playback time
2015-02-14 16:32:12 +01:00
Thibault Saunier
759b087c8c validate: Document some env variable usage 2015-02-14 16:32:12 +01:00
Thibault Saunier
441513e689 validate: Add an API to cleanly register action type from plugins
API:
    gst_validate_register_action_type_dynamic

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
1194b313af validate: Rename libfaultinjector to libgstvalidatefaultinjector
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
dae4051ed6 validate: Use plugin name as implementer_namespace when registering action type
And document it as a good practice as it will allow us to map plugins
and action types

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
cdc6565605 validate: Move the fault_injection plugin to gst/plugins/
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
5c90a06645 validate: Use an actual GstRegistry to track our plugins
Keeping everything internal for now

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
ed43ab1509 validate: Implement fault_injection as a Gs(tValidate)Plugin
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
a9b27057bb validate:scenario: Add a way to specify action structure size
And return the register GstValidateActionType on registration

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
fbfcf16b20 scenario: Do not concider we are seek_in_paused if executing a new action
The new action might change the position on purpose and we should not
fail in that case.

Also at that point we know the test of position after the seek has
been executed

+ Minor cosmetic fixes

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
be20eb015c validate:launcher:baseclasses: Avoid raising axception when all getting scenarios
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
00b222f38f launcher: Use gst-integration-testsuites FDO git repo
And make sure that people that were using the old repo get the origin
repo properly updated.

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
a85ace1783 validate: launcher: Allow discovering scenario from full path
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
9f5310b1d8 validate: scenario: Add a method to get the following action to be executed
API:
  + gst_validate_scenario_get_next_action

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
8125c46122 validate: Add helper functions ti print actions
API:
  + gst_validate_scenario_get_next_action
  + gst_validate_reporter_report_simple

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
16d52a445b validate: Minor documentation fixes
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
6350bf417e validate: Set seek_with_stop as needing at least 2secs media files
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
11f923fa52 validate: Fix the check of action that can be *not* executed
The check was wrong and we ended up allowing seek actions to no be
executed.

API:
    GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
5069e0347c validate:scenario; Advertise action types that will be executed on addition
Adding a flag to the action type

And make that code thread safe.

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
c74f33bd17 validate:scenario: Add a Flag fore ActionType that need clocks sync
And cleanly use it to set the need-clock-sync field in
the scenario properties

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
ef0f78f600 validate: Add the notion of INTERLACED actions
An interlaced action is an action that will be executed ASYNC but
without that will not block following actions during its execution.
The action should be set to done later on at any point during the
execution of the scenario.

API:
  + GST_VALIDATE_EXECUTE_ACTION_INTERLACED
  + GST_VALIDATE_ACTION_TYPE_INTERLACED

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
e7cc086f95 validate: Add a way to retrieve register actoin type from outside
API:
  * GstValidateActionType
  * gst_validate_get_action_type

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
eac25a3ad6 validate:launcher: Implement a FakeMediaDescriptor
This allows us to more cleanly implement Simple pipeline test
generation

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
71d53bb2d3 validate:scenario: Make action->scenario public API
It can be usefull for action type implementers

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
8848657ce3 validate:scenario: Add a disable-plugin action type
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
5f888fb5b6 validate: Properly advertise the wait action as ASYNC
And add some printing when executing the set-property action

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
da31e3914f validate: Enhance support for simple pipeline test generation
The GstValidatePipelineGenerator was quite limited in term
of configuration for user who just want to specify pipelines
to run with/without scenario.

Enhance the API so that we can properly configure that.

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
bee292f548 validate: Wait for switch-track to complete before executing next action
This action type can take some time, we need to make sure that the
combiner/input-selector element properly pushed a buffer marked
as DISCONT to concider the action is done.

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
d7b5d57305 validate:scenario: Avoid waiting for 50ms between actions
We should be able to execute the next action as soon as the previous
one is fully completed, make sure the code tries to do that and does
not artificially add some waiting time.

And make sure if the gst_validate_action_set_done is called from outside
our execution thread, we do not try to execute anything

https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:07 +01:00
Thibault Saunier
508678cfe1 scenario: Add a signal to notify user when the scenario is DONE executing
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:31:57 +01:00
Ramiro Polla
d833a51134 validate: launcher: Print test name in Result
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:39 +01:00
Ramiro Polla
c0cefecd23 validate: launcher: Add option to run tests in parallel
Patch 4/4 to implement parallel test execution.

https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:39 +01:00
Ramiro Polla
1f981762c2 validate: launcher: Print test number on result
With parallel test execution, it will be hard to track which result
relates to which test. Therefore, the test number should be printed
along with the results as well.

Patch 3/4 to implement parallel test execution.

https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:39 +01:00
Ramiro Polla
a9a366427e validate: launcher: Use jobs list to take track of tests running
Currently the tests are still run serially.

Patch 2/4 to implement parallel test execution.

https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
d9097f8bf7 validate: launcher: Use test index instead of counting test numbers
Patch 1/4 to implement parallel test execution.

https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
9c46f5f889 validate: launcher: Support simultaneous requests in RangeHTTPServer
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
ef246a497c validate: launcher: Make TestManager handle waiting for processes
Patch 4/4 to make TestManager handle waiting for processes instead of
expecting each Test to do it.

https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
0026c2804f validate: launcher: Use a Queue to test for test completion
TestManager will use a Queue to track progress for all tests. This
commit implements a queue inside Test to simplify the transition.

Patch 3/4 to make TestManager handle waiting for processes instead of
expecting each Test to do it.

https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
bd4c221141 validate: launcher: Initialize Test start time outside of wait_process
wait_process will be moved to TestManager, so the values used to track
process update must remain inside Test.

Patch 2/4 to make TestManager handle waiting for processes instead of
expecting each Test to do it.
2015-02-05 15:18:38 +01:00
Ramiro Polla
498f7002f3 validate: launcher: Split process_update() out of wait_process()
Patch 1/4 to make TestManager handle waiting for processes instead of
expecting each Test to do it.
2015-02-05 15:18:37 +01:00
Ramiro Polla
d12f55daf4 validate: launcher: Move logfile handling out of Reporter and into Test
This makes each Test handle its own logfile, allowing the Reporter to
work on multiple tests at the same time.

Patch 5/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
500206d3ad validate: launcher: Remove redundant check
self.out is always available when _get_captured() is called.

Patch 4/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
177eee728f validate: launcher: Split test log file handling in Reporter
Patch 3/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
b9357e3b17 validate: launcher: Separate Reporter from current Test
Instead of saving the current Test in Reporter for every test, use
function parameters to achieve the same goal.

Patch 2/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
39a4092434 validate: launcher: Initialize reporter timer before starting all tests
Patch 1/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
bdedd7abb9 validate: launcher: Don't wait for processes longer than necessary 2015-02-05 15:18:36 +01:00
Mathieu Duponchelle
db695185c9 socket interposer: Be even more platform restrictive. 2015-02-03 16:48:49 +01:00
Mathieu Duponchelle
e5976cad43 validate: do not compile for android. 2015-02-03 15:51:34 +01:00
Mathieu Duponchelle
4ce91b98f0 validate: Implement a fault injection library.
+ And implement a corrupt-socket-recv action
+ Only compile this on Linux, LD_PRELOAD won't work on Windows.

For now the registering of the action is done through
a call to socket_interposer_init, this will get better
when we refactor the action logic.

https://bugzilla.gnome.org/show_bug.cgi?id=743871
2015-02-03 15:30:54 +01:00
Mathieu Duponchelle
89048ad862 validate: tests more issues with caps.
https://bugzilla.gnome.org/show_bug.cgi?id=743387
2015-01-26 18:08:47 +01:00
Mathieu Duponchelle
bf2c949aee validate: Add a test case for caps missing field.
+ Make the fake decoder have video/x-raw caps.

https://bugzilla.gnome.org/show_bug.cgi?id=743387
2015-01-26 18:08:47 +01:00
Mathieu Duponchelle
887349167b validate: prepare tests for port to tracers backend.
https://bugzilla.gnome.org/show_bug.cgi?id=743387
2015-01-26 18:08:47 +01:00
Mathieu Duponchelle
165e35b3f0 bin-monitor: add itself as gobject data. 2015-01-22 22:07:37 +01:00
Ramiro Polla
b29f378296 validate: launcher: Fix test log header output
Write log file header before running tests, instead of overwriting the
file afterwards.

https://bugzilla.gnome.org/show_bug.cgi?id=742966
2015-01-16 16:24:16 +01:00
Ramiro Polla
9c3606a867 validate: launcher: Always create log files
Create log files even when stdout redirection is enabled.
This commit partially reverts 20c28de.

https://bugzilla.gnome.org/show_bug.cgi?id=742973
2015-01-16 16:24:13 +01:00
Ramiro Polla
4e0388c631 validate: launcher: Introduce new parameter for log file redirecting
Allow log file redirection through the new --redirect-logs parameter.
Keep the old --logs-dir stdout/stderr parameter, but reset to the
default logs directory in that case, and set redirect_logs internally.
This also prevents the creation of an stdout/stderr directory for
writing xunit.xml.

https://bugzilla.gnome.org/show_bug.cgi?id=742973
2015-01-16 16:24:13 +01:00
Thiago Santos
10fe72aa52 pad-monitor: plug caps leak on iterator resync 2015-01-09 14:04:16 -03:00
Thiago Santos
389f6d96b4 pad-monitor: use the same filter caps when querying downstream caps
To avoid comparing the real result that has been filtered against
a much larger caps that contains all possibilities.
2015-01-09 14:04:13 -03:00
Thibault Saunier
0c48665458 validate: tests: disable g_log handler
It messes up our own failures counter

And pass test-utils into gst-indent
2014-12-09 10:11:02 +01:00
Thiago Santos
6df63915c2 tests: padmonitor: disable glog handling
It messes up our own failures counter
2014-12-08 18:53:55 -03:00
Thiago Santos
7b4df44f61 pad-monitor: get correct caps to check for proxied fields in caps queries
Elements should proxy the peer element's caps fields and not what they
have currently set on their pads when replying to a caps query
2014-12-08 17:28:47 -03:00
Thiago Santos
af2707d3a3 pad-monitor: Only add pending caps fields for source pads
As caps events are downstream, caps set travels from sinks to
sources. Adding pending setcaps values to sink pads makes no sense
as when a new caps is set on the sink it would compare with values
currently set on the source pad, causing a critical failure when
renegotiation happens.
2014-12-08 17:28:47 -03:00
Thibault Saunier
1e39db18ad validate: launcher: Take the timeout as ref timeout to compute hard_timeout
when it is provided.
2014-12-08 18:38:46 +01:00
Thibault Saunier
5beaf5dfa8 validate: launcher: Set a hard timeout on GstValidate tests if we know the duration 2014-12-08 16:34:48 +01:00
Thibault Saunier
a2abf628dc validate: launcher: Force kill subprocess when done with them
Making sure that we do not end up having spurious subprocess around
2014-12-08 16:19:20 +01:00
Thiago Santos
d25fb034fa launcher: baseclass: add missing parameter
Fixes "NameError: global name 'options' is not defined"
2014-12-08 08:43:57 -03:00
Thibault Saunier
8450dff17d validate: launcher: Properly handle non default main dir
for the case of the new testsuite files
2014-12-08 10:10:04 +01:00
Thibault Saunier
5bfd579bf4 validate: launcher: Make the gstvalidate application a python module 2014-12-07 18:32:37 +01:00
Thibault Saunier
ce02887627 validate: Remove remaining reference to launcher/apps/validate
It has been removed now.
2014-12-06 10:53:37 +01:00
Thibault Saunier
1bc32a888f validate: Avoid assert removing an already removed signal handler
And, make sure that we set the return value != 0 when we receive
SIGINT
2014-12-05 20:51:44 +01:00
Thibault Saunier
272032c0b0 validate: Handle setting the HTTP server local path from testsuites 2014-12-05 20:51:44 +01:00
Thibault Saunier
22fba81138 validate: Rename gst-qa-assets to gst-integration-testsuites 2014-12-05 20:51:43 +01:00
Thibault Saunier
130a2892b1 validate: print execution of set_subtitles actions 2014-12-05 19:23:43 +01:00
Thibault Saunier
3dff417fdf validate: Factor out an LauncherConfig class type to handle configurations
Allowing us to more simply define default value and expose an API on
top of it
2014-12-05 19:23:43 +01:00
Thibault Saunier
515c8405f0 validate: Remove file specific blacklisted tests 2014-12-05 16:16:53 +01:00
Thibault Saunier
988e9a370e validate: Let the user know when new tests are added, or tests are REMOVED 2014-12-05 16:16:53 +01:00
Thibault Saunier
d38307a073 validate: Add a cleaner API to setup tests in testsuite files
With the testsuite format you will get a setup_tests(tests_manager,
options) function called for each TestManager.

The function will have the exact same role as with old config
file but with a clean API and not magic global variables.

This implies that we need default blacklist to be directly set
on the TestManager and not on options.blacklisted_test
2014-12-05 16:16:53 +01:00
Thibault Saunier
b852fbcbfb validate: Add a way to sync all assets, including big ones 2014-12-05 12:17:40 +01:00
Thibault Saunier
71566688bf validate: Remove the default testsuite implementation
The default testsuite implementation should belong to the default
asset repo where we have the corresponding knowledge.

We should style manage a sensible list of known blacklisted tests,
encoding profiles, and generators in GstValidate itself and allow testsuite
actual implementations to easily use them though the register_default_*
methods.

This allow us to be able to remove the ugly execfile() call.
2014-12-05 12:17:40 +01:00
Thibault Saunier
36aed39259 validate: Make sure to at least listen to GStreamer and GLib g_logs
If somewhere else someone is overriding the g_log default handler,
we would not get notified of anything.
2014-12-05 12:16:55 +01:00
Thibault Saunier
ccbcc04498 validate: Disable coloration of GST_DEBUG logs when we have no-color
Do that only when those logs are not saved to a file
2014-12-05 12:16:54 +01:00
Thibault Saunier
582f1cfc06 validate: Factor out a function to print action types parametters
+ Remove playback-type from the list and just print it
2014-12-05 12:16:54 +01:00
Thiago Santos
db67a92b3f pad-monitor: do not enforce caps querying rules for converters
Some encoders/decoders can also be converters, do not enforce
caps proxying rules for them
2014-11-28 17:21:23 -03:00
Vineeth T M
163d286f5b validate: fix typo in documentation
There are some typing mistakes in gst-validate-launcher --help
Hence fixing the same.

https://bugzilla.gnome.org/show_bug.cgi?id=740833
2014-11-28 11:16:09 +01:00
Thibault Saunier
b5219eaceb validate: Handle unlimited tests duration
Running full length scenario when the user asks
2014-11-25 19:41:01 +01:00
Thibault Saunier
c952886813 validate: Already having a monitor is no error 2014-11-25 19:41:01 +01:00
Thibault Saunier
1753afbe8d validate: pre commit hook: Do not try to run pep8 on non python files! 2014-11-25 19:41:01 +01:00
Thibault Saunier
62bf27f5e3 validate: Add scub_*_seeking_full scenarios
Which basically do the same thing as scrub_*_seeking but during
throughout the whole duration of the media
2014-11-25 19:41:00 +01:00
Thibault Saunier
b56ebc8a43 validate: Enhance documentation 2014-11-25 19:41:00 +01:00
Thibault Saunier
65eb14de36 validate: Add an option to update all .media_info files 2014-11-25 19:41:00 +01:00
Thibault Saunier
11c49a7db8 validate:scenario: Execute actions without playback time without a valid position
If the user did not specify any playback time we should be able to
execute actions even if the pipeline can't answer the position query

+ Make simpler to read the conditions of an action execution
2014-11-25 19:41:00 +01:00
Thibault Saunier
cdfa1ee61b validate:scenario: Properly handle ASYNC action execution in the API
The ->execute function now return a GstValidateExecuteActionReturn
which can be set as ASYNC in order to tell the scenario that the action
will be executed asynchronously, when the action is done, the caller is
responsible for calling gst_validate_action_set_done(); so that the
scenario keeps going on.

In this commit we make sure that the old API keeps working as
GST_VALIDATE_EXECUTE_ACTION_ERROR == FALSE and
GST_VALIDATE_EXECUTE_ACTION_OK == TRUE

Morevover GstValidateExecuteActionReturn is just a define

API:
    + gst_validate_action_set_done
    + GstValidateExecuteActionReturn

https://bugzilla.gnome.org/show_bug.cgi?id=739854
2014-11-25 19:41:00 +01:00
Thibault Saunier
4cbcb97258 validate: Add a GstValidateActionTypeFlag flag
Allowing us to define action types more in detail.
Keep backward compatibility, at least with the C API

https://bugzilla.gnome.org/show_bug.cgi?id=739854
2014-11-25 19:29:13 +01:00
Thibault Saunier
fcb0f20828 validate: Add a GstValidatePipelineMonitor subclass
We had quite a bit of code dedicated to handled GstPipeline monitoring
inside GstValidateBinMonitor, cleanly split that code into a new object
type

https://bugzilla.gnome.org/show_bug.cgi?id=740704
2014-11-25 19:29:13 +01:00
Thibault Saunier
36a2d61068 validate:launcher: Force clock sync for some protocols
In HLS for example, not having clock sync might lead to races and failures
do not test that for now
2014-11-20 12:09:29 +01:00
Thibault Saunier
057a864223 validate: Don't fail getting master report from a ghostpad without target 2014-11-20 12:09:26 +01:00
Thibault Saunier
6300fb9602 validate: Print current position even if we do not know the rate
That could cause gst-validate-launcher to wrongly concider tests
as timeout
2014-11-19 20:05:57 +01:00
Thibault Saunier
2be3c04b9b validate:scenario: Force clock sink for scenarios with a pause action 2014-11-19 17:59:26 +01:00
Thibault Saunier
a15b2544ce validate: Handle wrong paths when listing avalaible apps
User can make mistake or we can have an empty path.
2014-11-19 17:59:26 +01:00
Thibault Saunier
7f8c0c2751 validate: Do not check if first buffer running time is 0
It can perfectly not be 0, so it makes no sense to check that.

https://bugzilla.gnome.org/show_bug.cgi?id=739965
2014-11-19 17:59:26 +01:00
Thibault Saunier
5d8f6083b4 validate: Add audiomixer test to the default testsuite 2014-11-16 18:27:32 +01:00
Thibault Saunier
9255a8f876 pad-monitor: Give better details about segment mismatch issues 2014-11-16 18:27:32 +01:00
Thibault Saunier
4a2b9d6431 validate: Be more precise in issue type for wrong seqnum
Depending on the type of event where the bug occurs,
it is not the same issue type. That allows us to have
much precise reports, and better explain the user
where the issue stands.
2014-11-16 18:27:32 +01:00
Thibault Saunier
c77089cc62 validate: Fix a few annotation issues 2014-11-16 18:27:32 +01:00
Thibault Saunier
8c6803c467 validate: Add the notion of WAIT_MULTIPLIER for the wait action
Allowing the user to decide to wait more, or less, or even not wait
for the wait action to execute when running scenarios.
2014-11-16 18:27:32 +01:00
Thibault Saunier
1c2c0e63c2 validate:scenario: Report an EXECUTION_ERROR on action execution failure
If the action type handles a better error report type, it should just
return TRUE, and report its issue itself.
2014-11-04 17:33:09 +01:00
Thibault Saunier
e2d8096cb7 validate: Do not exit when we can not discover a result file
Loggable.error actually exit the process, it is not what we want!

+ Avoid a backtrace
2014-11-04 17:33:08 +01:00
Edward Hervey
4814110a86 scenario: Allow set-property action to work much earlier
By default an action has no playback-time, this makes it actionable
immediatly.

When no playback-time is set on a set-property action, it will
be activated the moment the element is added in the pipeline.
2014-11-04 17:12:00 +01:00
Edward Hervey
6a86f7c1c9 validate-bin-monitor: Initialize local variable
Avoids segfaults when freeing them if they didn't get filled in
2014-10-31 16:01:52 +01:00
Mathieu Duponchelle
85587a9aa5 validate: update pre-commit hook.
+ Allows to run multiple pre-commit hooks.
+ Always relink the hooks on autogen.
+ Run pep8 on commited python files.

https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
7bbd3ed288 apps: gstvalidate.py: fix various pyflakes / uncaught pep8 issues.
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
9bdc6e9b6d validate-launcher: utils: fix various pyflakes / uncaught pep8 issues.
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
b30d27e35e validate-launcher: main: fix various pyflakes / uncaught pep8 issues.
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
95065edebd validate-launcher: loggable: fix various pyflakes / uncaught pep8 issues.
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
a0a88e1708 validate-launcher: baseclasses: fix various pyflakes / uncaught pep8 issues.
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
8c1e84b5f4 validate-launcher: pep8ify sources.
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
fa39e0358a validate-utils: downgrade ERROR to DEBUG.
This function is called in places where it is legit for it
to return NULL.
2014-10-30 15:39:01 +01:00
Mathieu Duponchelle
4d569b51ed launcher: add a way to specify an application directory.
https://bugzilla.gnome.org/show_bug.cgi?id=739091
2014-10-30 15:31:29 +01:00
Mathieu Duponchelle
74ed40c904 launcher: Don't implement product-specific TestManagers.
This manager will be moved in GES.

https://bugzilla.gnome.org/show_bug.cgi?id=739091
2014-10-30 15:31:29 +01:00
Mathieu Duponchelle
b0beefacfa validate-launcher: restructure filesystem
https://bugzilla.gnome.org/show_bug.cgi?id=739091
2014-10-30 15:31:29 +01:00
Ramprakash Jelari
eb47b1021f validate: Fix compiler warning about implicit enum type conversion
gst-validate-reporter.c:119:39: error: implicit conversion from enumeration type
      'GstValidateReportingDetails' to different enumeration type
      'GstValidateInterceptionReturn' [-Werror,-Wenum-conversion]
  GstValidateInterceptionReturn ret = GST_VALIDATE_SHOW_UNKNOWN;
                                ~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~
gst-validate-reporter.c:124:11: error: implicit conversion from enumeration type
      'GstValidateReportingDetails' to different enumeration type
      'GstValidateInterceptionReturn' [-Werror,-Wenum-conversion]
    ret = iface->get_reporting_level (reporter);
        ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gst-validate-reporter.c:127:10: error: implicit conversion from enumeration type
      'GstValidateInterceptionReturn' to different enumeration type
      'GstValidateReportingDetails' [-Werror,-Wenum-conversion]
  return ret;
  ~~~~~~ ^~~
2014-10-24 15:19:19 +02:00
Mathieu Duponchelle
6cf2d92b0f build: We install all headers system wide for now.
Will be fixed when the API is deemed stable enough
2014-10-22 14:16:45 +02:00
Mathieu Duponchelle
30aef5ba84 validate: rename GstValidateReportingLevel.
Removes the confusion with GstValidateReportLevel.

Modeled on GstDebugGraphDetails.
2014-10-21 23:41:04 +02:00
Thibault Saunier
6d0930bb36 validate: Verify that elements always send a segment before pushing EOS
EOS is some kind of data flow and thus a segment event should always be
pushed before the EOS is sent
2014-10-21 20:40:27 +02:00
Thibault Saunier
23d7df3788 validate: Properly check that the seqnum of the EOS is always properly set
In the pipeline, an EOS should always have the same seqnum of the
previous SEGMENT event that was received. If the segment is the result
of a seek, it should always be the same as the seek seqnum too.

+ (Mathieu Duponchelle): fix reporting and concatenation tests.
2014-10-21 20:37:23 +02:00
Thibault Saunier
34a9c36edc validate: Add support for text based override files
Allowing user to easily determine the severity of issue
types in a config file

https://bugzilla.gnome.org/show_bug.cgi?id=737852
2014-10-21 20:23:32 +02:00
Thibault Saunier
b0d39c1c45 validate: Remove unused method
gst_media_descriptor_add_frame is not used anywhere

https://bugzilla.gnome.org/show_bug.cgi?id=737852
2014-10-21 20:21:58 +02:00
Thibault Saunier
a3513fc952 validate: Move GstStructure file parsing into utils
So it can be reused, at least in GstValidate.
2014-10-21 20:21:52 +02:00
Thibault Saunier
8ec61ddac2 validate: report: Simplify the issue ID registering using GQuarks
+ Remove unused issue types

https://bugzilla.gnome.org/show_bug.cgi?id=737790
2014-10-21 20:21:42 +02:00
Thibault Saunier
bb93dbb9fb validate: Check all buffers when we have the info from MediaDescriptor
We now check that each buffer is the expected one for each buffer that
come into the decoder.

+ Fix some minor leaks in test-utils

https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:21:36 +02:00