Brady J. Garvin
06822b519b
validate:launcher: Support mixed str/bytes control sequences.
...
It is not safe for `_preformat_levels` to assume that all of the fields in a
`TerminalController` have the same type; at least in my environment, some of
these fields are populated with `bytes` while others remain strings.
This change conditionally applies decoding to each control sequence separately
using a helper function `_as_string`. As a side-effect, it also eliminates some
code repetition in `_preformat_levels`.
Closes #50 .
2020-01-05 14:09:07 -06:00
Thibault Saunier
195d3a3edc
validate:launcher: Enhance progress reporting using a progress bar
...
This also allows us to properly report progress on the CI
2019-12-30 16:52:22 +00:00
Thibault Saunier
d543375948
validate:launcher: Take our timeout factor into account for gstcheck
2019-12-30 15:56:02 +00:00
Mathieu Duponchelle
27677d4e10
check: unblacklist removed systemclock tests
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/348
2019-12-23 10:27:11 +01:00
Mathieu Duponchelle
48faa5944b
check: unblacklist gstreamer.pipelines_parse_launch.delayed_link
...
It should not be flaky anymore after
https://gitlab.freedesktop.org/gstreamer/gstreamer/merge_requests/343
2019-12-14 10:45:30 +01:00
Thibault Saunier
1f67876928
validate:launcher: Use python dict for pipeline description
2019-12-10 13:02:16 +00:00
Thibault Saunier
562750213f
validate: launcher: Make encoding extra check use common code path
...
Reusing the reporting infrastructure instead of shurtcuting it
2019-11-20 18:07:48 -03:00
Thibault Saunier
8a6ee4841b
validate: Add vp9 transcoding tests
...
Making sure to encode small frames as vp9enc is slow.
2019-11-20 18:07:47 -03:00
Thibault Saunier
80de180cc7
validate:launcher: Avoid clashes when importing testsuite
...
This introduce an hard dependency on python >= 3.5, same as meson
2019-11-11 18:57:27 -03:00
Jordan Petridis
6b907ba036
check: blacklist gst-plugins-good.elements_splitmux.test_splitmuxsink$
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/626
2019-11-11 14:25:16 +01:00
Stéphane Cerveau
998185acbc
gstvalidate: fix GstValidateRTSPMediaDescriptor typo
2019-11-06 18:21:11 +01:00
Víctor Manuel Jáquez Leal
37a0dbfebf
validate: blacklist gstreamer-vaapi checks
...
They still can be checked by running the tests explicitly.
2019-10-25 12:26:58 +02:00
Tim-Philipp Müller
280321dee1
validate: remove autotools build
2019-10-15 00:24:00 +01:00
Thibault Saunier
2153d82f34
validate:launcher: Fix the 'can-happen-several-times' known issue field
2019-10-02 19:22:31 +00:00
Thibault Saunier
461e479802
validate:launcher: Do not hardcode pathsep
2019-08-28 15:34:31 -04:00
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
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
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
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
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
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
010e18862f
validate:launcher: Avoid repeating failure info in summaries
2019-06-11 21:03:56 +00: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
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
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
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
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
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
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
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
Thibault Saunier
ad28bffa20
validate:launcher: Take into account the timeout when checking EOS
2019-04-03 13:38:42 +00:00
Thibault Saunier
6f9e5d4494
Pass python files through autopep8
2019-04-03 13:38:42 +00:00
Thibault Saunier
091ce6bcfe
validate:launcher: Help the user add known issues
...
And make it clear a bug should be opened about it
2019-04-03 13:38:42 +00:00
Thibault Saunier
b4e96b4f4e
validate:launcher: Enhance dumping log files output
2019-04-03 13:38:42 +00:00
Thibault Saunier
3d5099ee41
validate:launcher: Use gst-integration-testsuites subproject as default testsuite repo if avalaible
2019-04-03 13:38:42 +00:00
Thibault Saunier
6310145a44
validate:launcher: Set CK_MULTIPLIER=10 in GstCheck tests when using valgrind
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-devtools/issues/39
2019-03-22 11:23:08 -03:00
Thibault Saunier
773f2e456c
validate:launcher: Move '_format_config_template' to the utilities
...
So it can be reused by GES tests
2019-03-11 18:14:23 -03:00
Charlie Turner
a443b921a2
validateflow: interpolate folder directories into pipeline descriptions.
...
Allow 'pipeline' fields in validateflow to be interpolated with
directory keys like $(medias)s.
2019-02-21 13:57:17 +00:00
Guillaume Desmottes
da22878a5f
validate: baseclasses: include env variable in logged command
...
We were missing the env variables in the command written to the log
file, making it impossible to re-run the test later from the logs.
2019-02-11 15:17:33 +00:00
Thibault Saunier
3d3264b342
Revert "validate:launcher: Cache the result of meson introspect"
...
This reverts commit 05ce6d3b92
.
We can't do that as it breaks meson logic to set envvars
2019-02-10 01:25:52 -03:00
Thibault Saunier
5a6307f913
validate:launcher: Do not sort tests all the time
...
Do it once only once it is fully populated
2019-02-09 17:25:03 -03:00
Thibault Saunier
05ce6d3b92
validate:launcher: Cache the result of meson introspect
...
Running it takes quite some time and we can easily cache it.
2019-02-09 17:24:13 -03:00
Alicia Boya García
e96f2ca714
New validate plugin: validateflow
...
validateflow can be used to check the buffers and events flowing through
a custom pipeline match an expectation file. This can be used to test
non-regular-playback use cases like demuxers handling adaptive streaming
fragment pushing.
This patch includes also new actions used for these cases:
`appsrc-push`, `appsrc-eos` and `flush` (plus `checkpoint`, which is
only available with validateflow).
2019-02-07 18:19:22 +00:00
Guillaume Desmottes
0c83ff56dd
baseclass: add_validate_config: don't use self.proc_env
...
self.proc_env is created when starting the test but this API can be call
by generator when creating the test.
2019-02-07 17:13:02 +01:00
Thibault Saunier
e8162cc957
validate:launcher: Error out in the check testsuite if rebuilding failed
2019-02-06 21:14:13 +00:00
Mathieu Duponchelle
90c2d32030
Scenarios: override seek flags for RTSP tests
...
Our RTSP server is not accurate, it makes no sense to perform
accuracy checks on the client-side segments.
2019-02-02 02:08:58 +01:00
Thibault Saunier
71d2e3f418
validate: Let people know the testsuite starts running
...
Now that we do not print infos about successful tests when redirecting.
2019-02-01 01:24:33 -03:00
Thibault Saunier
35003bc25b
validate:launcher: Do not print passing tests if not running in a tty
2019-01-31 23:47:11 -03:00
Thibault Saunier
78781de913
validate:launcher:punittest: Raise an exception if a testsuite can't be loaded
2019-01-30 15:57:13 -03:00
Mathieu Duponchelle
d5e3f4d31c
TestsManager: stop displaying blacklisted tests on stdout
...
It's basically spam, better suited to the debug logs
2019-01-30 00:27:32 +00:00
Thibault Saunier
440055214a
validate:launcher: Never print lines larger than the terminal
2019-01-29 16:09:30 -03:00
Jordan Petridis
31164cf0a6
validate: Report the full test name in the xunit file
...
Looks like gitlab prefers this way of representing tests as it
displays only the name field in its junit reports.
Close #32
2019-01-26 16:55:23 +00:00
Thibault Saunier
2551e8750e
validate:launcher: Make baseclasses.py pep8 compliant
2019-01-26 15:54:00 +00:00
Thibault Saunier
9b69bcad08
validate:launcher: Handle launching launching a sub launcher
...
If you use validate-launcher in a meson testsuite, those test now
gets integrated as one unique testsuite (with a pretty long namespace).
2019-01-26 15:54:00 +00:00