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