Commit graph

1571 commits

Author SHA1 Message Date
Tim-Philipp Müller
dab15df5eb Release 1.13.1 2018-02-15 18:28:13 +00:00
Tim-Philipp Müller
4906612269 validate: dist enum types templates 2018-02-15 18:28:13 +00:00
Edward Hervey
55274bc89f validate-pad-monitor: Use GST_SEQNUM_INVALID
Instead of 0 (which is valid)
2018-02-10 14:20:44 +01:00
Wonchul Lee
0235ad6d03 tools: gst-validate-images-check: Fix typo
https://bugzilla.gnome.org/show_bug.cgi?id=792035
2018-01-31 17:40:56 +00:00
Edward Hervey
d71d28523d validate/baseclasses: Release un-needed data when test ends
This was keeping around 500-700kB of data for each test, which was
gradually raising memory usage of a full run by 100MB+

The reports are definitely not needed, and we only need to keep
information from the subprocess env variable that we might need
later on for final reporting
2017-12-18 10:51:05 +01:00
Edward Hervey
cb04515cbd validate/baseclasses: Don't leak several hundred MB of XML
The xml-based MediaDescriptor were keeping open the XML file and the
associated ElementTree structures, resulting in memory usage of several
hundred megabytes.

Instead cache the information we need immediately and release the
XML structure
2017-12-18 09:48:21 +01:00
Nicolas Dufresne
aa8e27f2a3 meson: Add missing force_rtsp2 scenario
Without this file, gst-validate installed using meson will fail all
RTSP2 tests
2017-12-17 16:22:51 -05:00
Edward Hervey
01a54641f9 validate: Remove protocol-specific timeouts
Since we now check position/status of pipeline at regular intevals,
we no longer need to impose a different timeout based on the
protocol used.

Avoids having 4min long timeouts for no reason (30s is enough)
2017-12-03 12:23:51 +01:00
Edward Hervey
92285ef261 validate: Use a single TCPServer for subprocess communication
Instead of creating a separate TCPServer for each test, just create
one which handles all connections in a threaded fashion.

Shaves off ~500ms per test

https://bugzilla.gnome.org/show_bug.cgi?id=791159
2017-12-03 12:23:29 +01:00
Edward Hervey
58e62f651c validate-launcher: Allow running tests out-of-order
When the --shuffle option is used, the tests will be run out of order.
This optimizes CPU utilization since it allows running synchronized
and unsynchronized tests at the same.
2017-12-03 11:42:18 +01:00
Edward Hervey
1a95559045 validate: Reduce time waiting for subprocess to stop
stopping the subprocess is done from the main thread, this would
throttle starting/stopping any tests by one second.
Start with 50ms, and gradually increase the wait between iterations
2017-12-03 11:38:08 +01:00
Edward Hervey
65e2c1567a gstvalidate: Lower timeout to check for rtsp-server to be up
Check every 100ms, avoids throttling all rtsp tests by 500ms
2017-12-03 11:38:08 +01:00
Thibault Saunier
f16b900643 validate:launcher: Launch tests in _TestsLauncher not in TestsManagaer
So that Test from several TestManager can run in parallel and thus avoid
waiting for tests from one TestManager to run the following one.,

Also by design TestsLauncher should always have been the responsible for
... launching tests.
2017-12-02 09:42:19 -03:00
Edward Hervey
9acfa7fe4b validate: Don't leak strings
We only use them in the error/debug case anyway
2017-11-25 13:10:41 +01:00
Edward Hervey
c33b2e240c validate-report: Plug leaks
The trace was never freed, nor were the output of g_str_split
2017-11-25 12:46:05 +01:00
Edward Hervey
b5bb7d7016 validate-scenario: Don't assume element have factories
Some elements might not originate from factories (like custom/internal
elements).

Avoids dereferencing a NULL pointer
2017-11-23 12:27:11 +01:00
Edward Hervey
ff6055b195 validate-scenario: Handle non-relative switch
Make sure we stay within the number of present streams (and avoid
out-of-bound read).

CID #1415470
2017-11-22 16:37:44 +01:00
Edward Hervey
81c3ab0b12 validate-scenario: Handle switching stream of type not present
Unlikely to happen, but at least don't end up doing unsafe calculation
with n == 0 afterwards

