Commit graph

2007 commits

Author SHA1 Message Date
Thibault Saunier
9dfb2016a2 validate: scenario: Add a GstValidateScenario::action-done signal
Allowing application to know when a specific action is done.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-16 22:00:37 -03:00
Thibault Saunier
b32debe06c validate: Enhance printing action execution information
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-15 18:00:58 -03:00
Thibault Saunier
920c12390f validate: Add an API to get the bin monitor scenario
This is useful for applications that use Validate directly.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-15 17:58:51 -03:00
Thibault Saunier
373071a743 scenario: Ensure that messages are handled from the right thread
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/233>
2020-12-10 18:31:43 -03:00
Thibault Saunier
9eb7df7fef validate:scenario: Fix the refcount management for actions in structures
Handling the refcounting the same whether the action is blocking or not
as we were leaking a ref for non-blocking waits.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/231>
2020-12-08 16:47:15 +00:00
Thibault Saunier
aca781f981 validate:scenario: Minor cleanup
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/231>
2020-12-08 16:47:15 +00:00
Thibault Saunier
0a7cc6a56e validate: Use gst_validate_action_*ref everywhere.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/231>
2020-12-08 16:47:15 +00:00
Thibault Saunier
d974b0b5d5 validate: Add support to check properties of object properties
And recursively

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/231>
2020-12-08 16:47:15 +00:00
Stéphane Cerveau
88b320cc2b validate: add sync-version
Be able by the command line to change the sync version
which is usually the GST_VALIDATE_TESTSUITE_VERSION
from the test suite

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/227>
2020-12-08 15:25:30 +00:00
Thibault Saunier
f5c3a0c9a0 scenario: Add a 'non-blocking' flag to the wait signal
This way we can execute actions that will lead to the signal
emission later in the execution.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/228>
2020-11-25 00:25:16 +00:00
Thibault Saunier
3da3e8825b validate:scenario: Rename 'interlaced' action to 'non-blocking'
It is a better and more understandable naming.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/228>
2020-11-25 00:25:16 +00:00
Seungha Yang
062a4c27a4 meson: Check cairo-png dependency
Should check whether libpng dependent methods are available or not

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/128
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/225>
2020-11-10 23:32:50 +09:00
Stéphane Cerveau
dbf7dbe830 meson: update glib minimum version to 2.56
In order to support the symbol g_enum_to_string in various
project using GStreamer ( gst-validate etc.), the glib minimum
version should be 2.56.0.

Remove compat code as glib requirement
is now > 2.56

Version used by Ubuntu 18.04 LTS

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/224>
2020-10-30 19:01:24 +00:00
Thibault Saunier
bf56c5ab92 validate:launcher: Bump hard timeouts for all transcodin tests
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
d811e1b39f launcher: Avoid variable framerate when encoding to theora
It is not supported by theoraenc.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
6c08b2c570 validate: Scale down even more to speed up encoding in VP9
From 3min to 50secs to execute here.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
5b7ac97502 validate:transcoding: Port to GstTranscoder
Remove flag to force EOS on sigintr, making it the only choice
Also add support for variable framerate

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
33a6cf5234 validate: Use pad.last_flowret instead of trying to compute it ourselves
Which makes it more accurate

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
779817cb91 report: Add a way to force backtraces on reports
And stop report simple debug message

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:40 -03:00
Thibault Saunier
06793d1d34 validate:launcher: Add a way to define test timeout from dicts
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/172>
2020-10-23 12:18:21 -03:00
Xavier Claessens
31efd7a11c Meson: Use pkg-config generator 2020-09-13 17:32:12 -04:00
Jordan Petridis
c310130086 gstvalidate.supp: update location of gst.supp
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/221>
2020-09-10 21:38:16 +00:00
Tim-Philipp Müller
c5d4d42164 Revert "Revert "launcher: add webrtcbin datachannel tests to valgrind skip list""
This reverts commit ff79af843b.

Looks like most of these are still problematic and flaky in valgrind,
so re-add to skiplist for now.

