platform/upstream/gstreamer.git
4 years agoci: include template from gst-ci master branch again
Tim-Philipp Müller [Tue, 8 Sep 2020 16:30:56 +0000 (17:30 +0100)]
ci: include template from gst-ci master branch again

4 years agoBack to development
Tim-Philipp Müller [Tue, 8 Sep 2020 15:59:12 +0000 (16:59 +0100)]
Back to development

4 years agoRelease 1.18.0
Tim-Philipp Müller [Mon, 7 Sep 2020 23:10:18 +0000 (00:10 +0100)]
Release 1.18.0

4 years agoRevert "Revert "launcher: add webrtcbin datachannel tests to valgrind skip list""
Tim-Philipp Müller [Wed, 26 Aug 2020 14:47:23 +0000 (15:47 +0100)]
Revert "Revert "launcher: add webrtcbin datachannel tests to valgrind skip list""

This reverts commit ff79af843bc40a554795ee2a0682cfd12272dd24.

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

4 years agoRevert "launcher: add webrtcbin datachannel tests to valgrind skip list"
Tim-Philipp Müller [Mon, 24 Aug 2020 22:59:14 +0000 (23:59 +0100)]
Revert "launcher: add webrtcbin datachannel tests to valgrind skip list"

This reverts commit 369c74941f1607b421bc2f16edcaea0b887926a9.

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

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/220>

4 years agoRelease 1.17.90
Tim-Philipp Müller [Thu, 20 Aug 2020 15:16:50 +0000 (16:16 +0100)]
Release 1.17.90

4 years agovalidate:check: Blacklist new ges valgrind test
Thibault Saunier [Fri, 14 Aug 2020 01:55:09 +0000 (21:55 -0400)]
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>

4 years agovalidate: flow: Plug some leaks
Thibault Saunier [Fri, 14 Aug 2020 00:51:52 +0000 (20:51 -0400)]
validate: flow: Plug some leaks

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/219>

4 years agovalidate:scenario: Plug some leaks
Thibault Saunier [Thu, 13 Aug 2020 20:19:50 +0000 (16:19 -0400)]
validate:scenario: Plug some leaks

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/219>

4 years agolauncher: add webrtcbin datachannel tests to valgrind skip list
Tim-Philipp Müller [Thu, 13 Aug 2020 23:27:25 +0000 (00:27 +0100)]
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>

4 years agovalidate: silence g-ir-scanner warnings about GST_IS_VALIDATE_*
Tim-Philipp Müller [Sat, 25 Jul 2020 20:12:00 +0000 (21:12 +0100)]
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>

4 years agoRevert "validate: fix up gir namespace and symbol prefix"
Thibault Saunier [Mon, 27 Jul 2020 13:06:39 +0000 (09:06 -0400)]
Revert "validate: fix up gir namespace and symbol prefix"

This reverts commit b73e81614021a856fc7d3ff221a9bbf5ebf2ce6e.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/214>

4 years agovalidate: fix up gir namespace and symbol prefix
Tim-Philipp Müller [Sat, 25 Jul 2020 22:40:05 +0000 (23:40 +0100)]
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>

4 years agovalidate: Fix media descriptor mp3 like formats
Thibault Saunier [Sat, 25 Jul 2020 17:57:01 +0000 (13:57 -0400)]
validate: Fix media descriptor mp3 like formats

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/216>

4 years agovalidate-scenario: reflow #ifdef to work around bogus g-ir-scanner warning
Tim-Philipp Müller [Sat, 25 Jul 2020 19:27:48 +0000 (20:27 +0100)]
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>

4 years agoBack to development
Tim-Philipp Müller [Fri, 3 Jul 2020 01:04:19 +0000 (02:04 +0100)]
Back to development

4 years agoRelease 1.17.2
Tim-Philipp Müller [Thu, 2 Jul 2020 23:37:27 +0000 (00:37 +0100)]
Release 1.17.2

4 years agovalidate: Always check if scenario is done from the right thread
Thibault Saunier [Thu, 18 Jun 2020 16:46:39 +0000 (12:46 -0400)]
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>

