Commit graph

2645 commits

Author SHA1 Message Date
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
Tim-Philipp Müller
e257374038 Back to development 2020-07-03 02:04:19 +01:00
Tim-Philipp Müller
89bacfa8d0 Release 1.17.2 2020-07-03 00:37:27 +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
Philippe Normand
8f95d72262 debug-viewer: Add screenshot
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/210>
2020-06-20 13:36:50 +00:00
Tim-Philipp Müller
2fb5c189de Back to development 2020-06-20 00:28:39 +01:00
Tim-Philipp Müller
e55f37f64e Release 1.17.1 2020-06-19 19:27:58 +01:00
Vivek R
a2bca5de37 validate: flow: record GstRegionOfInterestMeta
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/206>
2020-06-16 16:23:33 +00:00
Thibault Saunier
f0db9bc907 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>
2020-06-15 18:42:03 -04:00
Thibault Saunier
1f8fec66e0 validate:tests: Cleanup the way set environment vars
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/209>
2020-06-15 18:42:03 -04:00
Thibault Saunier
619fd21174 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>
2020-06-15 18:42:03 -04:00
Thibault Saunier
f5b44d3128 validateflow: Plug leak
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/205>
2020-06-10 17:30:34 -04:00
Thibault Saunier
c7630833df 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>
2020-06-10 17:30:34 -04:00
Thibault Saunier
ec41001c80 scenario: Add an option to set properties on all instances
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/205>
2020-06-10 17:30:33 -04:00
Thibault Saunier
83ebecef5c 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>
2020-06-10 17:30:33 -04:00
Thibault Saunier
3b69b73299 validate: Cleanup implementation of appsrc-push
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/205>
2020-06-10 17:30:33 -04:00
Thibault Saunier
70634b1a3f validate: Remove useless condition
CID 1462652

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192>
2020-06-07 15:47:36 -04:00
Thibault Saunier
eb6c126068 validate:ssim: Avoid dereferencing NULL pointer
CID 1462650

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192>
2020-06-06 06:00:11 +00:00
Thibault Saunier
66972abafc 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>
2020-06-06 06:00:11 +00:00
Thibault Saunier
fdfe797d4e validate:transcoding: Exit after printing the help
Fixes CID 1455575

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192>
2020-06-06 06:00:11 +00:00
Thibault Saunier
f6e45c8c90 validate: Ensure Scenario isn't NULL when preparing action
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192>
2020-06-06 06:00:11 +00:00
Thibault Saunier
7ee3421cad validate: Update documentation now core plugins are integrated
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/204>
2020-06-03 14:29:22 -04:00
Thibault Saunier
88fcc580be 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>
2020-06-03 11:07:15 -04:00
Edward Hervey
2dd165b4ec 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>
2020-06-03 09:39:11 +02:00
Thibault Saunier
124153fe06 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>
2020-05-31 17:17:22 -04:00
Thibault Saunier
6a305b1e23 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>
2020-05-29 21:12:53 -04:00
Thibault Saunier
774a4a8704 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>
2020-05-29 18:16:23 -04:00
Tim-Philipp Müller
cd4836951e Ship validate as part of a gst-devtools tarball
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/199>
2020-05-29 14:30:26 +00:00