CID #1415453
2017-11-22 16:37:44 +01:00
Nirbheek Chauhan
aa7f753f8a meson: Always require the latest gst-rtsp-server
In the worst case, when building with gst-uninstalled, we will try to
link against an older gst-rtsp-server provided by the system. Found by
philn.
2017-11-12 20:09:53 +05:30
Edward Hervey
9658e12086 validate: Call g-ir-scanner with the same toolchain as the rest 2017-11-08 17:22:47 +01:00
Edward Hervey
2eb3df74b5 validate-analyze: Update for xml format changes 2017-10-27 10:00:07 +02:00
Thibault Saunier
4fac7bf9fd validate: launcher: Run rtsp tests against both V1 and V2
https://bugzilla.gnome.org/show_bug.cgi?id=781446
2017-09-22 16:31:56 -03:00
Thibault Saunier
e9862b9fda validate:launcher: Allow disabling using the number of failed tests as exitcode
This is usefull on CI servers where the test results will be inspected
and the status of the build built from it.
2017-09-06 16:38:39 -03:00
Jimmy Ohn
bd0e8e410e validate: launcher: Modify the order of the parser argument
Modify the order of the parser argument before setting dir_group

https://bugzilla.gnome.org/show_bug.cgi?id=786715
2017-08-28 17:01:39 -03:00
Thibault Saunier
4dc95f0fc2 launcher: Automatically disable output coloration if not supported 2017-08-26 10:52:25 -03:00
Thibault Saunier
598128fc0c meson: Fix the way we set the testsuite version 2017-08-26 09:28:51 -03:00
Thibault Saunier
2c6c25d4bf validate:launcher: Use the number of failed test as exit code
We used to always return 0, which was not right!
2017-08-18 11:37:28 -03:00
Thibault Saunier
cb99482b9a launcher: Avoid exceptions when inspecting renders files
We were a bit to strict on the Exception types which lead to
the launcher failling itself when it shouldn't
2017-08-14 16:57:50 -03:00
Tim-Philipp Müller
8b91fef492 validate: hide some private symbols 2017-08-12 12:04:42 +01:00
Thibault Saunier
8393a3d5ca validate: Plug a potential leak when retrieving peer pad 2017-08-10 21:44:14 -04:00
Thibault Saunier
7be8ecd628 validate: Fix going over ghostpads/proxypads 2017-08-10 19:29:07 -04:00
Tim-Philipp Müller
6b661f394f meson: fix a few meson warnings
WARNING: The variable(s) 'DATADIR', 'LIBDIR' in the input file
  'subprojects/gst-devtools/validate/launcher/config.py.in' are not
  present in the given configuration data
WARNING: Passed invalid keyword argument "scanobj_args". This will
  become a hard error in the future.
WARNING: Keyword argument "install" defined multiple times. This
  will be a an error in future Meson releases.
2017-08-10 14:35:09 +01:00
Thibault Saunier
7a83d2aed7 validate:win32: Update .def file. 2017-08-07 16:00:53 -04:00
Thibault Saunier
74a560163a validate: Mark symbols explicitly for export with GST_EXPORT
With an exception:
  * gst_validate_monitor_setup

which was never declared in headers and should always have been static.
2017-08-07 15:56:21 -04:00
Thibault Saunier
823c9ca834 validate: Fix building the tracer
It fails on some platforms, I guess this is the reason
2017-07-26 17:25:25 -04:00
Thibault Saunier
8ef1050d1e validate: Also mkenums with autotools
And fix the build with stricter gcc arguments.
2017-07-26 16:18:02 -04:00
Thibault Saunier
b9d6f9df9e validate: Add a way to print information about pipeline status
Similare to what is done with gst-launch.

And finally generate GTypes for our flags and enums.
2017-07-26 15:45:37 -04:00
Edward Hervey
40eb48d21f validate-scenario: Fix NULL pointer usage
for good this time ...

CID #1415570
2017-07-26 15:22:49 +02:00
Edward Hervey
1b48ffdff5 validate-report: Fix a leak in error cases
CID #1415494
2017-07-26 15:18:57 +02:00
Edward Hervey
9ae20ee3e0 validate: Re-enable mxf op2b tests
https://bugzilla.gnome.org/show_bug.cgi?id=785119
2017-07-25 09:55:02 +02:00
Thibault Saunier
be95f623b7 wind32: Update .def file. 2017-07-21 10:30:37 -04:00
Edward Hervey
6ad8bd3e7c validate-scenario: Protect against priv NULL usage
CID #1415570
2017-07-20 14:21:59 +02:00
Thibault Saunier
2fb3545aa7 validate: Do not install now removed setup_sink_props_max_lateness.scenario file 2017-07-19 12:16:53 -04:00
Thibault Saunier
8ab723b153 validate:launcher:check: Make sure to register tests from the testsuite
Instead of having them listed from the app manager. This is needed
to avoid backtrace as tests now have to be register when setting up
the testsuite.
2017-07-19 11:49:54 -04:00
Thibault Saunier
1a28e7b043 validate: Factor out a method to set properties on elements in utils
Make sure to use it where appropriate and add some logging when
setting an object property from an action.

