Commit graph

1534 commits

Author SHA1 Message Date
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
Thibault Saunier
6772fa7d27 validate: Add 'our own' RTSP server implementation 2017-06-07 11:17:53 -04:00
Thibault Saunier
0e163ffae8 validate:launcher: Handle optional tests
For example RTSP tests might not be avalaible if gst-rtsp-server-example-uri is not avalaible
2017-06-07 11:17:53 -04:00
Thibault Saunier
0beb8647ce validate:launcher: Print logfiles when printing test result
It was often annoying to check wrong logs because the result are
not printed near the reference to logs.
2017-06-07 11:17:53 -04:00
Thibault Saunier
237a976d07 validate: Add a way to use config actions in GST_VALIDATE_CONFIG files
The synthax is:

core, action=action-name, param1=1, param2=param2
2017-06-07 11:17:53 -04:00
Thibault Saunier
8d251f12d9 scenario: Fallback to using media_info to determine stream duration
In the case the query duration return CLOCK_TIME_NONE.
2017-06-07 11:17:53 -04:00
Thibault Saunier
37de89e6db validate:launcher: Do not run scenarios that need prerolling on RTSP stream 2017-06-07 11:17:53 -04:00
Thibault Saunier
b9774b14b5 validate: Do not print \r in actual files 2017-06-07 11:17:53 -04:00
Thibault Saunier
3c62c315a9 validate: Implement RTSP support 2017-06-07 11:17:53 -04:00
Reynaldo H. Verdejo Pinochet
a18cef9c3f validate: reporter: add doc entry for gst_validate_report()'s varargs
Avoids GTK-Doc parser warnings
2017-06-07 00:04:34 -07:00
Reynaldo H. Verdejo Pinochet
4349e11cb0 validate: scenario: fix typo/grammar issues in function documentation 2017-06-07 00:04:34 -07:00
Reynaldo H. Verdejo Pinochet
018ca98fd9 validate: actions: drop needless newline before feature-rank and wait
Stale new-lines messed the help output of gst-validate -t
2017-06-07 00:02:54 -07:00
Reynaldo H. Verdejo Pinochet
7f396ec660 validate: actions: add info on mandatory fields for set-property
Additionally, drop a comment that becomes redundant after adding this
info to the action description
2017-06-06 23:04:52 -07:00
Reynaldo H. Verdejo Pinochet
89fff02bb3 validate: scenario: fix description for 'seek' and 'stop' 2017-06-06 23:04:28 -07:00
Reynaldo H. Verdejo Pinochet
4b57c0bbb4 validate: fix documentation for gst_validate_init() 2017-06-06 18:50:47 -07:00
Thibault Saunier
7b7692d70b validate: Update win32 def file 2017-06-02 16:51:35 -04:00
Thibault Saunier
9d3b760cf3 validate: Make Reporter.runner a MT safe weak reference
It can be used in any thread!
2017-06-01 16:57:50 -04:00
Thibault Saunier
4a38efb6a0 validate:launcher: Add missing is_live implementation for FakeMediaDescriptor 2017-06-01 16:57:50 -04:00
Thibault Saunier
e27367f040 validate: Fix json serialized object leaks 2017-06-01 16:57:50 -04:00
Thibault Saunier
02d716d6d8 validate:launcher: Handle not redirecting valgrind output 2017-06-01 16:57:50 -04:00
Thibault Saunier
dba5675d81 validate:launcher: Add a way to pass arguments to the leak tracer 2017-06-01 16:57:50 -04:00
Thibault Saunier
86e9135b56 validate: Use GWeakRefs on monitor target and pipeline
Making it thread safe and more future proof (though having them point
to NULL might not be handled all around).

https://bugzilla.gnome.org/show_bug.cgi?id=782784
2017-06-01 16:57:50 -04:00
Thibault Saunier
8cc1b39919 validate: monitor: Unref our weak reference to the pipeline 2017-05-31 14:53:05 -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
Edward Hervey
2dd729ccf9 scenarios: Add/Update scenarios for live contents 2017-05-25 16:08:42 +02:00
Edward Hervey
400d1f9326 validate: Implement Scenario.__repr__
Allows better debugging when looking at logs
2017-05-25 15:50:23 +02:00
Edward Hervey
9188968f5c validate: Add live-related features to scenarios and medias
Note: The notion of "live" here is in the *content* sense and not in the
GStreamer sense.
Ex:
  * A rtsp stream is always "live" in the GStreamer sense but might not always
    provide live content.
  * HLS/DASH streams are not "live" in the GStreamer sense but might
    provide "live" content.

Some scenarios might:
* require live content
* not be compatible with live content

This patch adds two new properties for scenarios:
* live_content_required (default False) for scenarios that can only work with
  live content.
* live_content_compatible (default False) for scenarios that can work with
  both live and non-live content.
This patch adds support for reading a "live" property from stream_info
2017-05-25 14:04:00 +02:00
Víctor Manuel Jáquez Leal
29480d006c validate: g_object_newv() is deprecated
Since glib version 2.54, g_object_newv() is deprecated.

This patch changes that function with a simpler g_object_new(),
since no properties are set.

https://bugzilla.gnome.org/show_bug.cgi?id=782860
2017-05-20 12:40:26 +02:00
Edward Hervey
a4b16d54a0 validate-report: Don't leak GError 2017-05-05 15:27:37 +02:00
Edward Hervey
506e537f82 validate-scenario: Don't end up with invalid action name
When replacing an action structure, also update the action name with
the (new) name from the new structure. Otherwise we end up with
a bogus name from the previous (deleted) structure.
2017-05-05 15:27:37 +02:00
Edward Hervey
790e78c4f8 validate-scenario: Avoid invalid memory access
The name of the action comes directly (i.e. not copied) from the
contained GstStructure field. Therefore make sure to take that
name from the proper structure field (copied just before) and
not from an outside one.
2017-05-05 14:43:25 +02:00
Reynaldo H. Verdejo Pinochet
540200bd0a validate: drop superfluous whitespace from cmd description 2017-05-04 14:47:16 -07:00
Scott D Phillips
e1bf823e0c validate: remove const from outfolder
GOptionEntry's arg_data is of type gpointer which differs in
constness from const gchar*, so remove constness from outfolder.
This fixes a build issue with msvc.

https://bugzilla.gnome.org/show_bug.cgi?id=782031
2017-05-04 14:34:34 -07:00
Sebastian Dröge
c2d86243ce Back to development 2017-05-04 18:59:14 +03:00
Sebastian Dröge
e122285b62 Release 1.12.0 2017-05-04 15:48:44 +03:00
Thibault Saunier
40a31b05b6 launcher: Allow using the base launcher as a test manager
No reason to force people to subclass it in simple cases.
2017-04-30 14:36:16 -03:00
Thibault Saunier
bf71c93e84 tools: Fix dotfile name 2017-04-27 16:46:22 -03:00
Sebastian Dröge
4b61eb4b41 Release 1.11.91 2017-04-27 17:54:05 +03:00