Thibault Saunier [Sat, 26 Jan 2019 01:13:28 +0000 (22:13 -0300)]
validate:launcher: Refactor the "main" function
- Move the parser code into a `LauncherConfig.create_parser()` method
- Remove the need to pass libsdir to the _TestsLauncher object
- Extract out a `setup_launcher_from_args` function
Thibault Saunier [Sat, 26 Jan 2019 01:09:30 +0000 (22:09 -0300)]
launcher: Move http serveur and xvfb server to the main test runner object
No good reason for it to be in the main function
Thibault Saunier [Sat, 26 Jan 2019 01:06:14 +0000 (22:06 -0300)]
launcher: Cleanup the way we find python test command line
By setting it before the test base class adds the current testsuite name in the classname
Thibault Saunier [Sat, 26 Jan 2019 01:03:57 +0000 (22:03 -0300)]
launcher: Fix test listing in meson VS gstcheck tests
You might select tests that match Meson but not gstcheck in which
case the 'meson only' variant is exposed but those should never exist.
Thibault Saunier [Sat, 26 Jan 2019 12:19:35 +0000 (09:19 -0300)]
validate:launcher: Add `%(config_path)s` in the pipeline desc vars
When defining pipelines_descriptions to run test on in a `.json` file, you might
need to point to paths in the testsuite directory (for media files URIs
for example), you can now do
`"pipeline": "filesrc location="$(config_path)s/../medias/some/file.mkv...`
Tim-Philipp Müller [Thu, 17 Jan 2019 10:01:50 +0000 (10:01 +0000)]
Release 1.15.1
Tim-Philipp Müller [Thu, 17 Jan 2019 09:58:47 +0000 (09:58 +0000)]
Fix distcheck
Work around broken disthook check in release.mak so we don't
have to update the common submodules for that (applies only
to this module because the version number is in the top-level
meson.build but the package/dist directory is a subdir). This
only became a problem now because the common submodule hadn't
been updated for the last few years.
Tim-Philipp Müller [Thu, 17 Jan 2019 09:38:13 +0000 (09:38 +0000)]
win32: update .def file for new API
Fixes distcheck
Thibault Saunier [Tue, 15 Jan 2019 19:52:24 +0000 (16:52 -0300)]
validate:launcher: Display unix nickname of signals leading to test failure
Thibault Saunier [Tue, 15 Jan 2019 19:05:41 +0000 (16:05 -0300)]
validate:launcher: Fix error message about 'crashed' test
Alicia Boya García [Mon, 14 Jan 2019 21:55:35 +0000 (22:55 +0100)]
pre-commit-python: Allow line breaks between binary operators
pre-commit-python overrides the list of ignored Python style errors.
Unfortunately, before this patch the list did not exclude W503 and
W504 (which are otherwise ignored by default).
The consequence of having those two warnings enabled at the same time is
that it's not possible to break lines on binary operators, which is an
unreasonable unintentional restriction:
'validateflow': "validateflow, expectations-dir=\"" +
expectations_dir + "\", actual-results-dir=\"" +
actual_results_dir + "\"",
W504 line break after binary operator
'validateflow': "validateflow, expectations-dir=\""
+ expectations_dir + "\", actual-results-dir=\""
+ actual_results_dir + "\"",
W503 line break before binary operator
This patch excludes W503 so that there is a valid style for breaking
lines on binary operators.
Thibault Saunier [Sat, 12 Jan 2019 18:25:53 +0000 (15:25 -0300)]
validate: Plug newly introduced leak
Thibault Saunier [Sat, 12 Jan 2019 12:59:12 +0000 (09:59 -0300)]
validate: Use filename instead of full path in dotfiles names
Thibault Saunier [Sun, 6 Jan 2019 23:06:30 +0000 (00:06 +0100)]
validate:tests: Fix race in `validate_padmonitor.buffer_outside_segment`
We were using a fakesrc which data flow was potentially breaking the
test.
Thibault Saunier [Sun, 6 Jan 2019 23:05:50 +0000 (00:05 +0100)]
validate: Lower a ERROR message to INFO
This behaviour is totally valid when running unit tests
Thibault Saunier [Thu, 3 Jan 2019 13:15:16 +0000 (14:15 +0100)]
validate:tests: s/discount_buffer/discont_buffer/
Thibault Saunier [Thu, 3 Jan 2019 11:09:09 +0000 (12:09 +0100)]
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
Guillaume Desmottes [Mon, 17 Dec 2018 09:34:43 +0000 (10:34 +0100)]
validate: fix crash if timeout when media_descriptor is None
Some tests may not have any media_descriptor. If those were failing to
shutdown after EOS we were calling get_protocol() on None.
Alexandru Băluț [Fri, 14 Dec 2018 11:00:18 +0000 (12:00 +0100)]
validate:launcher: Fix error message
Alexandru Băluț [Fri, 14 Dec 2018 10:17:41 +0000 (11:17 +0100)]
validate:launcher: Fix discovery of commands
Matthew Waters [Mon, 10 Dec 2018 02:25:58 +0000 (13:25 +1100)]
gst: allow building static libraries for e.g. Android/iOS
Nirbheek Chauhan [Sun, 9 Dec 2018 12:25:37 +0000 (17:55 +0530)]
meson: Fix build on {cross-,}win{32,64}
We use visual studio module definitions for the list of symbols to
export when targetting Windows. Fixes CI failure:
../validate/tools/gst-validate.c:460: undefined reference to `gst_validate_spin_on_fault_signals'
Thibault Saunier [Fri, 7 Dec 2018 12:05:09 +0000 (09:05 -0300)]
validate:launcher: Do not CK_FORK on our test
Otherwise the process can't cleanly quit on assertion because of the way libcheck runner is implemented
Thibault Saunier [Fri, 7 Dec 2018 12:03:24 +0000 (09:03 -0300)]
validate: launcher: Add a way to retrieve trace without coredumpctl
Simply spnning on segfaults (like gst-launch) and catch that in
the launcher to transform the timeout into a segfault and grab a gdb
backtrace
Thibault Saunier [Fri, 7 Dec 2018 02:17:29 +0000 (23:17 -0300)]
validate:launcher: Do not take CK_DEFAULT_TIMEOUT into account to set the timeout
The timeout is what is set in the meson build definition otherwise we will not behave as 'meson test' which we should avoid
Thibault Saunier [Thu, 6 Dec 2018 18:35:18 +0000 (15:35 -0300)]
validate:launcher: Make failure as <failure> in our xunit reporter
I think it was a mistake to call them <error> as the two notions are
different (we marked failed test as "failures" in the <testuite> node).
Should make gitlab happy with our file!
Sebastian Dröge [Thu, 6 Dec 2018 09:53:10 +0000 (11:53 +0200)]
Automatic update of common submodule
From eb6a86e to 59cb678
Thibault Saunier [Fri, 30 Nov 2018 13:59:51 +0000 (10:59 -0300)]
validate:launcher: Add a GST_VALIDATE_LAUNCHER_MAIN_DIR env variable
This is generally usefull so we do not have to pass -M every time we launch the launcher
And it adds support for nesting launcher calls always respecting the provided main directory
+ Fix some new pep8 errors
Thibault Saunier [Wed, 28 Nov 2018 13:14:35 +0000 (10:14 -0300)]
validate:launcher: Don't about unexisting tests when filtering tests
It was wrong
Thibault Saunier [Wed, 28 Nov 2018 13:11:00 +0000 (10:11 -0300)]
validate:launcher: Fix setting meson tests as "parallel"
Thibault Saunier [Mon, 26 Nov 2018 13:13:22 +0000 (10:13 -0300)]
validate:launcher: Avoid using not yet set variables
And make the file pep8 compliant with latest pep8 checker.
Thibault Saunier [Sun, 25 Nov 2018 14:36:06 +0000 (11:36 -0300)]
validate: launcher: Add a way to load pipeline tests from a scenario
Thibault Saunier [Fri, 23 Nov 2018 00:06:36 +0000 (21:06 -0300)]
validate: Update default testsuite git repository
Thibault Saunier [Sat, 17 Nov 2018 12:48:41 +0000 (09:48 -0300)]
validate: Enhance printing actions with fields
If you have maby field, printed actions where unreadable, clean that
up by adding new lines.
Thibault Saunier [Sat, 17 Nov 2018 12:09:34 +0000 (09:09 -0300)]
validate:scenario: Add an action to 'include' another scenario
This is particularly useful for scenario that define constants
that are used to check video frame checksum for example, we can
now have one single 'scenario' file that defines consts for the
checksum of the frames, and those can be reused everywhere.
Thibault Saunier [Sun, 28 Oct 2018 15:21:38 +0000 (15:21 +0000)]
validate:override: Notify override object when they get attached
Alicia Boya García [Mon, 29 Oct 2018 15:37:11 +0000 (15:37 +0000)]
validate: fix bug monitor subscriptions on pads by name
gst_validate_override_register_by_name() was not working when using a
pad name because by the time gst_validate_pad_monitor_do_setup()
was called to set the name of the monitor it was too late for overrides
to have any effect.
Patch written by Thibault.
Jordan Petridis [Mon, 12 Nov 2018 11:14:42 +0000 (13:14 +0200)]
Add Gitlab CI configuration
This commit adds a .gitlab-ci.yml file, which uses a feature
to fetch the config from a centralized repository. The intent is
to have all the gstreamer modules use the same configuration.
The configuration is currently hosted at the gst-ci repository
under the gitlab/ci_template.yml path.
Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
Matthew Waters [Mon, 5 Nov 2018 05:54:43 +0000 (05:54 +0000)]
Update git locations to gitlab
Thibault Saunier [Sun, 28 Oct 2018 14:54:47 +0000 (14:54 +0000)]
validate: Allow connecting reporters by name for overrides
Using the element that owns the pad on which we are connecting
was not making sense.
Philippe Normand [Sun, 28 Oct 2018 11:03:54 +0000 (11:03 +0000)]
debug-viewer: Python3 port follow-up
One print statement wasn't ported to Python3.
Xavier Claessens [Sat, 27 Oct 2018 13:01:53 +0000 (09:01 -0400)]
meson: add option to disable translation
https://bugzilla.gnome.org/show_bug.cgi?id=797342
Wonchul Lee [Wed, 19 Sep 2018 02:50:09 +0000 (11:50 +0900)]
validate: Update for g_type_class_add_private() deprecation in recent GLib
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
Thibault Saunier [Sat, 8 Sep 2018 22:24:41 +0000 (19:24 -0300)]
Update for g_type_class_add_private() deprecation in recent GLib
Thibault Saunier [Sat, 8 Sep 2018 14:12:32 +0000 (11:12 -0300)]
launcher:scenario: Fix the way we compute scenario path/name when paths supplied
We were just iterating over the list without any check and could end
up with a patch that was not corresponding to the actual scenario.
Thibault Saunier [Fri, 7 Sep 2018 18:59:49 +0000 (15:59 -0300)]
validate:launcher: Just wait for a while before considering Xvfb is ready if xset is not present
This is what xvfb-run so let's consider it good enough
Thibault Saunier [Thu, 2 Aug 2018 01:05:32 +0000 (21:05 -0400)]
validate:launcher: Use fakevideosink everywhere it makes sense.
Nirbheek Chauhan [Thu, 6 Sep 2018 11:59:24 +0000 (17:29 +0530)]
validate: Export the plugin symbol correctly
Otherwise it doesn't get correctly exported when building with MSVC
Nirbheek Chauhan [Sat, 1 Sep 2018 06:39:32 +0000 (12:09 +0530)]
meson: Add a feature option for tests
This autodetection is needed on iOS inside Cerbero where
gstreamer-check-1.0 is not available.
Nirbheek Chauhan [Fri, 31 Aug 2018 09:51:05 +0000 (15:21 +0530)]
meson: gst_version_* are ints, convert them early
Fixes error reported by ceyusa:
gst-devtools/meson.build:23:0: ERROR: Multiplication works only with integers.
Nirbheek Chauhan [Fri, 31 Aug 2018 09:22:04 +0000 (14:52 +0530)]
meson: Maintain macOS ABI through dylib versioning
Requires Meson 0.48, but the feature will be ignored on older versions
so it's safe to add it without bumping the requirement.
Documentation:
https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
Nirbheek Chauhan [Tue, 31 Jul 2018 17:59:57 +0000 (23:29 +0530)]
meson: Build gstvalidate-default-overrides-1.0
Needed by Cerbero.
Alicia Boya García [Mon, 30 Jul 2018 19:36:48 +0000 (21:36 +0200)]
gst-validate-launcher: Print copypaste-friendlier commands
This patch removes the quotes surrounding the command shown by
gst-validate to reproduce the issues -- which were troublesome when
copying and pasting.
It also introduces escaping for the arguments, so that the command line
can be copied and pasted in the terminal without further changes.
https://bugzilla.gnome.org/show_bug.cgi?id=796897
Nirbheek Chauhan [Wed, 25 Jul 2018 11:57:03 +0000 (17:27 +0530)]
meson: Convert common options to feature options
The rest will be converted later, these are necessary for gst-build to
set options correctly.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
Thibault Saunier [Sat, 14 Jul 2018 19:55:34 +0000 (15:55 -0400)]
validate:scenario: Add an action type to validate last sample checksum
Thibault Saunier [Fri, 20 Jul 2018 02:00:17 +0000 (22:00 -0400)]
validate: launcher: Print some ERROR log when inspecting scenario fails
Thibault Saunier [Thu, 19 Jul 2018 22:27:32 +0000 (18:27 -0400)]
validate:scenario: Add a way to define constants to be used in actions
Allowing writing simpler to read scenarios.
Thibault Saunier [Sat, 14 Jul 2018 12:27:05 +0000 (08:27 -0400)]
validate:scenario: Add a way to set rank on all features of a plugin
You often want to make sure that elements from a particular plugins
are always/never plugged, `set-rank,name=plugin-name,rank=XXX` allows
you to simply do that.
Thibault Saunier [Thu, 12 Jul 2018 23:13:09 +0000 (19:13 -0400)]
validate:launcher: Minor output string message
Edward Hervey [Tue, 10 Jul 2018 11:16:36 +0000 (13:16 +0200)]
validate: Use 'skipped' keyword in xunit xml
It was always meant to be 'skipped' to be 100% compatible with xunit
xsl.
Makes jenkins happy again
Thibault Saunier [Sun, 8 Jul 2018 21:02:59 +0000 (17:02 -0400)]
validate:launcher: Stop spamming envvars in unit tests command printing.
We used to print the whole environment, making it ugly and hard to
read.
Thibault Saunier [Sun, 1 Jul 2018 15:32:10 +0000 (11:32 -0400)]
validate:launcher: Allow retrieving coredumps from within flatpak
Edward Hervey [Tue, 19 Jun 2018 05:12:20 +0000 (07:12 +0200)]
pad-monitor: Reset stream-related variables when deactivating
Any local variable related to the stream should be resetted
when the pad is deactivated
Avoids weird issues when elements are re-used (and pads are deactivated
and reactivated).
Thibault Saunier [Sun, 17 Jun 2018 12:34:09 +0000 (08:34 -0400)]
validate:launcher: Fix the --forever switch
It was not stopping on error.
https://bugzilla.gnome.org/show_bug.cgi?id=796608
Thibault Saunier [Fri, 15 Jun 2018 21:52:47 +0000 (17:52 -0400)]
validate: Update .def
Thibault Saunier [Fri, 15 Jun 2018 20:42:32 +0000 (16:42 -0400)]
validate:launcher: Add a TestManager to run python tests
Add a stupid simple testsuite made to be configured from the outside
Thibault Saunier [Fri, 15 Jun 2018 19:01:32 +0000 (15:01 -0400)]
validate: Fix mixup in variable check
Thibault Saunier [Fri, 15 Jun 2018 14:25:33 +0000 (10:25 -0400)]
meson: Rename the gtkdoc option to gtk_doc
This is what other modules use
Thibault Saunier [Thu, 24 May 2018 12:41:27 +0000 (14:41 +0200)]
validate: media-check: Avoid spamming the MediaInfo file on stdout
Thibault Saunier [Wed, 23 May 2018 15:57:23 +0000 (17:57 +0200)]
validate: launcher: Add support for running tests with a pushfile source
Introducing the `.media_info.push` media info extension, which is meant
to let the launcher know that those file should run with the "pushfile://"
protocol.
And allow symlinking "normal" `.media_info` to their `.pushfile` variant
so that both can share the exact same content.
Thibault Saunier [Fri, 25 May 2018 13:35:10 +0000 (15:35 +0200)]
validate: media-check: Add a way to skip pluggin parsers
This is useful when you want to check only the demuxer output.
- Keep the information in the media file so that we can launch media-check
with the proper arguments in the launcher. Update it accordingly.
- Refactor compare_streams to simplify it, which in the end leads to
reporting all the issues instead of exiting on the first one.
Thibault Saunier [Tue, 22 May 2018 23:11:32 +0000 (01:11 +0200)]
validate: media-descriptor: Add a way to specify when a field value is unknown
And this way is to set the attribute to... `unknown`
Thibault Saunier [Tue, 22 May 2018 17:43:01 +0000 (19:43 +0200)]
validate: media-check: Also check that segments are correct
Philippe Normand [Thu, 14 Jun 2018 17:01:54 +0000 (18:01 +0100)]
debug-viewer: Fix reload file action.
Copy the log file only we're loading a file different from the previous file.
The previous version of this code was broken because the existing tmpfile was
removed from disk before being copied to a new temporary file.
Edward Hervey [Tue, 5 Jun 2018 14:38:10 +0000 (16:38 +0200)]
validate/media-descriptor: Fix indentation
Edward Hervey [Tue, 5 Jun 2018 14:36:24 +0000 (16:36 +0200)]
validate: Add a new issue to detect invalid event seqnum
Events should always have a valid seqnum. Add a new issue which
allows detecting such events. And use that check in the
pad monitor
Edward Hervey [Tue, 5 Jun 2018 14:25:46 +0000 (16:25 +0200)]
validate: Update all gitignore
Alicia Boya García [Fri, 25 May 2018 10:03:46 +0000 (12:03 +0200)]
gst-validate-launcher: let gdb handle SIGINT itself
Otherwise both gdb and gst-validate-launcher will react to ^C at the
same time, gdb will be killed by SIGHUP (because gst-validate-launcher
quitted in consequence of the ^C) and the terminal state will be left
garbled because readline inside gdb had disabled echo.
https://bugzilla.gnome.org/show_bug.cgi?id=796396
Alicia Boya García [Fri, 25 May 2018 10:06:22 +0000 (12:06 +0200)]
gst-validate-launcher: disable timeouts when debugging in gdb interactively
An interactive debugging session can be going for a long time, we don't
want any timeouts in that case.
https://bugzilla.gnome.org/show_bug.cgi?id=796397
Alicia Boya García [Thu, 24 May 2018 16:25:59 +0000 (18:25 +0200)]
gst-validate-launcher: Stop in --gdb by default, add --gdb-non-stop
This patch modifies the default behavior of --gdb to not run and quit
automatically the test, but rather wait for user input. This is
usually much more convenient to debug all kinds of bugs.
The automatic run behavior has been moved to a new command switch:
--gdb-non-stop
https://bugzilla.gnome.org/show_bug.cgi?id=796389
Thibault Saunier [Fri, 18 May 2018 15:50:18 +0000 (11:50 -0400)]
validate: Error out if gst_parse_launch sets an error.
https://bugzilla.gnome.org/show_bug.cgi?id=796240
Thibault Saunier [Tue, 15 May 2018 18:40:45 +0000 (14:40 -0400)]
validate:launcher: Error out loudly if the testlist changes
When --fail-on-testlist-change is set.
Thibault Saunier [Tue, 15 May 2018 18:35:30 +0000 (14:35 -0400)]
validate:launcher: Do not print time spent if the testsuite never started
Thibault Saunier [Sat, 28 Apr 2018 08:15:17 +0000 (10:15 +0200)]
validate: launcher: Make sure testsuites are used/configured once only
Thibault Saunier [Sun, 13 May 2018 20:30:25 +0000 (16:30 -0400)]
validate:launcher: Add a way to check if a gst feature is present
And make sure iqa is present to run IQA tests.
Thibault Saunier [Thu, 3 May 2018 09:27:31 +0000 (11:27 +0200)]
validate:launcher: Cleanup the way we find where -validate tools are
Thibault Saunier [Sat, 21 Apr 2018 02:57:32 +0000 (23:57 -0300)]
validate: launcher: Add a way to simply run SSIM checks on rendered files
We will run a simple pipeline with the IQA element to run ssim (dssim)
tests on the rendered files, comparing it with a reference file.
For now we use the very empiric 1.0 value as a ssim error threshold and
the goal is basically to detect completely broken renderings.
Thibault Saunier [Fri, 20 Apr 2018 01:13:29 +0000 (22:13 -0300)]
validate: Add support for the new testbin protocol
Thibault Saunier [Fri, 20 Apr 2018 01:13:03 +0000 (22:13 -0300)]
debug-viewer: Ignore broken utf8 errors
Not much we can do if the input file is not perfectly valid UTF8
but we should just do as good as we can.
Philippe Normand [Sun, 13 May 2018 12:02:11 +0000 (13:02 +0100)]
debug-viewer: MEMDUMP debug level support
Edward Hervey [Mon, 7 May 2018 15:30:13 +0000 (17:30 +0200)]
validate: Remove hls.*seek_with_stop blacklisting
The issue is closed upstream (because of concentrating on decodebin3
instead), and initial forever testing seems to show the issue doesn't
happen anymore
Nirbheek Chauhan [Sat, 5 May 2018 14:25:14 +0000 (19:55 +0530)]
meson: Update option names to omit disable_ prefixes
Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually.
Thibault Saunier [Fri, 27 Apr 2018 15:32:38 +0000 (17:32 +0200)]
validate: pipeline: Handle the case where a pad has no monitor
We do not monitor ghost pads, only real pads, so this is a totally
legitimate case.
https://bugzilla.gnome.org/show_bug.cgi?id=792536
Kai Kang [Wed, 25 Apr 2018 02:57:14 +0000 (10:57 +0800)]
validate: fix out of source tree build error
It fails to generate gst-validate-enum-types.h and gst-validate-enum-types.c
when build out of source tree. Add the path for template files.
https://bugzilla.gnome.org/show_bug.cgi?id=795531
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Thibault Saunier [Thu, 19 Apr 2018 17:26:23 +0000 (14:26 -0300)]
debug-viewer: Fix raising unhandled exception
Old code was uselessly complex
Thibault Saunier [Thu, 19 Apr 2018 11:44:50 +0000 (08:44 -0300)]
debug-viewer: Fix stacktrace after port to py3
Thibault Saunier [Wed, 18 Apr 2018 12:34:57 +0000 (09:34 -0300)]
debug-viewer: Copy log files in temporaries before using them
They are mmap'ed and it gets wrong if the file is changed.
There is high probablility the user will generate new logs while
inspecting some logs in the same file
Thibault Saunier [Wed, 18 Apr 2018 12:03:01 +0000 (09:03 -0300)]
debug-viewer: Add a shortcut to show/hide timeline
Thibault Saunier [Sun, 15 Apr 2018 19:31:36 +0000 (16:31 -0300)]
debug-viewer: Port to meson
This allows us to run unit test as part of ninja test and have versionning
in sync. Also the goal is to have everything inside meson.
https://bugzilla.gnome.org/show_bug.cgi?id=795282
Thibault Saunier [Sun, 15 Apr 2018 23:47:36 +0000 (20:47 -0300)]
validate:launcher: Add support for specifying a workdir in tests