And use the valgrind.conf to set all the properties instead of having
a mixture of a config scenario and the config file (making sure the
max-lateness is set on any sink)
2017-07-19 11:34:19 -04:00
Thibault Saunier
1d568ff11f validate:scenario: Allow not config action to be executed from config files
When those are special cased to support that, such as the `set-property`
action.

This special handling was added in

  4927c65710
  validate: disable QOS features when running with valgrind

before we started to support executing arbitrary config action from
configuration files.
2017-07-19 11:34:12 -04:00
Thibault Saunier
b3134e89d9 validate: scenario: Fix running config action from the config file 2017-07-19 10:23:34 -04:00
Edward Hervey
1cfe980044 validate: Blacklist op2b mxf files
See https://bugzilla.gnome.org/show_bug.cgi?id=785119
2017-07-19 15:47:28 +02:00
Edward Hervey
8b9b6ead3f validate: Cast GList data content before usage
Apart from code readability, it allows compilers to detect wrong usages,
such as the call to gst_validate_action_new() which was using the wrong
argument
2017-07-19 11:02:44 +02:00
Thibault Saunier
2177d8589c validate:launcher: Error out if no testsuite could be loaded 2017-07-18 12:09:13 -04:00
Thibault Saunier
2cf93f491b validate: launcher: Namespace test name with the testsuite name
Also allowing users to pass test names directly
2017-07-18 10:54:53 -04:00
Thibault Saunier
f9ef2bc56a validate: launcher: Properly use TestsLauncher.list_test to load tests
Otherwise we might skip check_defined_tests.
2017-07-18 10:54:21 -04:00
Thibault Saunier
f7252cbd48 validate: Remove some dead code
CID 1415457
2017-07-18 10:47:00 -04:00
Thibault Saunier
e70557dc3e validate: Plug a minor string leak
CID 1415459
2017-07-18 10:45:29 -04:00
Thibault Saunier
9ee7b4483c validate: Don't create scenario on a monitor which has no target
Not very probable but avoids a potential NULL pointer dereferencing.

CID 1415460
2017-07-18 10:42:00 -04:00
Thibault Saunier
6572af916b validate: Always only use the first description in scenarios
Also pluging a leak of the descrption copied structure

CID 1415463
2017-07-18 10:38:24 -04:00
Thibault Saunier
7463819969 validate: ssim: Do not compare unsigned to < 0
CID 1415473
2017-07-18 10:27:49 -04:00
Thibault Saunier
c7483a90f0 validate: Plug a string leak
CID 1415475
2017-07-18 10:23:31 -04:00
Thibault Saunier
566adba269 validate:ssim: Let user know when no file have been compared
Fixing a possible division by zero issue.

CID 1415482
2017-07-18 10:19:23 -04:00
Thibault Saunier
28f8787c17 validate: Add missing break statement
CID 1415485
2017-07-18 10:16:07 -04:00
Thibault Saunier
7eb9746adc Check g_file_set_contents() return value
CID 1415486
2017-07-18 10:14:59 -04:00
Thibault Saunier
44260d70bd validate: Plug leak of copy of a va_list
CID 1415490
2017-07-18 10:12:07 -04:00
Thibault Saunier
11ef28f3dc validate: Do not check NULL pointer uselessly
CID 141593
2017-07-18 10:10:06 -04:00
Thibault Saunier
fc49d18425 validate: Plug minor leak in issue creation error path
CID 1415494
2017-07-18 10:10:06 -04:00
Thibault Saunier
54e35bb082 validate: Remove some dead code
Next will never be NULL as `done` is always set to TRUE when next is
set.

CID 1415503
2017-07-18 10:00:03 -04:00
Thibault Saunier
5c537bd627 validate: monitor: Add missing break; statement
Fixes CID 1415500
2017-07-18 09:59:42 -04:00
Edward Hervey
4f1242968e validate-scenario: Fix wrong return value
We were always returning ok ...

CID #1415484
2017-07-18 15:50:35 +02:00
Edward Hervey
3904f2523b validate-scenario: Check g_file_set_contents() return value
CID #1415487
2017-07-18 15:48:01 +02:00
Edward Hervey
e6073a411c validate-scenario: Fix copy/paste error
CID #1415502
2017-07-18 15:45:13 +02:00
Edward Hervey
e5903f1d05 validate-scenario: Fix string usage
Use the string representation of the index if it *IS* present (and
not the opposite).

CID #1415506
2017-07-18 15:43:26 +02:00
Edward Hervey
5b54127c5a validate-utils: Add NULL check
Unlikely to be triggered. And fix typo at the same time

CID #1415464
2017-07-18 15:38:04 +02:00
Sebastian Dröge
c8cd695bb9 validate: Un-blacklist scrub_forward_seeking.op2b-mpeg2-wave_hd_mxf
It works now after various mxfdemux changes.

