Commit graph

1448 commits

Author SHA1 Message Date
Edward Hervey
2dd729ccf9 scenarios: Add/Update scenarios for live contents 2017-05-25 16:08:42 +02:00
Edward Hervey
400d1f9326 validate: Implement Scenario.__repr__
Allows better debugging when looking at logs
2017-05-25 15:50:23 +02:00
Edward Hervey
9188968f5c validate: Add live-related features to scenarios and medias
Note: The notion of "live" here is in the *content* sense and not in the
GStreamer sense.
Ex:
  * A rtsp stream is always "live" in the GStreamer sense but might not always
    provide live content.
  * HLS/DASH streams are not "live" in the GStreamer sense but might
    provide "live" content.

Some scenarios might:
* require live content
* not be compatible with live content

This patch adds two new properties for scenarios:
* live_content_required (default False) for scenarios that can only work with
  live content.
* live_content_compatible (default False) for scenarios that can work with
  both live and non-live content.
This patch adds support for reading a "live" property from stream_info
2017-05-25 14:04:00 +02:00
Víctor Manuel Jáquez Leal
29480d006c validate: g_object_newv() is deprecated
Since glib version 2.54, g_object_newv() is deprecated.

This patch changes that function with a simpler g_object_new(),
since no properties are set.

https://bugzilla.gnome.org/show_bug.cgi?id=782860
2017-05-20 12:40:26 +02:00
Edward Hervey
a4b16d54a0 validate-report: Don't leak GError 2017-05-05 15:27:37 +02:00
Edward Hervey
506e537f82 validate-scenario: Don't end up with invalid action name
When replacing an action structure, also update the action name with
the (new) name from the new structure. Otherwise we end up with
a bogus name from the previous (deleted) structure.
2017-05-05 15:27:37 +02:00
Edward Hervey
790e78c4f8 validate-scenario: Avoid invalid memory access
The name of the action comes directly (i.e. not copied) from the
contained GstStructure field. Therefore make sure to take that
name from the proper structure field (copied just before) and
not from an outside one.
2017-05-05 14:43:25 +02:00
Reynaldo H. Verdejo Pinochet
540200bd0a validate: drop superfluous whitespace from cmd description 2017-05-04 14:47:16 -07:00
Scott D Phillips
e1bf823e0c validate: remove const from outfolder
GOptionEntry's arg_data is of type gpointer which differs in
constness from const gchar*, so remove constness from outfolder.
This fixes a build issue with msvc.

https://bugzilla.gnome.org/show_bug.cgi?id=782031
2017-05-04 14:34:34 -07:00
Sebastian Dröge
c2d86243ce Back to development 2017-05-04 18:59:14 +03:00
Sebastian Dröge
e122285b62 Release 1.12.0 2017-05-04 15:48:44 +03:00
Thibault Saunier
40a31b05b6 launcher: Allow using the base launcher as a test manager
No reason to force people to subclass it in simple cases.
2017-04-30 14:36:16 -03:00
Thibault Saunier
bf71c93e84 tools: Fix dotfile name 2017-04-27 16:46:22 -03:00
Sebastian Dröge
4b61eb4b41 Release 1.11.91 2017-04-27 17:54:05 +03:00
Thibault Saunier
f34c7db3e4 validate: Fix update_stop.scenario seek property naming 2017-04-21 11:16:37 -03:00
Thibault Saunier
e9db1c19d0 launcher:check: Ensure to set build dir before rebuilding 2017-04-20 10:13:00 -03:00
Edward Hervey
325c1b37dd baseclasses: Add method to set a specific list of scenarios
https://bugzilla.gnome.org/show_bug.cgi?id=781314
2017-04-14 16:55:06 +02:00
Reynaldo H. Verdejo Pinochet
9d33d0ec9c validate: drop unneeded break+concat in some string literals
Perform other related improvements while at it.
2017-04-12 10:31:21 -07:00
Thibault Saunier
26b388c349 validate: Do not expect track switch to be synchronous for playbin3
And let following actions to be executed (setting the action as
INTERLACED) which will make sure the track switch happened at some
point. It means the user has to set the pipeline to PLAYING so we can
make it works but we do not have choice here I think

https://bugzilla.gnome.org/show_bug.cgi?id=781213
2017-04-12 11:28:50 -03:00
Edward Hervey
1f5a900bce validate-pad-monitor: Fix previous commit
Post-send handling was only meant for seek events
2017-04-10 11:43:28 +02:00
Edward Hervey
b156616b5c pad-monitor: Safely store expected seek values
Protect the expected seek values with the same lock as the one
that will be used to read/validate the resulting segments and flush
values.

