Philippe Normand
3351807107
validate/launcher: Ensure the HTTP server is started when a pipeline needs it
...
Pipelines declared in gst-integration-testsuites can rely on the validate HTTP
server, so when an URI pointing to it is detected, advertise the server as
needed before starting the test.
For this to work the test scenario should explicitely declare the pipeline uri,
as shown in this example:
"some_playbin3":
{
"pipeline": "playbin3 uri=%(uri)s video-sink=%(videosink)s",
"config": [
"%(validateflow)s, pad=sink:sink"
],
"scenarios": ["play_15s"],
"uri": "http://127.0.0.1:%(http-server-port)s/defaults/html/foo.html "
}
2019-08-21 08:37:38 +01:00
Thibault Saunier
8e01e03364
validate:launcher: Allow passing any extra_data in json test definition
...
This means that we can now pass any extra key that `populate_tests`
expects, meaning any key expected by FakeMediaDescriptor and
a few other keys supported by the methods such as
`expected-issues` and `extra_env_vars`
2019-08-20 13:55:52 +00:00
Thibault Saunier
556bc0bb4f
launcher: Raise an exception when provided scenario can't be found
2019-08-19 10:33:20 +00:00
Aaron Boxer
e1129d2516
validate: add missing G_BEGIN/END_DECLS in validate.h
2019-08-03 20:09:32 -04:00
Mathieu Duponchelle
5a068bff72
validate: Update blacklisting reason for fast forward rtsp
...
While https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/14
was merged, the client side (in particular rtpbasedepayload) still
isn't expected to work appropriately
2019-08-01 21:04:12 +02:00
Tim-Philipp Müller
d8d35241fe
validate: fix build with older GLib versions
...
g_enum_to_string() is only available in newer ones.
Add compatibility workaround for the time being to decouple
this from the decision whether to bump the GLib requirement
and what to bump it to.
https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/199
Fixes #45
2019-07-29 10:08:51 +01:00
Mathieu Duponchelle
7c255a9015
scenario: fix PAUSED position check
...
The way this was implemented was simply wrong, first of all checking
the position against the segment after a seek in PAUSED by a query
of the pipeline position is of limited interest, and can only work
in forward playback.
Furthermore the check was a huge blob of code that didn't even look
like it was pretending to do a good job at checking the position in
reverse playback.
2019-07-26 02:34:55 +02:00
Mathieu Duponchelle
93114b55ab
json tests: assume all user pipelines can seek reverse
...
When doing a targeted test, it is up to the user to make sure
their pipeline + scenario behaves correctly.
2019-07-26 02:26:20 +02:00
Thibault Saunier
ba4275ad00
validate:launcher: Pass the right timeout_factor is passed to subprojects
2019-07-08 23:37:31 -04:00
Thibault Saunier
aea1082116
scenario: Do not dereference NULL pointer
2019-07-08 23:36:52 -04:00
Thibault Saunier
8498861a28
validate:pipeline-monitor: Connect deep properties notification only when required
...
This is quite expensive and can lead to an overwhelm mainloop.
2019-07-03 15:42:32 -04:00
Thibault Saunier
258453a169
validate:scenario: Keep a reference to 'description' structure
...
For it to be reusable outside the scenario
2019-06-28 17:34:23 -04:00
Thibault Saunier
91728c6170
scenario: Use internal sinks when a sink bin can be used to check last-sample
2019-06-26 12:09:03 -04:00
Thibault Saunier
c28c0b5f98
validate:flow: Log buffers even when tracking srcpads
2019-06-26 12:09:03 -04:00
Thibault Saunier
3343f166da
validate:launcher: Move get_fakesink_for_media_type to utils
...
So it can be reused in other apps like GES
2019-06-26 12:09:03 -04:00
Thibault Saunier
1e1797ee3a
validate: Also monitor ghost pads
...
Allowing overrides to work on ghost pads too
2019-06-26 12:09:03 -04:00
Thibault Saunier
25a7173b22
validateflow: Add buffers-checksum
option to log buffers data checksum
2019-06-26 12:09:03 -04:00
Thibault Saunier
ade8ba3fcb
validate: Add SCENARIO_NAME and CONFIG_NAME vars in configs/scenarios
2019-06-26 12:09:03 -04:00
Thibault Saunier
7d471ee25e
validate: Set 'LOGSDIR' variable in scenarios and config files
...
Implementing support for variables in config files.
2019-06-23 03:10:34 -04:00
Thibault Saunier
b11c5ba185
scenario: Set SCENARIO_PATH/DIR
variables in scenarios
...
And add some documentation about it
2019-06-23 01:54:26 -04:00
Thibault Saunier
0e0928b0b7
scenario: Add a TMPDIR
global variables in scenarios
...
This also adds the notion of global variables which will be useable
in config files too.
And add some documentation about default variables in scenarios
2019-06-23 01:34:41 -04:00
Thibault Saunier
db487b2732
docs: Update validate action types
...
Include minor fixes in the action types and markdown generator
2019-06-18 18:15:30 -04:00
Thibault Saunier
5b52c38b85
validate: Misc leaks plugging
2019-06-18 18:13:03 -04:00
Thibault Saunier
a994dd0ca8
validate:launcher: Strip env vars in command line outputing verbose
...
But activate if activating verbosity more than once
2019-06-18 18:13:03 -04:00
Thibault Saunier
314fd2b6de
validate:reporter: Show report by branches when doing smart reporting
...
Meaning that instead of getting 1 "Detected on" line per monitor,
there will be one per "branch" like:
Detected on <audioconvert1:sink, audioconvert1:src, audioresample1:sink, audioresample1:src, smart-adder-adder:sink_0, smart-adder-adder:src, smart-adder-capsfilter:sink, smart-adder-capsfilter:src, capsfilter2:sink, capsfilter2:src, tee1:sink, tee1:src_0>
Making it simpler to read and a bit less verbose.
2019-06-11 22:35:15 +00:00
Thibault Saunier
010e18862f
validate:launcher: Avoid repeating failure info in summaries
2019-06-11 21:03:56 +00:00
Thibault Saunier
0a6c7c64a9
validate:scenario: Move force-key-unit action from the transcoding tool
...
The action is generally useful but was implemented in a way that
was restricting its usage for no good reason. Refactor the
implementation adding more argument so it can be used in a wider
context, such as uvch264src.
Something like:
``` bash
echo "video-request-key-unit, direction=upstream, all-header=true, count=1, target-element-factory-name=h264parse, srcpad=src, playback-time=1.0" > tmp.scenario && \
echo "stop,playback-time=2.0" >> tmp.scenario && \
gst-validate-1.0 --set-scenario=tmp.scenario uvch264src \
device=/dev/video0 name=src iframe-period=33 auto-start=true src.vfsrc ! queue ! fakesink \
src.vidsrc ! queue ! video/x-h264,width=1280,height=720,framerate=30/1 ! h264parse ! fakesink
```
works now.
2019-06-11 21:03:56 +00:00
Thibault Saunier
05f1c6e1b1
validate:scenario: Minor documentation cleanup
2019-06-11 21:03:56 +00:00
Thibault Saunier
f27e98caee
validate:pipeline-monitor: Avoid wrong position issue
...
If the reported position or duration is NONE, do not check its
validity
2019-06-11 21:03:56 +00:00
Thibault Saunier
3ca0b7123e
validate: Implement seeking with DEFAULT format
2019-05-27 14:36:28 +00:00
Thibault Saunier
6e9b2c35ce
ssim: Report critical issue when override not attached
2019-05-23 11:52:00 -04:00
Thibault Saunier
1e2bf1c841
ssim: Fix the way we handle when an override is attached
2019-05-23 11:35:28 -04:00
Thibault Saunier
85282e53ca
docs: Fix docstrings
2019-05-13 17:00:00 -04:00
Thibault Saunier
7161b21334
validate:launcher: Do not dump to big log files
...
Avoiding ' The script exceeded the maximum execution time set for the job' in GitLab
2019-05-13 11:37:38 -04:00
Thibault Saunier
67d4a39602
validate: inspect: Output valid markdown
...
So it can be used directly in the documentation Also add a special "all"
argument to `gst-validate-1.0 --inspect-action-type` so we can generate
the documentation for all action types easily.
2019-05-13 11:37:38 -04:00
Thibault Saunier
0a7b23f566
doc: Port to hotdoc
...
Ideally we want a GstValidate hotdoc plugin... not for now.
2019-05-13 11:37:38 -04:00
Thibault Saunier
8754d0520f
meson: Use dep.type_name() when it makes sense
2019-05-13 11:37:38 -04:00
Thibault Saunier
040b71a3d9
doc: Minor fixes
2019-05-13 11:37:38 -04:00
Tim-Philipp Müller
22e179cbc1
launcher: testsuites: skip systemclock stress tests
...
These are very flaky when the build bots are under load.
2019-05-04 21:00:33 +00:00
Tim-Philipp Müller
751a6d756c
validate: fix build on macOS
...
_Q_VALIDATE_MONITOR was defined twice because it wasn't declared
as extern in the header, so it would be defined as variable in all
included files. This doesn't seem to cause problems on Linux, but
seems to cause build failures on macOS.
Fixes #42
2019-05-04 19:54:16 +01:00
Tim-Philipp Müller
a1881d4dc2
Back to development
2019-04-19 10:42:30 +01:00
Tim-Philipp Müller
477d1e7d4a
Release 1.16.0
2019-04-19 00:36:54 +01:00
Thibault Saunier
0544232d73
validate:check: Mare nle test_simple_operation as long
2019-04-17 18:10:12 -04:00
Thibault Saunier
fe6443090c
validate:check: Fix some mistakes translating regex from gitlab-ci.yml
2019-04-17 18:10:12 -04:00
Thibault Saunier
d60ea5da63
validate:launcher: Set ORC_CODE=backup when running gst unit tests under valgrind
2019-04-17 11:04:45 -04:00
Thibault Saunier
1fb0d73947
validate:check: Blacklist and mark some GES tests as long under valgrind
2019-04-17 10:43:42 -04:00
Thibault Saunier
96f996b66a
validate:testsuites: Add unit tests blacklists
2019-04-17 10:30:02 -04:00
Thibault Saunier
b9cb5db869
validate:launcher: Ignore possibly lost for now
2019-04-17 09:06:55 -04:00
Mathieu Duponchelle
96361bd426
TestsManager: _add_blacklist in set_default_blacklist
...
Otherwise test suites that want to set_default_blacklist and
add tests in setup_tests were seeing their blacklist ignored.
Split up and rename set_blacklists() to complete the refactoring
2019-04-17 02:31:30 +02:00
Mathieu Duponchelle
61d0605852
Check indirect leaks
2019-04-17 02:29:36 +02:00
Thibault Saunier
3fa393c498
validate:launcher: Do not copy logs for non flaky tests
...
That looks weird for users and is incorrect
2019-04-15 16:13:52 -04:00
Thibault Saunier
81b1368237
validate:launcher: Fix printing debug logs URIs
2019-04-15 11:50:16 -04:00
Thibault Saunier
e182272262
validate:launcher: Do not stop tcp server when reiterating tests runs
2019-04-12 12:33:25 -04:00
Thibault Saunier
d709cb54a9
validate:launcher: Associate issues with the bug they come from
...
Making it simpler to follow when print the known issues
2019-04-12 10:13:15 -04:00
Thibault Saunier
81f198f812
validate:launcher: Indent known issues printing
2019-04-12 10:12:45 -04:00
Thibault Saunier
e1625da9ed
validate:launcher: Print the number of times the test was run when --forever
2019-04-11 10:38:46 -04:00
Thibault Saunier
0a56447bcc
validate:launcher: Add python suppression files
2019-04-11 13:17:14 +00:00
Thibault Saunier
d053a07706
validate:launcher: Use md viewer to dump md logs if avalaible
...
And enhance the markdown
See https://github.com/axiros/terminal_markdown_viewer
2019-04-11 13:17:14 +00:00
Thibault Saunier
ebf0844d2c
validate:launcher: Avoid forking when running gstcheck tests in gdb
2019-04-11 13:17:14 +00:00
Thibault Saunier
8639dc528c
validate:launcher: Add an option to output HTML if commonmark is installed
2019-04-11 13:17:14 +00:00
Thibault Saunier
f7517e503c
validate:launcher: Do not user python 3.5 features
2019-04-11 13:17:14 +00:00
Thibault Saunier
1294cb7b9b
validate:launcher: Move all logs to one single log files to be displayed to end user
2019-04-11 13:17:14 +00:00
Thibault Saunier
446f1d8197
validate:launcher: Make extra_logfiles a set and fix their names
2019-04-11 13:17:14 +00:00
Thibault Saunier
2fcdc27c3a
validate:launcher: Remove spurious print
2019-04-11 13:17:14 +00:00
Thibault Saunier
adbbfa1ec1
validate:launcher: Remove noise about empty known issues in logs
2019-04-11 13:17:14 +00:00
Thibault Saunier
148bb081b8
validate:launcher: Fix printing application name in the logs
2019-04-11 13:17:14 +00:00
Tim-Philipp Müller
dd97535391
Release 1.15.90
2019-04-11 01:27:46 +01:00
Tim-Philipp Müller
ad139b1b4f
validate: autotools: dist mock decryptor header file
2019-04-11 01:25:52 +01:00
Tim-Philipp Müller
125277c73a
validate: win32: add new api to export file
2019-04-11 01:02:14 +01:00
Thibault Saunier
787939f750
validate:launcher: Add a list of well known subpression files from gst-build subprojects
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-devtools/issues/38
2019-04-03 13:38:42 +00:00
Thibault Saunier
92f1979ec9
validate: Add a mecanism to rerun failling tests
...
And add a way to mark some 'flakes' as tolerated
2019-04-03 13:38:42 +00:00
Thibault Saunier
520c2102cc
validate:launcher: Reset process on clean
2019-04-03 13:38:42 +00:00
Thibault Saunier
3650e66aec
validate: Print error message details in our reports
2019-04-03 13:38:42 +00:00
Thibault Saunier
e279b1ff56
validate:launcher: Dump applied known issues in the logs
2019-04-03 13:38:42 +00:00
Thibault Saunier
de007b6819
validate:launcher: Put all logs inside the failure node
...
Pleasing gitlab CI reporting system
2019-04-03 13:38:42 +00:00
Thibault Saunier
8da6ecef13
validate:launcher: By default use cpu_count / 2
2019-04-03 13:38:42 +00:00
Thibault Saunier
b0cbae0fa7
validate:launcher: Print name of the test to be debugged
...
When --debug was passed
2019-04-03 13:38:42 +00: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
d8aaf5fdaa
validate:scenario: Allow last-sample to not be set when checking it
...
And instead of failling, wait for it to be set again.
Depends on https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/119
2019-04-03 13:38:42 +00:00
Thibault Saunier
c2c5c68573
validate: Return the GstValidateAction on .ref()
2019-04-03 13:38:42 +00:00
Thibault Saunier
abaa382847
validate: Generate dot files and link to them on CI
2019-04-03 13:38:42 +00:00
Thibault Saunier
01aa026e5a
validate:launcher: Try to send SIGINT before killing processes
...
Giving a chance for validate to print reports
2019-04-03 13:38:42 +00:00
Thibault Saunier
28d413f059
validate:launcher: Add a way to say that a known issues can happen several times
2019-04-03 13:38:42 +00:00
Thibault Saunier
ba69336bf8
validate:launcher: Remove now useless code to check sending EOS brings down the pipeline
...
If we want to make an exception we can use known issues these days
2019-04-03 13:38:42 +00:00
Thibault Saunier
d73e283691
validate:launcher: Be a bit more resilient in GstValidateListener
...
And handle exception decoding received json info
2019-04-03 13:38:42 +00:00
Thibault Saunier
cd19b10d45
validate:scenario: Implement a way to execute an action on message
...
And use it for seek forward and fast forward scenarios
2019-04-03 13:38:42 +00:00
Thibault Saunier
374917b9c4
validate:launcher: Add a way to require a non fatal error when matching a fatal one
2019-04-03 13:38:42 +00:00
Thibault Saunier
f2e180e51f
validate:launcher: Add a way to force coloration
2019-04-03 13:38:42 +00:00
Thibault Saunier
ddb81f29e8
validate:launcher: factor out TTY check and enhance iteration output
2019-04-03 13:38:42 +00:00
Thibault Saunier
48fa4b6c4b
validate:scenario: Clear up last seek on EOS generating a 'stop' action
...
Otherwise there is a race leading to a segfault where ASYNC_DONE is
received *after* generating EOS ourselves:
```
Executing stop (
- generated-after-eos=true
)
<Caught SIGNAL: SIGSEGV>
**Stack trace**:
...
Thread 1 (Thread 0x7f3c3e50df00 (LWP 10183)):
#8 0x00007f3c3f01bea5 in g_cclosure_marshal_generic (closure=<optimized out>, return_gvalue=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gclosure.c:1496
#9 0x00007f3c3f01b3dd in g_closure_invoke (closure=0x1855980, return_value=0x0, n_param_values=2, param_values=0x7ffda2e0a7e0, invocation_hint=0x7ffda2e0a760) at gclosure.c:810
#10 0x00007f3c3f02e983 in signal_emit_unlocked_R (node=node@entry=0x15af670, detail=detail@entry=298, instance=instance@entry=0x171fc80, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffda2e0a7e0) at gsignal.c:3635
#11 0x00007f3c3f037aaa in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffda2e0a9c0) at gsignal.c:3391
[Inferior 1 (process 10183) detached]
```
2019-04-03 13:38:42 +00:00
Thibault Saunier
0a2af1b027
validate:launcher: Add generated known issue list to the logs instead of printing then
2019-04-03 13:38:42 +00:00
Thibault Saunier
c8a3b34a3a
validate:launcher: Add a way to force stdout coloring
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
6a4639352b
validate:launcher: Allow printing log URL on a CI server
2019-04-03 13:38:42 +00:00
Thibault Saunier
06b8f23a34
validate:launcher: Fix getting skip-parser when generating media descriptor
...
On old version it didn't exist
2019-04-03 13:38:42 +00:00
Thibault Saunier
19dfd63408
validate:launcher: Review default for --mute
...
`--mute` is now True by default and added `--unmute` if the user wants
to have visual/audio feedback. It was really annoying to have thousand
of window pop up by default
2019-04-03 13:38:42 +00:00
Thibault Saunier
a77825ecbc
validate:launcher: Allow referencing known issue by exiting signal names
2019-04-03 13:38:42 +00:00
Thibault Saunier
7dbdb84ca8
validate:launcher: Output markdown as much as possible
2019-04-03 13:38:42 +00:00
Thibault Saunier
3a826e1e3d
validate:launcher: Implement bug checks for gitlab
...
And use new gitlab urls for all the bugs
2019-04-03 13:38:42 +00:00
Thibault Saunier
8d00a74f1a
validate:launcher: Enhance and standardize output
2019-04-03 13:38:42 +00:00