https://bugzilla.gnome.org/show_bug.cgi?id=764025
2017-07-14 10:37:31 +03:00
Edward Hervey
ee72ae8913 gstvalidate: Re-allow tests that should be fixed 2017-07-13 08:46:05 +02:00
Edward Hervey
58d1d1a0c8 check: Remove dead assignments 2017-07-12 14:46:36 +02:00
Thibault Saunier
40a08e6080 validate: launcher: Add some missing env variables in command to launch test 2017-07-11 10:11:49 -04:00
Thibault Saunier
edd789cfb7 validate: Recalculate latency on LATENCY messages 2017-06-30 12:32:56 -04:00
Thibault Saunier
c1f613d8e7 validate:scenario: Allow setting properties by element factory name 2017-06-30 12:30:40 -04:00
Thibault Saunier
f2fc6a4550 validate:scenario: Enhance the set_property action to handle enum props
User needs to specify the enum value as a string, to be used
as with gst_util_set_object_arg.

Also enhance reporting and verify that the set value has actually
been taken into account.
2017-06-30 09:46:57 -04:00
Thibault Saunier
dbc598b378 validate: Use Gst printing utils in our reporting system
Allowing us to use GST_PTR_FORMAT and friends!
2017-06-30 09:45:02 -04:00
Thibault Saunier
c540601ed0 validate:launcher: Do not check ModuleNotFound exception
It is a subclass of ImportError and is avalaible only since 3.6
https://ci.gstreamer.net/job/pitivi-flatpak/626/console
2017-06-28 15:54:13 -04:00
Thibault Saunier
3b20a1ccde validate:launcher: Disable seek with stop on RTSP streams
It is actually not supported
2017-06-28 13:02:33 -04:00
Thibault Saunier
831464d96f validate:launcher: Avoid useless and expensive deep copies 2017-06-27 16:50:35 -04:00
Thibault Saunier
8ea68e9e06 validate:launcher: Speed up xml parsing using lxml if avalaible 2017-06-27 16:50:35 -04:00
Thibault Saunier
c0c5f95232 validate: make swicthing subtitle track while paused require prerolling 2017-06-27 16:50:16 -04:00
Thibault Saunier
5924441633 validate: Fix the change_state_intensive scenario
The scenario was in no way certified that the pipeline was in PAUSED
state when starting on an stream that does not preroll
2017-06-22 11:53:51 -04:00
Thibault Saunier
6a8b0111cd validate:scenario: Enhance playbin3 stream selection error message 2017-06-22 11:52:26 -04:00
Thibault Saunier
eac403f87c validate: Add missing space in segment mismatch issue description 2017-06-20 15:51:27 -04:00
Thibault Saunier
2f35acf558 validate:launcher: Enhance command printing when using a server
So it can be copy pasted and work
2017-06-20 15:46:15 -04:00
Thibault Saunier
82dd230ef1 validate:launcher: No need to use -validate as a tracer for RTSP server
It is now linked into the server app
2017-06-20 10:43:09 -04:00
Thibault Saunier
335c14bf5b validate:launcher: Fix launching testsuite with relative paths 2017-06-16 17:36:34 -04:00
Thibault Saunier
b1b696017c validate: Add a plugin with potential extra checks
And add a way to check that a configured number of instances of a particular
element is used, this is useful to make sure for example that playing a
particular stream doesn't lead to several decoders being instanciated.
2017-06-16 17:36:34 -04:00
Thibault Saunier
a728a7df49 validate: Fix the way we check if _CONFIG is a list of structures 2017-06-16 17:36:34 -04:00
Thibault Saunier
6439494f40 validate: overrides: Add a hook about newly added elements in a bin 2017-06-16 17:36:34 -04:00
Thibault Saunier
e0484a7cdd validate: Attach overrides before calling monitor.setup() 2017-06-16 17:36:34 -04:00
Reynaldo H. Verdejo Pinochet
9c5fb0c058 validate: libs: video: improve ssim's action registrations 2017-06-08 13:44:10 -07:00
Thibault Saunier
a43a6191c0 validate: Do not link the rtsp server against validatevideo
It is not needed

https://bugzilla.gnome.org/show_bug.cgi?id=783554
2017-06-08 12:32:01 -04:00
Thibault Saunier
543e7a983a validate:launcher: Do not which(None), the rtsp-server command is unset if not avalaible
https://bugzilla.gnome.org/show_bug.cgi?id=783551
2017-06-08 12:18:19 -04:00
Thibault Saunier
905a15c014 meson: Make dependency on rtsp-server really optionnal 2017-06-07 16:18:59 -04:00
Thibault Saunier
9a45cd41a9 validate:launcher: Handle test that can't be run in parralel 2017-06-07 15:23:26 -04: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