Avoids races with duplicated seeks (i.e. a seek that was already
sent and handled via another pad, such as in demuxers).

https://bugzilla.gnome.org/show_bug.cgi?id=781112
2017-04-10 09:15:50 +02:00
Sebastian Dröge
a4da90b8db Release 1.11.90 2017-04-07 16:36:04 +03:00
Reynaldo H. Verdejo Pinochet
22d99ac89c validate: scenario: fix error message on scenario parsing failure 2017-04-05 15:26:31 -07:00
Reynaldo H. Verdejo Pinochet
4ec6bda043 validate: report: avoid pointless var & associated dup/free
Just pass the replacement string literal to _regex_replace().
2017-04-05 14:40:32 -07:00
Reynaldo H. Verdejo Pinochet
38440a5931 validate: report: avoid _strdup_printf() if not needed
g_strdup() is enough for this string literal.
2017-04-05 14:36:10 -07:00
Reynaldo H. Verdejo Pinochet
c8478b87f8 validate: report: fix description for timestamp out of range
Additionally: Fix nits in the descriptions for
SCENARIO_ACTION_EXECUTION_ISSUE and CONFIG_ACTION_TYPE
2017-04-05 12:24:06 -07:00
Edward Hervey
330ae663dc validate: Improve video fakesink properties
Try to emulate a bit better a real video sink by making the video
fakesink handle/calculate/report QoS.

Also use the same lateness value as default videosink
2017-04-04 14:53:30 +02:00
Reynaldo H. Verdejo Pinochet
d5da8682b2 validate: scenario: improve description blurb for execute-on-idle
Additionally: Fix issues in _register_action_type() documentation.
2017-03-28 15:03:54 -07:00
Reynaldo H. Verdejo Pinochet
eb2353f037 validate: scenario: fix msg on _lookup_feature() failure 2017-03-28 15:03:54 -07:00
Reynaldo H. Verdejo Pinochet
d6169ccb9f validate: scenario: fix documentation for GstValidateAction
Additionally:
 Improve GstValidatePrepareAction documentation
 Correct one-off use of 'eos' instead of EOS.
2017-03-28 15:03:54 -07:00
Reynaldo H. Verdejo Pinochet
fd796d2976 validate: scenario: fix type field in description parameter
Nothing wrong with Sting though :)

Additionally: Fix typo in need-clock-sync's description
2017-03-28 15:03:47 -07:00
Reynaldo H. Verdejo Pinochet
b2ec10ace3 validate: do not check for NULL before g_free()
g_free() is NULL-safe.
2017-03-23 15:21:58 -07:00
Reynaldo H. Verdejo Pinochet
51a921b34b validate: fix issues with a couple of string constants
Fix missing and/or dupplicated separators, bogus breaks, typos, etc.
2017-03-23 15:20:05 -07:00
Reynaldo H. Verdejo Pinochet
9ea012de22 validate: fix whitespace separators in multi-line string constants
Drop dupplicated & add missing ones

Additionally: typo fixes
2017-03-20 15:02:43 -07:00
Nicolas Dufresne
bdd152484c Rename plugin filenames to match plugin names
- libgstvalidateplugin.so -> libgstvalidatetracer.so
- faultinjection -> validatefaultinjection
- gstvalidategtk -> validategtk
- ssim -> validatessim

https://bugzilla.gnome.org/show_bug.cgi?id=779344
2017-03-08 20:04:29 -05:00
Reynaldo H. Verdejo Pinochet
7f5d22f616 validate: report: avoid unnecessary calls to _append_printf
Additionally: simplify %format magic used for padding
2017-03-02 17:15:20 -08:00
Reynaldo H. Verdejo Pinochet
9588ccd02b validate: report: clarify misleading message on skipped actions
Intention is to notify that not all actions were
executed but previous message suggested none were.

Additionally: fix problems in two others
2017-03-02 17:14:37 -08:00
Reynaldo H. Verdejo Pinochet
c62e33a7b8 validate: report: fix _issue_new()'s parameter description 2017-03-02 17:04:16 -08:00
Edward Hervey
99cade5ba4 validate: Make the HTTP server multi-threaded
Avoids having one test blocking all other tests
2017-03-02 17:40:18 +01:00
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