4 years agovalidate: Print errors on action failures
Thibault Saunier [Tue, 16 Jun 2020 19:34:04 +0000 (15:34 -0400)]
validate: Print errors on action failures

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agovalidate: Plug some leaks
Thibault Saunier [Mon, 15 Jun 2020 21:32:13 +0000 (17:32 -0400)]
validate: Plug some leaks

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agovalidate: Move action finalization to _set_done where it belongs
Thibault Saunier [Mon, 15 Jun 2020 20:17:55 +0000 (16:17 -0400)]
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>

4 years agovalidate:scenario: Replace the `sub-action` with a `foreach` action type
Thibault Saunier [Mon, 15 Jun 2020 14:50:14 +0000 (10:50 -0400)]
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>

4 years agovalidate: scenario: Implement 'repeat' by copying actions
Thibault Saunier [Mon, 15 Jun 2020 13:17:55 +0000 (09:17 -0400)]
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>

4 years agovalidate:scenario: Round results of expressions in a sensible way
Thibault Saunier [Mon, 15 Jun 2020 13:32:23 +0000 (09:32 -0400)]
validate:scenario: Round results of expressions in a sensible way

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agolauncher: Keep running tests forever on KNOWN_ERROR
Thibault Saunier [Mon, 15 Jun 2020 14:54:20 +0000 (10:54 -0400)]
launcher: Keep running tests forever on KNOWN_ERROR

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agovalidate: Add private action type to check number of action type calls
Thibault Saunier [Mon, 15 Jun 2020 13:37:21 +0000 (09:37 -0400)]
validate: Add private action type to check number of action type calls

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agovalidate:scenario: Avoid dereferencing NULL structure
Thibault Saunier [Mon, 15 Jun 2020 13:14:16 +0000 (09:14 -0400)]
validate:scenario: Avoid dereferencing NULL structure

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agovalidate: Fix marking expected issues as criticals
Thibault Saunier [Mon, 15 Jun 2020 13:08:51 +0000 (09:08 -0400)]
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>

4 years agovalidate: Add a way to use the expression parser in any field
Thibault Saunier [Fri, 12 Jun 2020 14:08:25 +0000 (10:08 -0400)]
validate: Add a way to use the expression parser in any field

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agovalidate: Allow variables to be set with other types than strings
Thibault Saunier [Fri, 12 Jun 2020 14:05:57 +0000 (10:05 -0400)]
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>

4 years agoscenario: Add an action to remove a feature/plugin from the registry
Thibault Saunier [Fri, 12 Jun 2020 13:58:24 +0000 (09:58 -0400)]
scenario: Add an action to remove a feature/plugin from the registry

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agovaliadate: Add a test for setting/checking (timed) properties
Thibault Saunier [Wed, 10 Jun 2020 21:18:49 +0000 (17:18 -0400)]
valiadate: Add a test for setting/checking (timed) properties

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agovalidate:scenario: Add action to set and check several properties at once
Thibault Saunier [Wed, 10 Jun 2020 20:44:04 +0000 (16:44 -0400)]
validate:scenario: Add action to set and check several properties at once

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agovalidate: Add an action type to set timed value properties
Thibault Saunier [Wed, 10 Jun 2020 19:39:12 +0000 (15:39 -0400)]
validate: Add an action type to set timed value properties

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/207>

4 years agodebug-viewer: Add screenshot
Philippe Normand [Fri, 19 Jun 2020 09:26:17 +0000 (10:26 +0100)]
debug-viewer: Add screenshot

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/210>

4 years agoBack to development
Tim-Philipp Müller [Fri, 19 Jun 2020 23:28:39 +0000 (00:28 +0100)]
Back to development

4 years agoRelease 1.17.1
Tim-Philipp Müller [Fri, 19 Jun 2020 18:27:58 +0000 (19:27 +0100)]
Release 1.17.1

4 years agovalidate: flow: record GstRegionOfInterestMeta
Vivek R [Fri, 12 Jun 2020 14:01:41 +0000 (19:31 +0530)]
validate: flow: record GstRegionOfInterestMeta

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/206>

4 years agovalidate:launcher: Ensure that the main directory exists
Thibault Saunier [Mon, 15 Jun 2020 22:37:51 +0000 (18:37 -0400)]
validate:launcher: Ensure that the main directory exists

Fixes https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/issues/53 part 1

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/209>

4 years agovalidate:tests: Cleanup the way set environment vars
Thibault Saunier [Mon, 15 Jun 2020 22:06:33 +0000 (18:06 -0400)]
validate:tests: Cleanup the way set environment vars

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/209>

