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
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
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
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
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
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
Thibault Saunier
ca8cdfd736
validate: Fix mixup in quarks usages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200 >
2020-05-28 17:17:10 -04:00
Thibault Saunier
0f1dffdcc0
validate: Add missing return func when GLib < 2.50
...
CID 1463854
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200 >
2020-05-28 17:17:10 -04:00
Thibault Saunier
012288910b
validate: Update documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200 >
2020-05-28 17:17:10 -04:00
Thibault Saunier
b1cf1ffebd
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 >
2020-05-28 17:17:10 -04:00
Thibault Saunier
3264de6751
scenario: Minor cleanup around pipeline change state management
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/198 >
2020-05-27 19:20:16 +00:00
Thibault Saunier
e1ad840494
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 >
2020-05-27 19:20:16 +00:00
Thibault Saunier
9f11ba5937
validate: Fix loading configs from a caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197 >
2020-05-26 19:16:26 -04:00
Thibault Saunier
cf0f1df314
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 >
2020-05-26 19:16:26 -04:00
Guillaume Desmottes
f78997ec2e
validate: add missing gir annotation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/194 >
2020-05-25 14:42:01 +00:00
Edward Hervey
5e2df60422
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 >
2020-05-22 18:00:04 +02:00
Edward Hervey
8697663d8c
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 >
2020-05-22 17:56:40 +02:00
Thibault Saunier
fa95de073b
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 >
2020-05-15 11:28:10 -04:00
Thibault Saunier
0ffcacf325
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 >
2020-05-11 17:03:49 -04:00
Thibault Saunier
d203f4251b
validate: utils: Do not try to replace vars in debug info fields
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/190 >
2020-05-08 20:21:16 -04:00
Thibault Saunier
dcb719d6cc
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 >
2020-05-08 20:21:16 -04:00
Thibault Saunier
b669bb0327
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 >
2020-05-07 09:36:03 -04:00
Thibault Saunier
da390689c9
validate: Ensure a meta structure is found in test files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/189 >
2020-05-07 00:31:45 -04:00
Thibault Saunier
619efa56a7
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 >
2020-05-07 00:31:45 -04:00
Thibault Saunier
af3006dc12
validate: Plug some leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187 >
2020-05-06 22:54:59 +00:00
Thibault Saunier
bb0d81fd4c
validate: Add details on all g_log message reports.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187 >
2020-05-06 22:54:59 +00:00
Thibault Saunier
b65b2bc2fe
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 >
2020-05-06 22:54:59 +00:00
Thibault Saunier
b1e9e409fd
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 >
2020-05-06 22:54:59 +00:00
Edward Hervey
fb71bf8fab
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 >
2020-04-30 12:40:12 -04:00
Edward Hervey
5dafe4bb64
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 >
2020-04-30 12:40:12 -04:00
Edward Hervey
e05d4ac8f5
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 >
2020-04-30 12:40:12 -04:00
Edward Hervey
854826501c
validate-element-monitor: Detect basesink elements
...
And add a macro
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174 >
2020-04-30 12:40:12 -04:00
Edward Hervey
4080cd9749
validate-scenario: Add logging for scenario lock taking/releasing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174 >
2020-04-30 12:40:12 -04:00
Thibault Saunier
1e8a0dac2a
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 >
2020-04-30 12:40:12 -04:00
Thibault Saunier
ec2a139246
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 >
2020-04-29 10:13:51 -04:00
Thibault Saunier
0e85d15da0
validate: Add an option to describe issue types
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/185 >
2020-04-29 10:13:51 -04:00
Thibault Saunier
66d29a31fd
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 >
2020-04-29 08:33:21 -04:00
Thibault Saunier
640469ce0c
validate: Do not check pulling thread when thread is paused
...
With decodebin3 we have cases where a task has been started in
the `typefind` element but the demuxer is the one pulling (from
its own thread)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/183 >
2020-04-28 10:17:02 -04:00