Commit graph

2098 commits

Author SHA1 Message Date
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
Tim-Philipp Müller
74660cb861 codecanalyzer: fix codec detection with git master
The names might be 'MPEG-2 (Simple Profile)' now.
Shouldn't really rely on codec name strings here
in the first place, but use caps instead.
2015-02-18 11:37:43 +00: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