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
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
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
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
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
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
bf24fd3d74
validate: Fix multi variable in a single structure field
...
We were keeping using the GMatchInfo even after modifying the string
which is explicitly stated as invalid in the GRegex documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/179 >
2020-04-22 12:47:20 -04:00
Edward Hervey
4f0bfcc7bb
validate: Fix memory leaks
...
Various structures were being leaked.
2019-11-20 10:19:00 +01:00
Tim-Philipp Müller
280321dee1
validate: remove autotools build
2019-10-15 00:24:00 +01:00
Thibault Saunier
8754d0520f
meson: Use dep.type_name() when it makes sense
2019-05-13 11:37:38 -04:00
Thibault Saunier
dcfa084fae
validate:pad-monitor: Accept any return value when we aggregated FLUSHING while tearing down
...
Basically nothing guarantees that the set of pads we aggregated the flow
for is the same as the one that was aggregated during the actual data
flow as some pads could have been removed meanwhile.
2019-04-03 13:38:42 +00:00
Thibault Saunier
ac7efe9500
validate:launcher: Rework expected-issues data format
...
Instead of having the issues centered on the test classes, they
are now focusing on the "bug".
And harmise names on `expected_issue` not `expected_failures`
2019-04-03 13:38:42 +00:00
Thibault Saunier
34b5192b94
validate: report: Fix the way we print 'repeat' values
2019-02-15 14:19:03 +00:00
Thibault Saunier
53b2ca8f62
validate: Force LC_NUMERIC to C as it is required by our expression parser
...
And... add some expression parser unit tests
2019-02-15 14:19:03 +00:00
Thibault Saunier
394242c224
validate:scenario: Enhance variable implementation
...
- Stop arbitrarily consider params as ClockTime based on their names
but add a convetion that the `.type` field of the ActionType should
end by `(GstClockTime)` when it is a clock time.
2019-02-15 14:19:03 +00:00
Thibault Saunier
27f1712671
validate:tests: Fix race in validate_padmonitor.buffer_outside_segment
...
We were using a fakesrc which data flow was potentially breaking the
test.
2019-01-07 00:07:34 +01:00
Thibault Saunier
9843562616
validate:tests: s/discount_buffer/discont_buffer/
2019-01-03 15:27:33 +00:00
Thibault Saunier
26ddc02cef
validate:tests: Fix race in validate_padmonitor.buffer_before_segment
...
We were using a fakesrc which data flow was potentially breaking the
test. Stop using it and remove dead code.
Fixes #34
2019-01-03 15:27:33 +00:00
Nirbheek Chauhan
a86c36b9a9
meson: Add a feature option for tests
...
This autodetection is needed on iOS inside Cerbero where
gstreamer-check-1.0 is not available.
2018-09-01 12:09:32 +05:30
Edward Hervey
58d1d1a0c8
check: Remove dead assignments
2017-07-12 14:46:36 +02:00
Thibault Saunier
58cbc9fbfb
meson: Do not use path separator in test names
...
Avoiding warnings like:
WARNING: Target "elements/audioamplify" has a path separator in its name.
2017-06-07 12:29:17 -04:00
Thibault Saunier
8f123cbc6f
validate: Make accessing Scenario.pipeline thread safe
...
The fact that Scenario.pipeline was not accessible in a thread way lead
to the fact that all users had to take the unref the last pipeline ref
in the main thread, otherwise we were crying. This was an ugly
restriction which lead to issue when using scenario on gst-rtsp-server.
This break the API as this commit remove the GstValidateScenario.pipeline
field but it is worth it.
2017-05-31 14:53:05 -04: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
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
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
79faf44d32
validate: Properly handle proxy pads generating detailed info about NNEs
...
In cases where we had a two consecutive bins with proxy pads, we could
segfault because we were dereferencing a NULL pointer to pad.
2016-11-30 13:58:56 -03:00
Thibault Saunier
ab614e63ae
meson: Modernize the way we set test env variables
...
Removing the now useless getplugindirs script
2016-11-30 13:58:56 -03:00
Nirbheek Chauhan
388f621bd9
Revert "meson: move gstreamer-check-1.0 dependency to validate/tests/check"
...
This reverts commit e8e51bdad4
.
Does not actually work. See:
https://bugzilla.gnome.org/show_bug.cgi?id=773114#c31
2016-10-25 11:48:12 +05:30
Scott D Phillips
e8e51bdad4
meson: move gstreamer-check-1.0 dependency to validate/tests/check
...
https://bugzilla.gnome.org/show_bug.cgi?id=773114
2016-10-21 06:07:08 -03:00
Thibault Saunier
b84d4490f7
meson: Setup pre commit hook and fix getpluginsdir for standalone case
2016-09-30 13:31:16 -03:00
Thibault Saunier
64560aea32
validate: Add support for setting a report level for an issue type
...
Until now we could set report levels to the monitor, this adds support
for setting report level for the issue types too.
2016-09-26 13:36:48 -03:00
Thibault Saunier
9c9fe14293
meson:validate:test: Properly set paths to run launcher based tests
...
Adding a --validate-tools-path option to the launcher, allowing
to pass it from meson.
2016-09-09 12:24:54 -03:00
Thibault Saunier
5dee7c8f47
validate: tests: Add launcher based GstValidate tests
...
First checking the new not negotiated error reporting code.
2016-09-08 13:10:29 -03:00
Thibault Saunier
9089df6d11
validate:meson: Add tests
2016-09-08 10:41:21 -03:00
Guillaume Desmottes
8708215ce5
validate: turn GstValidateReport to a mini object
...
It handles refcounting for us and will enable automatic leak checks when
using the 'leaks' tracer.
Differential Revision: https://phabricator.freedesktop.org/D1233
2016-08-01 10:45:39 -04:00
Thibault Saunier
1de54fcd09
validate: Fix testsuite after additional check for buffer DISCONT flag
2016-07-29 14:34:17 -04:00
Vineeth T M
5d503c9271
validate: use new gst_element_class_add_static_pad_template()
...
https://bugzilla.gnome.org/show_bug.cgi?id=763197
2016-03-24 14:52:07 +02:00
Thibault Saunier
3657e7867f
validate: Namespace all our structures and objects
...
Making GI a bit happier.
Those are not stable API anyway...
Differential Revision: https://phabricator.freedesktop.org/D704
2016-02-23 11:46:58 +01:00
Thibault Saunier
8c760b0a0e
validate: Turn GstValidateRunner into a GstTracer
...
This way we do not need the LD_PRELOAD hack anymore
Add a new libgstvalidateplugin GStreamer plugin, making sure it shares
the exact same code as the library (exposing only the wanted symbols).
Fix the way we set where to install GstValidate plugins
Try to keep backward compatibility even if tracers should never be instantiated
after an GstElement has been instantiated.
Differential Revision: https://phabricator.freedesktop.org/D459
2016-02-23 11:46:32 +01:00
Thibault Saunier
633fddbb66
validate: Fix testsuite
...
Use fake elements instead of real ones in our tests so that
we control exactly the number of issues generated.
Until now we were trying to hide extra issues with a probe dropping
events and buffers but since 2dfa548f36
"pad: Append hooks instead of prepending to call them in the order they were added"
in core, hidding will not work.
2016-01-21 11:21:01 +01:00
Olivier Crête
5ce8ab213e
pad-monitor: Check that an ERROR GstMessage has been posted on GST_FLOW_ERROR
...
Summary:
Before returning GST_FLOW_ERROR, an element must post an ERROR GstMessage,
enforce that.
Reviewers: thiblahute, Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D201
2015-06-03 11:43:12 -04:00
Guillaume Desmottes
92fa2b5681
validate: add gst_validate_deinit()
...
Reviewers: thiblahute
Differential Revision: http://phabricator.freedesktop.org/D159
2015-05-11 21:55:24 +02:00
Mathieu Duponchelle
ac1c1aec7c
validate: Test buffer outside of received range.
...
Summary: As part of the preparation for a port to tracer.
Test Plan: This is a test, we won't test tests
Reviewers: tsaunier
Differential Revision: http://internal.opencreed.com:8888/D19
2015-02-19 12:19:46 +01:00
Mathieu Duponchelle
89048ad862
validate: tests more issues with caps.
...
https://bugzilla.gnome.org/show_bug.cgi?id=743387
2015-01-26 18:08:47 +01:00
Mathieu Duponchelle
bf2c949aee
validate: Add a test case for caps missing field.
...
+ Make the fake decoder have video/x-raw caps.
https://bugzilla.gnome.org/show_bug.cgi?id=743387
2015-01-26 18:08:47 +01:00
Mathieu Duponchelle
887349167b
validate: prepare tests for port to tracers backend.
...
https://bugzilla.gnome.org/show_bug.cgi?id=743387
2015-01-26 18:08:47 +01:00
Thibault Saunier
0c48665458
validate: tests: disable g_log handler
...
It messes up our own failures counter
And pass test-utils into gst-indent
2014-12-09 10:11:02 +01:00