4 years agovalidate: Stop trying to support uninstalled autotools
Thibault Saunier [Mon, 15 Jun 2020 21:56:54 +0000 (17:56 -0400)]
validate: Stop trying to support uninstalled autotools

Fix https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/issues/53 part 2

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/209>

4 years agovalidateflow: Plug leak
Thibault Saunier [Tue, 9 Jun 2020 21:29:08 +0000 (17:29 -0400)]
validateflow: Plug leak

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/205>

4 years agoscenario: Fix waiting for signal
Thibault Saunier [Mon, 8 Jun 2020 18:01:49 +0000 (14:01 -0400)]
scenario: Fix waiting for signal

The signal callback signature was just wrong and not generic leading to
crash if waiting for any signal that didn't match it. This commit fixes
it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/205>

4 years agoscenario: Add an option to set properties on all instances
Thibault Saunier [Mon, 8 Jun 2020 18:00:44 +0000 (14:00 -0400)]
scenario: Add an option to set properties on all instances

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/205>

4 years agovalidate:flow: Add a way to dump buffer content as hex
Thibault Saunier [Mon, 8 Jun 2020 17:45:26 +0000 (13:45 -0400)]
validate:flow: Add a way to dump buffer content as hex

Useful in unit tests with very small buffers

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/205>

4 years agovalidate: Cleanup implementation of appsrc-push
Thibault Saunier [Tue, 2 Jun 2020 23:10:14 +0000 (19:10 -0400)]
validate: Cleanup implementation of appsrc-push

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/205>

4 years agovalidate: Remove useless condition
Thibault Saunier [Thu, 7 May 2020 13:16:11 +0000 (09:16 -0400)]
validate: Remove useless condition

CID 1462652

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192>

4 years agovalidate:ssim: Avoid dereferencing NULL pointer
Thibault Saunier [Thu, 7 May 2020 13:09:14 +0000 (09:09 -0400)]
validate:ssim: Avoid dereferencing NULL pointer

CID 1462650

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192>

4 years agovalidate: Give a proper argv[0] when running test files
Thibault Saunier [Thu, 7 May 2020 13:06:32 +0000 (09:06 -0400)]
validate: Give a proper argv[0] when running test files

Fixes CID 1462613

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192>

4 years agovalidate:transcoding: Exit after printing the help
Thibault Saunier [Thu, 7 May 2020 13:05:06 +0000 (09:05 -0400)]
validate:transcoding: Exit after printing the help

Fixes CID 1455575

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192>

4 years agovalidate: Ensure Scenario isn't NULL when preparing action
Thibault Saunier [Thu, 7 May 2020 12:49:34 +0000 (08:49 -0400)]
validate: Ensure Scenario isn't NULL when preparing action

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192>

4 years agovalidate: Update documentation now core plugins are integrated
Thibault Saunier [Wed, 3 Jun 2020 18:29:22 +0000 (14:29 -0400)]
validate: Update documentation now core plugins are integrated

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/204>

4 years agovalidate: Make extracheck and flow part of core instead plugins
Thibault Saunier [Wed, 3 Jun 2020 14:55:22 +0000 (10:55 -0400)]
validate: Make extracheck and flow part of core instead plugins

It makes things more complex and doesn't bring anything!

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/204>

4 years agolauncher: Limit copies of massive debug logs in markdown file
Edward Hervey [Wed, 3 Jun 2020 07:32:32 +0000 (09:32 +0200)]
launcher: Limit copies of massive debug logs in markdown file

When debugging is activated, we could end up with log files ranging in the
multi-megabyte or even gigabyte range. Copying those is expensive from a cpu/io
point of view in addition to clobbering the storage.

Instead of always copying those files, check if they are smaller than 500kB. If
not, don't copy them and instead provide a link to their location.

Fixes #52

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/203>

4 years agovalidateflow: Allow specifying checksum type
Thibault Saunier [Sat, 30 May 2020 19:54:31 +0000 (15:54 -0400)]
validateflow: Allow specifying checksum type

And add an extra mode 'checksum-as-id' which basically numerate
buffers checksums as they are being received so that it is simpler
to compare expectations when you are tracking buffers from both
sinkpads and srcpads.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/202>