https://gitlab.freedesktop.org/thaytan/gst-plugins-base/-/jobs/4275045
2020-08-26 15:47:23 +01:00
Tim-Philipp Müller
ff79af843b Revert "launcher: add webrtcbin datachannel tests to valgrind skip list"
This reverts commit 369c74941f.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1383

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/220>
2020-08-24 23:59:14 +01:00
Thibault Saunier
e995c5ccc3 validate:check: Blacklist new ges valgrind test
I can't find what the issue is and the test is very long anyway

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/219>
2020-08-14 11:29:06 -04:00
Thibault Saunier
c45e2612a9 validate: flow: Plug some leaks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/219>
2020-08-14 11:29:06 -04:00
Thibault Saunier
4177f0995e validate:scenario: Plug some leaks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/219>
2020-08-13 21:52:59 -04:00
Tim-Philipp Müller
369c74941f launcher: add webrtcbin datachannel tests to valgrind skip list
They were previously not run because the sctp plugin wasn't built
but they will be run now that we bundle libusrsctp.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1465

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/218>
2020-08-14 00:55:59 +01:00
Tim-Philipp Müller
426f3e96ac validate: silence g-ir-scanner warnings about GST_IS_VALIDATE_*
Which it complains about because we say our prefix is 'gst_validate'
so it should really be GST_VALIDATE_IS_* instead.

Hide the boilerplate defines from g-ir-scanner, it doesn't need
to process them.

Fixes #46

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/214>
2020-07-27 09:53:16 -04:00
Thibault Saunier
a848fdc464 Revert "validate: fix up gir namespace and symbol prefix"
This reverts commit b73e816140.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/214>
2020-07-27 09:06:39 -04:00
Tim-Philipp Müller
b73e816140 validate: fix up gir namespace and symbol prefix
Change gir namespace and symbol prefix from
GstValidate / gst_validate to Gst / gst, same
as we do for other libs like GstVideo etc.

Helps with warnings about GST_IS_VALIDATE_*

Fixes #46, Closes !214

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/215>
2020-07-25 23:17:50 +00:00
Thibault Saunier
bab10bd05f validate: Fix media descriptor mp3 like formats
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/216>
2020-07-25 22:51:07 +00:00
Tim-Philipp Müller
56b745f4f8 validate-scenario: reflow #ifdef to work around bogus g-ir-scanner warning
Looks like a scanner bug.

The endif comments are the wrong way round too, but that's not it.

gst-validate-scenario.c:126: mismatched #endif  /* G_HAVE_GNUC_VARARGS */

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/213>
2020-07-25 20:29:39 +01:00
Thibault Saunier
4c83b468d6 validate: Always check if scenario is done from the right thread
Action will be set_done from the right thread and we will check if the action is done from there

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/212>
2020-06-27 03:54:54 -04:00
Thibault Saunier
ae3a45d1b6 validate: Print errors on action failures
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
7003d692ca validate: Plug some leaks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
8650c47cd3 validate: Move action finalization to _set_done where it belongs
gst_validate_action_set_done is the place where we should finalize the
action, not in `execute_next`, this way we better handle printing
interlaced action finalization too.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
9c08bfcaca validate:scenario: Replace the sub-action with a foreach action type
Sub-actions were really hard to use and conceptually weird. The
implementation was ugly and made the code complex for nothing.

Instead this commit introduces a `foreach` action type which allows
repeating actions passed in an `actions` array the number of time
specified by any `GstIntRange` value defined in the structure or its
`repeat` field.

This commit also makes sure that all action got through
gst_validate_action_set_done upon finalization.

+ Cleanup surrounding code
+ Add tests

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
e7355ea039 validate: scenario: Implement 'repeat' by copying actions
Instead of trying to reuse the same action structure and deal with
that in a complex way, copy the action the required number of times.

And add a simple test

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
521245fabd validate:scenario: Round results of expressions in a sensible way
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
19550bec3d launcher: Keep running tests forever on KNOWN_ERROR
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
758790ffc9 validate: Add private action type to check number of action type calls
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
800cc245e8 validate:scenario: Avoid dereferencing NULL structure
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
02339bd8bb validate: Fix marking expected issues as criticals
And never mark a repeat expected reports as repeated

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
b23cb6236d validate: Add a way to use the expression parser in any field
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
f7aba41380 validate: Allow variables to be set with other types than strings
And use value serialization from GStreamer to convert

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
598ec0a5d4 scenario: Add an action to remove a feature/plugin from the registry
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
dda8e7217c valiadate: Add a test for setting/checking (timed) properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
fc440c3ab3 validate:scenario: Add action to set and check several properties at once
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00
Thibault Saunier
302e9e1123 validate: Add an action type to set timed value properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>
2020-06-22 17:20:32 +00:00