Guillaume Desmottes
8c4a3de701
move scenarios to data/scenarios
...
Differential Revision: http://phabricator.freedesktop.org/D115
2015-04-20 15:31:26 +02:00
Guillaume Desmottes
8c2684c9a7
validate: add gstvalidate.supp valgrind suppression file
...
Differential Revision: http://phabricator.freedesktop.org/D115
2015-04-20 15:29:28 +02:00
Guillaume Desmottes
60498f73b3
validate: scenario: fix structure and action leak
2015-04-20 08:35:58 +02:00
Guillaume Desmottes
308fa194a7
validate: report: fix GString leak when early returning
2015-04-20 08:35:58 +02:00
Thibault Saunier
848d660603
validate:pipelinemonitor: Print position only when in state >= PAUSED
...
Reviewers: Mathieu_Du
Reviewed By: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D86
2015-04-19 11:58:01 +02:00
Thibault Saunier
31d11ff8c3
validate:launcher: Use full HD screen as default screen size in xvfb
2015-04-19 11:56:29 +02:00
Thibault Saunier
a0b3287d40
validate:launcher: Add a way to run tests without displaying the output
...
Summary:
Adding a --no-display option and running Xvfb virtual frame buffer X
server.
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D105
2015-04-17 21:51:29 +02:00
Thibault Saunier
76eedece5c
validate:launcher: Error out if valgrind is not available on the system
...
Summary:
When the user wants to use valgrind, make sure it is present on the
system before doing anything
Reviewers: gdesmott
Differential Revision: http://phabricator.freedesktop.org/D104
2015-04-17 19:58:18 +02:00
Thibault Saunier
86efbffa32
validate:scenario: Stop scenario execution on stop action
...
And document it properly.
Summary:
The stop action was defined as "setting state to NULL" but
its actual goal is to stop the execution of the scenario. Make sure
that the scenario will not try to execute other actions when that
one has been executed.
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D103
2015-04-17 19:31:07 +02:00
Thibault Saunier
5d6fcb5727
validate: Gracefully handle absence of TAG on streams
...
Summary: And do not segfault when it happens!
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D99
2015-04-16 13:43:33 +02:00
Thibault Saunier
adbe811175
validate:launcher: Pass GST_VALIDATE_SCENARIO to the subprocess env only
...
Summary:
And make sure to remove it from the env if the user has it in its main
environment.
Without that commit we ended up passing scenarios from previous tests
to the following ones where None were specified.
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D98
2015-04-16 12:41:25 +02:00
Guillaume Desmottes
abb9e0ff2a
validate: don't pass NULL to gst_caps_copy()
2015-04-16 12:41:25 +02:00
Guillaume Desmottes
36e69f305a
validate: use GstMediaDescriptorWriter as log handler
...
Allow us to catch warnings when running gst-validate-media-check-1.0.
2015-04-16 12:41:25 +02:00
Guillaume Desmottes
2133207113
validate: media-descriptor-writer: fix string leaks
2015-04-16 12:41:25 +02:00
Young Han Lee
102c13ed6f
validate:launcher: Handle git error properly
...
'OSError' exception is emitted but not handled properly when git is not
installed on running system.
https://bugzilla.gnome.org/show_bug.cgi?id=747892
2015-04-15 11:36:28 +02:00
Guillaume Desmottes
8a6494ddf8
validate: set GST_GL_XINITTHREADS
...
This ensure that XInitThreads is called and so gl contexts are properly
initialized.
https://bugzilla.gnome.org/show_bug.cgi?id=747840
Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2015-04-14 12:56:32 +02:00
Thibault Saunier
0fcee6ed84
validate:launcher: Make validate the only default testsuite
...
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D93
2015-04-13 11:27:08 +02:00
Thibault Saunier
5a6d6b9475
validate:launcher: Let the responsibility to update asset to the testsuite
...
Summary:
It makes it easier to make sure that the assets needed for a specific
testsuite are available when needed
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D92
2015-04-13 11:27:08 +02:00
Thibault Saunier
101ed96b5a
validate:tools: EOS handling is the responsibility of the scenario
...
Summary: If any scenario set
Reviewers: Mathieu_Du
Differential Revision:
http://phabricator.freedesktop.org/D90
2015-04-13 11:27:08 +02:00
Ramiro Polla
6bb04c037c
validate:scenario: Add support for waiting on signals and messages
...
Reviewers: Mathieu_Du
Differential Revision:
http://phabricator.freedesktop.org/D88
2015-04-13 11:27:02 +02:00
Thibault Saunier
774dbf9346
validate:scenario: Report disabling plugin issues
...
Summary:
+ typedef GstValidateActionReturn so it can be used in the introspection
+ Add GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED which should be used
to tell Validate that something wrong happened so the sub action
won't be executed, but that it should not report an error itself
as it has already been handled in the action function.
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D81
2015-04-10 16:53:41 +02:00
Thibault Saunier
69ca5c69cc
validate:scenario: Allow execution of disable-plugin as a config action
...
Summary:
And fix a bug where config actions were added to the list of action even
if they had already been executed
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D80
2015-04-10 16:53:41 +02:00
Thibault Saunier
25ab37300d
validate:scenarios: Set seek_forward_backward min-media-duration=45
...
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D79
2015-04-10 16:53:41 +02:00
Thibault Saunier
2cf082c4be
validate:launcher: Set more env variable in the launcher command desc
...
Summary:
Adding if present:
* LD_PRELOAD
* DISPLAY
* GST_VALIDATE_CONFIG
* GST_VALIDATE_OVERRIDE
+ enhance the add_env_variable method to more easily set envvar from
current value
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D78
2015-04-10 16:53:41 +02:00
Thibault Saunier
5d7403a6a5
validate: Add a method to easily get plugin configuration
...
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D77
2015-04-10 16:53:41 +02:00
Thibault Saunier
4dce5054de
validate:plugins: Add support to all GApplication as a test apps
...
Summary:
Add a very simple plugin that will allow any GApplication to easily be
used with GstValidate using the LD_PRELOAD feature
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D75
2015-04-10 16:53:41 +02:00
Mathieu Duponchelle
23bb7dfdcc
validate: let structs_from_filename be exported.
...
Summary: It is useful for plugins too
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D74
2015-04-10 16:53:41 +02:00
Thibault Saunier
0159c96ab0
validate:scenario: Update Action.repeat field when needed
...
Summary: And print the current repeat value of the action that have such a field
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D73
2015-04-10 16:53:41 +02:00
Thibault Saunier
1e6b188d78
validate:scenario: Alway execute a 'quit' action on EOS
...
Summary: Making scenario more usable with LD_PRELOAD
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D72
2015-04-10 16:53:41 +02:00
Thibault Saunier
460bf61345
validate:scenario: Set the main action structure in fill_structure
...
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D71
2015-04-10 16:53:40 +02:00
Thibault Saunier
bbd04eef4c
validate:launcher: Use GST_VALIDATE_SCENARIO envvar to set scenarios
...
Summary:
Instead of concidering all apps will have a --set-scenario argument
which is not going to be the case as soon as we run the tests through
LD_PRELOAD
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D70
2015-04-10 16:53:40 +02:00
Thibault Saunier
2fe03f1993
validate:launcher: Move get_current_position from GstValidatePipelineTest to GstValidateTest
...
This is where it belongs
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D69
2015-04-10 16:53:40 +02:00
Wonchul Lee
058d5c6b12
validate: fix typo in scenario file format docs
...
https://bugzilla.gnome.org/show_bug.cgi?id=747487
2015-04-08 10:10:42 +01:00
Guillaume Desmottes
2f643bde2c
validate: scenario: fix caps leak
2015-03-31 09:45:06 +02:00
Guillaume Desmottes
37d0ea4335
validate: media-descriptor: fix filenode->caps leak
2015-03-31 09:45:06 +02:00
Guillaume Desmottes
15918f1e40
validate: transcoding: don't create a second mainloop
2015-03-31 09:45:06 +02:00
Guillaume Desmottes
8b84f76df4
validate: transcoding: don't leak the requested sinkpad from decodebin
2015-03-31 09:45:06 +02:00
Guillaume Desmottes
c8e6b90f4b
validate: pad-monitor: fix caps leak
...
Don't create othercaps when early returning.
2015-03-31 09:45:06 +02:00
Guillaume Desmottes
1bb98b49ca
validate: GstValidateMediaCheckTest should inherit from GstValidateTest
2015-03-31 09:45:06 +02:00
Young Han Lee
75205828c7
validate:launcher: Install config.py for non-development mode
...
Running installed gst-validate-launcher aborted with the following error.
File "lib/gst-validate-launcher/python/launcher/baseclasses.py", line 28, in <module>
import config
ImportError: No module named config
This is because config.py is added but not installed
in ba6d209b3f
.
https://bugzilla.gnome.org/show_bug.cgi?id=747087
2015-03-31 09:29:16 +02:00
Young Han Lee
4725f4ec09
validate:launcher: Show timeout seconds for timeout result message
...
Current timeout message doesn't show how many seconds a test took and
it is timeouted by normal timeout or hard timeout.
This patch changes the message like following.
1. normal timeout
old : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out)
new : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out: 120 secs)
2. hard timeout
old : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Application timed out)
new : validate.http.playback.reverse_playback.raw_video_mov: Timeout (Hard timeout reached: 600 secs)
https://bugzilla.gnome.org/show_bug.cgi?id=746957
2015-03-30 13:32:57 +02:00
Young Han Lee
4c7ec6b8b1
validate:launcher: Fix wrong test number with -j option
...
When '-j n' option is given, first n tests print test number 0.
This is caused by test_num part of 919db98605
.
https://bugzilla.gnome.org/show_bug.cgi?id=747006
2015-03-30 13:02:39 +02:00
Thibault Saunier
ba6d209b3f
validate:launcher: Avoid depending on PyGObject
...
Summary:
And rely on our knowledge of the configuration to figure out where the
suppression file has been installed
Reviewers: gdesmott
Differential Revision: http://phabricator.freedesktop.org/D61
2015-03-28 23:35:07 +01:00
Guillaume Desmottes
625fe7b5df
validate: media-descriptor-writer: don't leak info and streaminfo
2015-03-26 15:42:11 +01:00
Guillaume Desmottes
779e44dd36
validate: media-check: don't leak output_file and expected_file
2015-03-26 15:40:50 +01:00
Guillaume Desmottes
4f805422a7
validate: check VALGRIND_ERROR_CODE in Test as well
...
We were doing it only in GstValidateTest which was overriding the default
implementation.
2015-03-26 13:59:30 +01:00
Guillaume Desmottes
9ad79ffcbc
validate: don't increase hard_timeout is if it's None
...
Some tests, like the media check ones, have None as hard_timeout.
2015-03-26 13:57:34 +01:00
Guillaume Desmottes
daaa32676c
validate: increase VALGRIND_TIMEOUT_FACTOR
...
5 wasn't enough for my poor laptop.
2015-03-26 11:29:26 +01:00
Guillaume Desmottes
66a675cde8
validate: increase the normal timeout as well when using valgrind
2015-03-26 11:29:06 +01:00
Guillaume Desmottes
32eac4db44
validate: media-descriptor: fix caps leak
...
gst_pad_get_current_caps() returns a reffed caps.
2015-03-26 10:32:09 +01:00
Guillaume Desmottes
093390981c
also call gst_deinit() in media-check and transcoding
...
More valgrind friendly.
2015-03-26 09:18:44 +01:00
Guillaume Desmottes
f1985bc738
validate: raise an error if valgrind detected issues
...
Differential Revision: http://phabricator.freedesktop.org/D53
2015-03-26 09:18:27 +01:00
Guillaume Desmottes
5456ddbae0
call gst_deinit() when we are done
...
More valgrind friendly.
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
a35614d108
validate: call gst_bus_remove_signal_watch()
...
We are supposed to call gst_bus_remove_signal_watch() for each gst_bus_add_signal_watch() call to prevent leaks.
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
6e776b8f0f
validate: media-descriptor-parser: fix string leak
...
_set_content() doesn't actually consume @content so the caller is responsible
freeing it.
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
d9a13b5563
validate: pad-monitor: fix buffers list leak
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
3f0cb5fedf
validate: pad-monitor: fix caps leak
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
81a33d5f6a
validate: fix a bunch of GstBus leaks
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
c23bac2912
validate: store valgrind logs to its own file
2015-03-23 13:41:03 +01:00
Guillaume Desmottes
2aeaa1b279
validate: report: fix invalid read when destroying Report
...
Summary:
@report was invalid when we were trying to clear the mutex.
validate: scenario: remove weak pointer when destroying action
Free an invalid read when the scenario is destroyed after the action.
Differential Revision: http://phabricator.freedesktop.org/D44
2015-03-20 15:13:30 +01:00
Guillaume Desmottes
7aa5f85ccd
validate: report: fix invalid read when destroying Report
...
@report was invalid when we were trying to clear the mutex.
2015-03-20 14:49:24 +01:00
Guillaume Desmottes
08a9034576
validate: fix string arguments leaks
...
We are responsible of freeing the string arguments parsed by GOptionContext.
2015-03-20 12:15:03 +01:00
Guillaume Desmottes
ba175368d1
validate: scenario: don't borrow @structure in _fill_action()
...
@structure was borrowed in some code path and wasn't in some other. Make it
clearer, and fix a leak, by always copying it.
2015-03-20 11:39:32 +01:00
Guillaume Desmottes
9691136887
validate: override-registry: fix structs list leak
...
The list returned by _lines_get_strutures() needs to be deeply freed.
2015-03-20 11:33:01 +01:00
Guillaume Desmottes
a99c13da4b
validate: scenario: fix scenarios leak
2015-03-20 11:27:29 +01:00
Guillaume Desmottes
38342dfe2e
validate: reporter: fix message leak
2015-03-20 11:25:39 +01:00
Guillaume Desmottes
e9aeca28a8
validate: report: don't shadow the GString variable
...
We were leaking the GString as it's freed outside of the block.
2015-03-20 11:24:27 +01:00
Guillaume Desmottes
3a275d2212
validate: report: fix GStrv leak
2015-03-20 11:24:04 +01:00
Guillaume Desmottes
7373286968
validate: report: fix GStrv leak
...
We borrow the content of the GStrv but were leaking the array itself.
2015-03-20 11:23:29 +01:00
Guillaume Desmottes
cb8348c7b1
launcher: try using gst.supp as valgrind suppressions file
...
https://bugzilla.gnome.org/show_bug.cgi?id=746465
2015-03-20 10:34:49 +01:00
Guillaume Desmottes
3024b3682f
validate: install gst.supp
...
Will be used when running tests inside Valgrind.
https://bugzilla.gnome.org/show_bug.cgi?id=746465
2015-03-20 10:34:49 +01:00
Guillaume Desmottes
271f9f3c8e
launcher: add valgrind support
...
Add a --valgrind option to gst-validate-launcher to run the tests inside
Valgrind and tune GLib's memory allocator accordingly.
Fix https://bugzilla.gnome.org/show_bug.cgi?id=746465
2015-03-20 10:34:49 +01:00
Guillaume Desmottes
2778e501c4
validate: move scenarios to validate/scenarios/
...
https://bugzilla.gnome.org/show_bug.cgi?id=746465
2015-03-20 10:34:48 +01:00
Guillaume Desmottes
e7762d13cc
validate:launcher: Fix small typo
2015-03-19 12:22:39 +01:00
Thibault Saunier
ad5b5f5369
validate:launcher: Make sure to show apps specific options in the help
2015-03-18 17:06:14 +01:00
Thibault Saunier
e9da098e33
validate:launcher: Fix test number printing
2015-03-18 17:05:57 +01:00
Thibault Saunier
7079d1910d
validate:launcher Rename _other_testsuite_for_tester
...
To _check_tester_has_other_testsuite
2015-03-17 12:41:26 +01:00
Thibault Saunier
919db98605
validate:launcher: Cache all the tests in the runner
...
This way we do not have to re ask all the test managers
what tests should be run.
2015-03-17 12:41:26 +01:00
Thibault Saunier
d1411cfc6a
validate:launcher: Add a way to simply run validate default tests on uris
...
Summary:
This allows us to easily run all the scenarios on a particular file doing:
$ gst-validate-launcher validate --validate-check-uri file:///some/media/file.webm
Reviewers: Mathieu_Du
Differential Revision: http://phabricator.freedesktop.org/D36
2015-03-13 18:04:42 +00:00
Thibault Saunier
b8c085b319
validate: keep executing actions even after linking up following execution
...
When linking actions execution without waiting on execution context, then
idle callback should keep being called so following action keep being
executed.
2015-03-13 18:04:42 +00:00
Thibault Saunier
e11646dcca
validate: Add more files to .gitignore
...
Differential Revision: http://phabricator.freedesktop.org/D34
2015-03-10 11:32:15 +01:00
Thibault Saunier
49b2ed5d7a
validate:scenario: Rename get_position to execute_next_action
...
That function was wrongly called and did not correspond to what it
actually does.
2015-03-10 11:32:15 +01:00
Vincent Penquerc'h
3bb6ecd6fa
Revert "validate: add non flushing seek support"
...
This reverts commit 3ff55dcc31
.
Regressions on the test server, apparently linked to this patchset.
2015-03-09 18:26:37 +00:00
Vincent Penquerc'h
09988a97bf
Revert "validate: use segments to detect success of flushing seeks too"
...
This reverts commit c47cc7ba90
.
Regressions on the test server, apparently linked to this patchset.
2015-03-09 18:26:33 +00:00
Vincent Penquerc'h
d78c20322f
Revert "validate: expect a buffer with discontinuity after a seek"
...
This reverts commit 87064b6994
.
Regressions on the test server, apparently linked to this patchset.
2015-03-09 18:26:06 +00:00
Thibault Saunier
08d8e01f21
validate:launcher: Make sure TIMEOUTs do not get converted to ERROR
...
This was a regression introduced in c0e3d2e4f1
2015-03-09 18:41:54 +01:00
Vincent Penquerc'h
87064b6994
validate: expect a buffer with discontinuity after a seek
...
https://bugzilla.gnome.org/show_bug.cgi?id=744783
2015-03-09 10:06:34 +00:00
Vincent Penquerc'h
c47cc7ba90
validate: use segments to detect success of flushing seeks too
...
https://bugzilla.gnome.org/show_bug.cgi?id=744783
2015-03-09 10:06:34 +00:00
Vincent Penquerc'h
3ff55dcc31
validate: add non flushing seek support
...
and a couple scenarios using them
https://bugzilla.gnome.org/show_bug.cgi?id=744783
2015-03-09 10:06:34 +00:00
Thibault Saunier
d08a6b8e0c
validate:launcher: Do not forget to install apps/__init__.py
...
It is a python module that should be usable by external apps/testsuites
2015-03-06 09:39:36 +01:00
Thibault Saunier
d5ddeaf8c2
validate:scenario: Handle not mandatory action types
...
Summary:
There is currently no way to handle the fact that action types
might be handled only by a specific application but not handling
this action types would not cause any difference for the good execution
of the scenario as a whole
Differential Revision: http://phabricator.freedesktop.org/D33
2015-03-05 14:55:39 +01:00
Thibault Saunier
a17c214dba
validate:launcher: Better handle GST debug log outputs redirection
2015-03-04 17:57:21 +01:00
Thibault Saunier
c0e3d2e4f1
validate:launcher: First rely on the presence of criticals to set tests result
...
In the case of external applications they might not set their exist
code bases on the result of validate so we should rely on what
validates as to say first.
2015-03-04 17:30:41 +01:00
Thibault Saunier
88da04e0a0
validate:report: Allow registering of issue types through the introspection
...
Fixing annotations and make GstValidateIssue refcounted
We break the ABI in that commit but I do not expect anyone to register
issue type outside GstValidate yet.
Add padding in the structures so we can avoid breaking the ABI again later.
2015-03-04 17:28:50 +01:00
Thibault Saunier
433c8676dc
validate:monitor: Do not requiere a GstObject as target
...
We can work with any GObject and that allows applications to write
monitors for other aspects too
2015-03-04 17:24:52 +01:00
Thibault Saunier
8b261599e4
validate:scenario: Alway execute sub action on action running SYNC
...
Move methods around to avoid needing on top prototypes
2015-03-03 12:31:37 +01:00
Wonchul Lee
5a959aa47b
validate:docs: Rename gst-validate-launch to gst-validate-launcher
...
https://bugzilla.gnome.org/show_bug.cgi?id=745510
2015-03-03 11:34:01 +01:00
Thibault Saunier
34394b0c7a
validate:scenario: Do not execute last sub action twice when ASYNC
2015-03-03 11:33:06 +01:00
Thibault Saunier
7888293f8f
validate:scenario: Properly print sub action as if they were main actions
2015-03-03 10:39:52 +01:00
Emanuele Aina
9e7f713758
validate:docs: Fix typos in Scenario File Format
...
https://bugzilla.gnome.org/show_bug.cgi?id=736160
2015-03-02 16:18:30 +01:00
Thibault Saunier
e40d225614
validate:launcher Do not use git -C as it is relatively recent
...
https://bugzilla.gnome.org/show_bug.cgi?id=736160
2015-03-02 16:18:30 +01:00
Thibault Saunier
ec27b86fa9
validate: Build the preload so when possible
2015-02-26 11:09:23 +01:00
Thibault Saunier
4c13ec7121
validate:launcher: Print the long help in less when possible
2015-02-24 20:39:22 +01:00
Thibault Saunier
6309f8168a
validate:launcher: Mention testsuite implementation in the help
2015-02-24 20:34:43 +01:00
Thibault Saunier
72dedae65d
validate: Define GST_PLUGIN_LDFLAGS as needed
2015-02-23 12:24:39 +01:00
Young Han Lee
2d6c667c9a
validate: Determine development mode using git hash value
...
Development mode has been determined by whether the launcher is in git
repo
or not. This could be wrong when the launcher is installed to
subdirectory of other project's git repo, such as jhbuild. It is normal
to install compiled output to subdirectory of your jhbuild.
Changed logic gets the first commit hash of current git repo and
compares it with gst-devtools' the first commit hash.
https://bugzilla.gnome.org/show_bug.cgi?id=744781
2015-02-19 13:57:30 +01:00
Thibault Saunier
c5393f79f3
validate:launcher: Fix typo s/FILE_EXTENDION/FILE_EXTENSION/g
2015-02-19 13:57:30 +01:00
Thibault Saunier
f3adc999f1
validate:scenario: Fix GstValidateAction ABI adding a private structure
...
This way we can easily extend the structure and avoid needing using
a union and such
2015-02-19 13:57:30 +01:00
Mathieu Duponchelle
ac1c1aec7c
validate: Test buffer outside of received range.
...
Summary: As part of the preparation for a port to tracer.
Test Plan: This is a test, we won't test tests
Reviewers: tsaunier
Differential Revision: http://internal.opencreed.com:8888/D19
2015-02-19 12:19:46 +01:00
Thibault Saunier
3b6f187d85
validate: Properly notify user about missing plugins
...
This way it is clear in gst-validate-launcher that the failure is due
to a missing plugin
2015-02-18 10:07:17 +01:00
Thibault Saunier
f0511cc3a2
validate: Fix wrong sizeof usage
...
sizeof(int) is always <= sizeof(gpointer)
2015-02-17 18:22:12 +01:00
Ramiro Polla
2d5ad1ac62
validate: launcher: Use cElementTree for XML parsing
...
Using cElementTree instead of ElementTree speeds up parsing of media
descriptor files.
The total time spent parsing XML files drops from ~0.64 s to ~0.24 s,
leading to faster initialisation times for gst-validate-launcher.
https://bugzilla.gnome.org/show_bug.cgi?id=743293
2015-02-17 17:27:40 +01:00
Thibault Saunier
08afce235c
validate: Print actions directly from the scenario
...
Avoiding user to have to print them in each and every action type
implementation.
This requires adding some API to prepare actions before printing them.
Preparing action in that case mean parsing the values contained in the
GstStructure parsing equations and setting back the actual value
afterward
API:
* GstValidatePrepateAction
* gst_validate_action_type_set_prepare_function
2015-02-17 17:11:51 +01:00
Thibault Saunier
8b6c521bb1
validate: Fix build on windows
...
Check where libgstvalidate.dll is installed and use that base folder to
figure out where GstValidate plugins are installed
2015-02-17 09:23:27 +01:00
Thibault Saunier
62a0db232c
validate: Do not forget to dist _full variant of scrubing scenarios
2015-02-16 20:56:49 +01:00
Thibault Saunier
8e5b495c62
validate: Create a gst-validate-types.h header where we define types
...
And include it from validate.h.
This way we avoid to need to typedef GstValidateAction twice, which is
a C11 feature
2015-02-16 19:52:12 +01:00
Edward Hervey
a1da4cd733
validate-report: Fix valist usage
...
a va_list always 'exists' (it's a struct). It therefore can't be NULL
(and can't be tested)
Just use the regular print variant where appropriate.
2015-02-16 19:24:23 +01:00
Thibault Saunier
3d83370770
validate:scenario: Document locking
2015-02-16 17:18:37 +01:00
Thibault Saunier
89e2855964
validate:scenario: Make get_position happen on idle
...
Summary:
- Add a way to force action to be executed in their own GSource dispatch, disabling chain action execution
API:
GstValidateScenario::execute-on-idle property
2015-02-16 17:18:32 +01:00
Thibault Saunier
51593df323
validate:scenario: Add a method to retrieve all remaining actions
...
Not only the next one as it was not making much sense!
API:
- gst_validate_scenario_get_next_action
+ gst_validate_scenario_get_actions
2015-02-16 17:18:31 +01:00
Thibault Saunier
16f97e3df6
validate:utils: Fix some annotations
2015-02-16 17:18:31 +01:00
Thibault Saunier
a69af22ca9
validate:scenario: Allow link up of action executions for overriden types
...
Exposing a GstValidateActionType.overriden_type field
And properly expose gst_validate_execute_action
2015-02-16 17:18:31 +01:00
Thibault Saunier
19f9172586
validate:reporter: Always print reports in the Gst debug system
2015-02-16 17:18:31 +01:00
Thibault Saunier
6181f7763d
validate: Misc fixes
2015-02-16 17:18:21 +01:00
Thibault Saunier
f4c6ed368e
validate: Properly annotate gst_validate_register_action_type*
...
It does not return any reference to the type
2015-02-14 16:32:12 +01:00
Thibault Saunier
135cb2d2e4
Revert "validate:scenario: Add a way to specify action structure size"
...
This reverts commit b976319ef7f977b8ce910c4b8aa1a843da3b264f.
Now that the exact same structure can be used to represent different
action types, we can not rely on the structure size to stuff
informations into the action. Users should just make use of
GstMiniObject.qdata.
2015-02-14 16:32:12 +01:00
Thibault Saunier
a5dab4b378
validate:scenario: We do not own any ref in GstValidateExecuteAction
...
And gst_validate_action_set_done might very well unref the last
reference to the action
2015-02-14 16:32:12 +01:00
Thibault Saunier
45f3f3d772
validate: Make sure that the latest action type registration is kept
...
Avoiding to change the behaviour!
2015-02-14 16:32:12 +01:00
Thibault Saunier
e80a7df4d3
validate:scenario: Handle scenario repeat property with sub actions
...
And port change_state_intensive.scenario to it
2015-02-14 16:32:12 +01:00
Thibault Saunier
a5a0722d20
validate:scenario: Add the notion of sub actions
...
Sub action will allow user to executed action *right* after the
previous action has been completed, meaning in the end that both
action can be considered as one single action.
+ Factor out a function to fill an GstValidateAction structure from a
GstStructure
+ Factor out a function to set action playback time
2015-02-14 16:32:12 +01:00
Thibault Saunier
759b087c8c
validate: Document some env variable usage
2015-02-14 16:32:12 +01:00
Thibault Saunier
441513e689
validate: Add an API to cleanly register action type from plugins
...
API:
gst_validate_register_action_type_dynamic
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
1194b313af
validate: Rename libfaultinjector to libgstvalidatefaultinjector
...
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
dae4051ed6
validate: Use plugin name as implementer_namespace when registering action type
...
And document it as a good practice as it will allow us to map plugins
and action types
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
cdc6565605
validate: Move the fault_injection plugin to gst/plugins/
...
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
5c90a06645
validate: Use an actual GstRegistry to track our plugins
...
Keeping everything internal for now
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
ed43ab1509
validate: Implement fault_injection as a Gs(tValidate)Plugin
...
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:11 +01:00
Thibault Saunier
a9b27057bb
validate:scenario: Add a way to specify action structure size
...
And return the register GstValidateActionType on registration
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
fbfcf16b20
scenario: Do not concider we are seek_in_paused if executing a new action
...
The new action might change the position on purpose and we should not
fail in that case.
Also at that point we know the test of position after the seek has
been executed
+ Minor cosmetic fixes
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
be20eb015c
validate:launcher:baseclasses: Avoid raising axception when all getting scenarios
...
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
00b222f38f
launcher: Use gst-integration-testsuites FDO git repo
...
And make sure that people that were using the old repo get the origin
repo properly updated.
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
a85ace1783
validate: launcher: Allow discovering scenario from full path
...
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
9f5310b1d8
validate: scenario: Add a method to get the following action to be executed
...
API:
+ gst_validate_scenario_get_next_action
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
8125c46122
validate: Add helper functions ti print actions
...
API:
+ gst_validate_scenario_get_next_action
+ gst_validate_reporter_report_simple
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:10 +01:00
Thibault Saunier
16d52a445b
validate: Minor documentation fixes
...
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
6350bf417e
validate: Set seek_with_stop as needing at least 2secs media files
...
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
11f923fa52
validate: Fix the check of action that can be *not* executed
...
The check was wrong and we ended up allowing seek actions to no be
executed.
API:
GST_VALIDATE_ACTION_TYPE_NO_EXECUTION_NOT_FATAL
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
5069e0347c
validate:scenario; Advertise action types that will be executed on addition
...
Adding a flag to the action type
And make that code thread safe.
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
c74f33bd17
validate:scenario: Add a Flag fore ActionType that need clocks sync
...
And cleanly use it to set the need-clock-sync field in
the scenario properties
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
ef0f78f600
validate: Add the notion of INTERLACED actions
...
An interlaced action is an action that will be executed ASYNC but
without that will not block following actions during its execution.
The action should be set to done later on at any point during the
execution of the scenario.
API:
+ GST_VALIDATE_EXECUTE_ACTION_INTERLACED
+ GST_VALIDATE_ACTION_TYPE_INTERLACED
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
e7cc086f95
validate: Add a way to retrieve register actoin type from outside
...
API:
* GstValidateActionType
* gst_validate_get_action_type
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:09 +01:00
Thibault Saunier
eac25a3ad6
validate:launcher: Implement a FakeMediaDescriptor
...
This allows us to more cleanly implement Simple pipeline test
generation
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
71d53bb2d3
validate:scenario: Make action->scenario public API
...
It can be usefull for action type implementers
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
8848657ce3
validate:scenario: Add a disable-plugin action type
...
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
5f888fb5b6
validate: Properly advertise the wait action as ASYNC
...
And add some printing when executing the set-property action
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
da31e3914f
validate: Enhance support for simple pipeline test generation
...
The GstValidatePipelineGenerator was quite limited in term
of configuration for user who just want to specify pipelines
to run with/without scenario.
Enhance the API so that we can properly configure that.
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
bee292f548
validate: Wait for switch-track to complete before executing next action
...
This action type can take some time, we need to make sure that the
combiner/input-selector element properly pushed a buffer marked
as DISCONT to concider the action is done.
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:08 +01:00
Thibault Saunier
d7b5d57305
validate:scenario: Avoid waiting for 50ms between actions
...
We should be able to execute the next action as soon as the previous
one is fully completed, make sure the code tries to do that and does
not artificially add some waiting time.
And make sure if the gst_validate_action_set_done is called from outside
our execution thread, we do not try to execute anything
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:32:07 +01:00
Thibault Saunier
508678cfe1
scenario: Add a signal to notify user when the scenario is DONE executing
...
https://bugzilla.gnome.org/show_bug.cgi?id=743994
2015-02-14 16:31:57 +01:00
Ramiro Polla
d833a51134
validate: launcher: Print test name in Result
...
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:39 +01:00
Ramiro Polla
c0cefecd23
validate: launcher: Add option to run tests in parallel
...
Patch 4/4 to implement parallel test execution.
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:39 +01:00
Ramiro Polla
1f981762c2
validate: launcher: Print test number on result
...
With parallel test execution, it will be hard to track which result
relates to which test. Therefore, the test number should be printed
along with the results as well.
Patch 3/4 to implement parallel test execution.
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:39 +01:00
Ramiro Polla
a9a366427e
validate: launcher: Use jobs list to take track of tests running
...
Currently the tests are still run serially.
Patch 2/4 to implement parallel test execution.
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
d9097f8bf7
validate: launcher: Use test index instead of counting test numbers
...
Patch 1/4 to implement parallel test execution.
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
9c46f5f889
validate: launcher: Support simultaneous requests in RangeHTTPServer
...
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
ef246a497c
validate: launcher: Make TestManager handle waiting for processes
...
Patch 4/4 to make TestManager handle waiting for processes instead of
expecting each Test to do it.
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
0026c2804f
validate: launcher: Use a Queue to test for test completion
...
TestManager will use a Queue to track progress for all tests. This
commit implements a queue inside Test to simplify the transition.
Patch 3/4 to make TestManager handle waiting for processes instead of
expecting each Test to do it.
https://bugzilla.gnome.org/show_bug.cgi?id=743063
2015-02-05 15:18:38 +01:00
Ramiro Polla
bd4c221141
validate: launcher: Initialize Test start time outside of wait_process
...
wait_process will be moved to TestManager, so the values used to track
process update must remain inside Test.
Patch 2/4 to make TestManager handle waiting for processes instead of
expecting each Test to do it.
2015-02-05 15:18:38 +01:00
Ramiro Polla
498f7002f3
validate: launcher: Split process_update() out of wait_process()
...
Patch 1/4 to make TestManager handle waiting for processes instead of
expecting each Test to do it.
2015-02-05 15:18:37 +01:00
Ramiro Polla
d12f55daf4
validate: launcher: Move logfile handling out of Reporter and into Test
...
This makes each Test handle its own logfile, allowing the Reporter to
work on multiple tests at the same time.
Patch 5/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
500206d3ad
validate: launcher: Remove redundant check
...
self.out is always available when _get_captured() is called.
Patch 4/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
177eee728f
validate: launcher: Split test log file handling in Reporter
...
Patch 3/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
b9357e3b17
validate: launcher: Separate Reporter from current Test
...
Instead of saving the current Test in Reporter for every test, use
function parameters to achieve the same goal.
Patch 2/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
39a4092434
validate: launcher: Initialize reporter timer before starting all tests
...
Patch 1/5 to move logfile handling out of Reporter and into Test.
2015-02-05 15:18:37 +01:00
Ramiro Polla
bdedd7abb9
validate: launcher: Don't wait for processes longer than necessary
2015-02-05 15:18:36 +01:00
Mathieu Duponchelle
db695185c9
socket interposer: Be even more platform restrictive.
2015-02-03 16:48:49 +01:00
Mathieu Duponchelle
e5976cad43
validate: do not compile for android.
2015-02-03 15:51:34 +01:00
Mathieu Duponchelle
4ce91b98f0
validate: Implement a fault injection library.
...
+ And implement a corrupt-socket-recv action
+ Only compile this on Linux, LD_PRELOAD won't work on Windows.
For now the registering of the action is done through
a call to socket_interposer_init, this will get better
when we refactor the action logic.
https://bugzilla.gnome.org/show_bug.cgi?id=743871
2015-02-03 15:30:54 +01:00
Mathieu Duponchelle
89048ad862
validate: tests more issues with caps.
...
https://bugzilla.gnome.org/show_bug.cgi?id=743387
2015-01-26 18:08:47 +01:00
Mathieu Duponchelle
bf2c949aee
validate: Add a test case for caps missing field.
...
+ Make the fake decoder have video/x-raw caps.
https://bugzilla.gnome.org/show_bug.cgi?id=743387
2015-01-26 18:08:47 +01:00
Mathieu Duponchelle
887349167b
validate: prepare tests for port to tracers backend.
...
https://bugzilla.gnome.org/show_bug.cgi?id=743387
2015-01-26 18:08:47 +01:00
Mathieu Duponchelle
165e35b3f0
bin-monitor: add itself as gobject data.
2015-01-22 22:07:37 +01:00
Ramiro Polla
b29f378296
validate: launcher: Fix test log header output
...
Write log file header before running tests, instead of overwriting the
file afterwards.
https://bugzilla.gnome.org/show_bug.cgi?id=742966
2015-01-16 16:24:16 +01:00
Ramiro Polla
9c3606a867
validate: launcher: Always create log files
...
Create log files even when stdout redirection is enabled.
This commit partially reverts 20c28de
.
https://bugzilla.gnome.org/show_bug.cgi?id=742973
2015-01-16 16:24:13 +01:00
Ramiro Polla
4e0388c631
validate: launcher: Introduce new parameter for log file redirecting
...
Allow log file redirection through the new --redirect-logs parameter.
Keep the old --logs-dir stdout/stderr parameter, but reset to the
default logs directory in that case, and set redirect_logs internally.
This also prevents the creation of an stdout/stderr directory for
writing xunit.xml.
https://bugzilla.gnome.org/show_bug.cgi?id=742973
2015-01-16 16:24:13 +01:00
Thiago Santos
10fe72aa52
pad-monitor: plug caps leak on iterator resync
2015-01-09 14:04:16 -03:00
Thiago Santos
389f6d96b4
pad-monitor: use the same filter caps when querying downstream caps
...
To avoid comparing the real result that has been filtered against
a much larger caps that contains all possibilities.
2015-01-09 14:04:13 -03:00
Thibault Saunier
0c48665458
validate: tests: disable g_log handler
...
It messes up our own failures counter
And pass test-utils into gst-indent
2014-12-09 10:11:02 +01:00
Thiago Santos
6df63915c2
tests: padmonitor: disable glog handling
...
It messes up our own failures counter
2014-12-08 18:53:55 -03:00
Thiago Santos
7b4df44f61
pad-monitor: get correct caps to check for proxied fields in caps queries
...
Elements should proxy the peer element's caps fields and not what they
have currently set on their pads when replying to a caps query
2014-12-08 17:28:47 -03:00
Thiago Santos
af2707d3a3
pad-monitor: Only add pending caps fields for source pads
...
As caps events are downstream, caps set travels from sinks to
sources. Adding pending setcaps values to sink pads makes no sense
as when a new caps is set on the sink it would compare with values
currently set on the source pad, causing a critical failure when
renegotiation happens.
2014-12-08 17:28:47 -03:00
Thibault Saunier
1e39db18ad
validate: launcher: Take the timeout as ref timeout to compute hard_timeout
...
when it is provided.
2014-12-08 18:38:46 +01:00
Thibault Saunier
5beaf5dfa8
validate: launcher: Set a hard timeout on GstValidate tests if we know the duration
2014-12-08 16:34:48 +01:00
Thibault Saunier
a2abf628dc
validate: launcher: Force kill subprocess when done with them
...
Making sure that we do not end up having spurious subprocess around
2014-12-08 16:19:20 +01:00
Thiago Santos
d25fb034fa
launcher: baseclass: add missing parameter
...
Fixes "NameError: global name 'options' is not defined"
2014-12-08 08:43:57 -03:00
Thibault Saunier
8450dff17d
validate: launcher: Properly handle non default main dir
...
for the case of the new testsuite files
2014-12-08 10:10:04 +01:00
Thibault Saunier
5bfd579bf4
validate: launcher: Make the gstvalidate application a python module
2014-12-07 18:32:37 +01:00
Thibault Saunier
ce02887627
validate: Remove remaining reference to launcher/apps/validate
...
It has been removed now.
2014-12-06 10:53:37 +01:00
Thibault Saunier
1bc32a888f
validate: Avoid assert removing an already removed signal handler
...
And, make sure that we set the return value != 0 when we receive
SIGINT
2014-12-05 20:51:44 +01:00
Thibault Saunier
272032c0b0
validate: Handle setting the HTTP server local path from testsuites
2014-12-05 20:51:44 +01:00