4 years agovalidate: Add a parameter to force waiting on the test clock
Thibault Saunier [Fri, 29 May 2020 22:11:54 +0000 (18:11 -0400)]
validate: Add a parameter to force waiting on the test clock

This allows to wait for a new buffer to reach the sink without
actually cranking that buffer, allowing to quite the test without
waiting for EOS in a 100% reproducible way

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/201>

4 years agovalidate: Error out when a config hasn't been used at all
Thibault Saunier [Fri, 29 May 2020 22:11:11 +0000 (18:11 -0400)]
validate: Error out when a config hasn't been used at all

It probably means a plugin is not available

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/201>

4 years agoShip validate as part of a gst-devtools tarball
Tim-Philipp Müller [Wed, 27 May 2020 23:16:57 +0000 (00:16 +0100)]
Ship validate as part of a gst-devtools tarball

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/199>

4 years agomeson: make debug_viewer a feature option
Tim-Philipp Müller [Wed, 27 May 2020 19:59:41 +0000 (20:59 +0100)]
meson: make debug_viewer a feature option

... and disable by default.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/199>

4 years agovalidate: Fix mixup in quarks usages
Thibault Saunier [Thu, 28 May 2020 21:04:20 +0000 (17:04 -0400)]
validate: Fix mixup in quarks usages

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200>

4 years agovalidate: Add missing return func when GLib < 2.50
Thibault Saunier [Wed, 27 May 2020 23:35:26 +0000 (19:35 -0400)]
validate: Add missing return func when GLib < 2.50

CID 1463854

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200>

4 years agovalidate: Update documentation
Thibault Saunier [Wed, 27 May 2020 03:25:48 +0000 (23:25 -0400)]
validate: Update documentation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200>

4 years agovalidateflow: Add a way to configure when to generate expectations
Thibault Saunier [Tue, 5 May 2020 22:09:08 +0000 (18:09 -0400)]
validateflow: Add a way to configure when to generate expectations

By default, generate them whenever the file is missing but adding a way
to override that with `validateflow,generate-expectations=true` to force
regenerating them or setting `validateflow,generate-expectations=false`
to disallow generating them (on CI servers for example)

Also update the validateflow documentation to take that into account
and remove references to pipeline.json file which is now gone!

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200>

4 years agoscenario: Minor cleanup around pipeline change state management
Thibault Saunier [Thu, 14 May 2020 23:22:18 +0000 (19:22 -0400)]
scenario: Minor cleanup around pipeline change state management

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/198>

4 years agoscenario: Mark seek as done only when reaching next state
Thibault Saunier [Thu, 14 May 2020 22:45:11 +0000 (18:45 -0400)]
scenario: Mark seek as done only when reaching next state

There is a race where following actions could generate a
flush-start/flush-stop dance but the state change resulting from the
seek hasn't been committed yet, leading to the ASYNC_START being
ignored by GstBin since its pending_state is not VOID when receiving
the ASYNC_START message.

Conceptually it is totally correct to consider an action done when
the state change of the pipeline is stabilized..

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/198>

4 years agovalidate:launcher: Stop wrongly erroring on testsuite loading failure
Thibault Saunier [Tue, 26 May 2020 19:55:55 +0000 (15:55 -0400)]
validate:launcher: Stop wrongly erroring on testsuite loading failure

When the testsuite was actually already loaded as the .py
file was explicitly passed in

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197>

4 years agovalidate: Fix loading configs from a caps
Thibault Saunier [Tue, 26 May 2020 19:53:47 +0000 (15:53 -0400)]
validate: Fix loading configs from a caps

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197>

4 years agoflow: Use bat to color diffs when possible
Thibault Saunier [Sat, 23 May 2020 04:38:32 +0000 (00:38 -0400)]
flow: Use bat to color diffs when possible

Adding a function to check if can output colored logs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197>

4 years agolauncher: check: Properly set PLUGIN_PATH and registry when running in gst-build
Thibault Saunier [Fri, 15 May 2020 15:27:12 +0000 (11:27 -0400)]
launcher: check: Properly set PLUGIN_PATH and registry when running in gst-build

This makes registry

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197>

4 years agolauncher: Ensure that -j tests run in parallel when running forever
Thibault Saunier [Wed, 13 May 2020 22:25:00 +0000 (18:25 -0400)]
launcher: Ensure that -j tests run in parallel when running forever

