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