So that you can reproduce the issue you want faster!

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197>

4 years agodocs: Update gst-validate-launcher documentation
Thibault Saunier [Tue, 12 May 2020 13:26:40 +0000 (09:26 -0400)]
docs: Update gst-validate-launcher documentation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197>

4 years agolauncher: Add support for running tests inside rr
Thibault Saunier [Tue, 10 Mar 2020 14:52:35 +0000 (11:52 -0300)]
launcher: Add support for running tests inside rr

Allowing us to easily run the tests forever and then replay the
failures!

https://rr-project.org/

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197>

4 years agovalidate: add missing gir annotation
Guillaume Desmottes [Thu, 14 May 2020 10:35:40 +0000 (12:35 +0200)]
validate: add missing gir annotation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/194>

4 years agovalidate-scenario: Initialize variable correctly
Edward Hervey [Fri, 22 May 2020 16:00:04 +0000 (18:00 +0200)]
validate-scenario: Initialize variable correctly

ret needs to be always reset to FALSE *before* checking attempting to load the
individual files. Otherwise there's the possibility it would silently accept an
invalid scenario name

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/196>

4 years agovalidate-scenario: Remove unused variable
Edward Hervey [Fri, 22 May 2020 15:56:40 +0000 (17:56 +0200)]
validate-scenario: Remove unused variable

We only need to check whether the field is present and of a given type

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/196>

4 years agovalidate: Stop using g_file_peek_path
Thibault Saunier [Fri, 15 May 2020 15:26:10 +0000 (11:26 -0400)]
validate: Stop using g_file_peek_path

It was introduced in 2.56 so is too recent

Fixes https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/issues/51

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/195>

4 years agovalidate: Add including support in the structure file parser
Thibault Saunier [Tue, 5 May 2020 17:52:52 +0000 (13:52 -0400)]
validate: Add including support in the structure file parser

Adding proper error reporting support

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/191>

4 years agovalidate: utils: Do not try to replace vars in debug info fields
Thibault Saunier [Fri, 8 May 2020 21:35:59 +0000 (17:35 -0400)]
validate: utils: Do not try to replace vars in debug info fields

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/190>

4 years agovalidate: Fix parsing validate tests files with vars on windows
Thibault Saunier [Fri, 8 May 2020 21:35:39 +0000 (17:35 -0400)]
validate: Fix parsing validate tests files with vars on windows

And ensure that we escape windows path in variables

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/190>

4 years agovalidate:launcher:check: Add support for gst-tester-1.0
Thibault Saunier [Sun, 3 May 2020 05:24:32 +0000 (01:24 -0400)]
validate:launcher:check: Add support for gst-tester-1.0

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/189>

4 years agovalidate: Add support for known-issues in the .validatetest
Thibault Saunier [Thu, 7 May 2020 04:23:07 +0000 (00:23 -0400)]
validate: Add support for known-issues in the .validatetest

And add some tests about remaining actions failures

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/189>

4 years agovalidate: Ensure a meta structure is found in test files
Thibault Saunier [Thu, 7 May 2020 02:36:59 +0000 (22:36 -0400)]
validate: Ensure a meta structure is found in test files

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/189>

4 years agovalidate:scenario: Check remaining action on stop, not EOS
Thibault Saunier [Thu, 7 May 2020 02:20:58 +0000 (22:20 -0400)]
validate:scenario: Check remaining action on stop, not EOS

When ignoring EOS, on addition action could end up not being executed
and no error was reported which was wrong.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/189>

4 years agovalidate: Fix rendering destination directory path creation
Thibault Saunier [Mon, 4 May 2020 21:59:28 +0000 (17:59 -0400)]
validate: Fix rendering destination directory path creation

We were ending up creating file:/some/path in cwd

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187>

4 years agovalidate: Plug some leaks
Thibault Saunier [Mon, 4 May 2020 20:59:54 +0000 (16:59 -0400)]
validate: Plug some leaks

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187>

4 years agovalidate: Add details on all g_log message reports.
Thibault Saunier [Sun, 3 May 2020 05:22:04 +0000 (01:22 -0400)]
validate: Add details on all g_log message reports.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187>

4 years agovalidate: Add a mechanism to mark tests as skipped
Thibault Saunier [Sun, 3 May 2020 05:20:19 +0000 (01:20 -0400)]
validate: Add a mechanism to mark tests as skipped

And use it when a plugin is missing and the user didn't ask for
failure when it happens

And use the TAP[0] synthax to report it

[0]: https://testanything.org

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187>

4 years agovalidate: Enhance issue reporting from structures
Thibault Saunier [Sun, 3 May 2020 04:54:56 +0000 (00:54 -0400)]
validate: Enhance issue reporting from structures

And properly bail out when required
This is preparatory work for gst-test in core which will use the TAP
protocol

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187>

4 years agovalidate:flow: Handle some more segment fields filtering
Thibault Saunier [Wed, 6 May 2020 02:57:08 +0000 (22:57 -0400)]
validate:flow: Handle some more segment fields filtering

Those slept through when implementing filtering

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/188>

4 years agossim: Minor improvements on the way we attach to pads
Thibault Saunier [Thu, 9 Apr 2020 20:04:53 +0000 (16:04 -0400)]
ssim: Minor improvements on the way we attach to pads

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174>

4 years agovalidate-scenario: Refactor seek handling
Edward Hervey [Tue, 5 Jun 2018 15:56:36 +0000 (17:56 +0200)]
validate-scenario: Refactor seek handling

* Store all seek values into a list of pending seeks instead
  of hardcoding some values
* Store all segments that sinks received
* Match segments to seeks when all sinks received segments with
  the same seqnum
* Detect when a seek did *not* result in segments with identical
  matching seqnums

Should allow checking for all types of seek handling, including
flush-less seeks

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174>

4 years agovalidate-report: Add new check for top-level seek
Edward Hervey [Fri, 15 Jun 2018 08:52:46 +0000 (10:52 +0200)]
validate-report: Add new check for top-level seek

This issue is to detect seeks that don't result in segments
with identical seqnums. This check can be done at the top-level
scenario

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174>

4 years agovalidate-pad-monitor: Post GstBaseSink SEGMENT on the bus
Edward Hervey [Tue, 5 Jun 2018 15:55:29 +0000 (17:55 +0200)]
validate-pad-monitor: Post GstBaseSink SEGMENT on the bus

Allows higher-level bin or app (like validate-scenario) to know
what each sink currently has in terms of SEGMENT.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174>

4 years agovalidate-element-monitor: Detect basesink elements
Edward Hervey [Tue, 5 Jun 2018 15:53:51 +0000 (17:53 +0200)]
validate-element-monitor: Detect basesink elements

And add a macro

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174>

4 years agovalidate-scenario: Add logging for scenario lock taking/releasing
Edward Hervey [Tue, 5 Jun 2018 15:51:44 +0000 (17:51 +0200)]
validate-scenario: Add logging for scenario lock taking/releasing

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174>

4 years agopad-monitor: Reliably track pending seeks
Thibault Saunier [Thu, 30 Apr 2020 16:39:44 +0000 (12:39 -0400)]
pad-monitor: Reliably track pending seeks

Instead of overriding all values when receiving a seek, store
them as a list of expected values.

This allows handling several seeks in a row, like non-flushing
seeks.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174>

4 years agovalidate: Allow overidding issue severity from configs
Thibault Saunier [Wed, 29 Apr 2020 03:06:24 +0000 (23:06 -0400)]
validate: Allow overidding issue severity from configs

Refactoring sensibly to allow getting configs outside the `core` namespace
and outside plugin names.

The `GST_VALIDATE_OVERRIDE` env variable should probably be removed
all together at some point.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/185>

4 years agovalidate: Add an option to describe issue types
Thibault Saunier [Wed, 29 Apr 2020 03:26:13 +0000 (23:26 -0400)]
validate: Add an option to describe issue types

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/185>

4 years agovalidate: Show the exact file line when error out in structure files
Thibault Saunier [Tue, 28 Apr 2020 16:51:21 +0000 (12:51 -0400)]
validate: Show the exact file line when error out in structure files

And minor stdout enhancements

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/185>

4 years agovalidate:launcher: Mark some more tests as too long for valgrind
Thibault Saunier [Wed, 29 Apr 2020 01:30:29 +0000 (21:30 -0400)]
validate:launcher: Mark some more tests as too long for valgrind