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
Thibault Saunier
22fba81138
validate: Rename gst-qa-assets to gst-integration-testsuites
2014-12-05 20:51:43 +01:00
Thibault Saunier
130a2892b1
validate: print execution of set_subtitles actions
2014-12-05 19:23:43 +01:00
Thibault Saunier
3dff417fdf
validate: Factor out an LauncherConfig class type to handle configurations
...
Allowing us to more simply define default value and expose an API on
top of it
2014-12-05 19:23:43 +01:00
Thibault Saunier
515c8405f0
validate: Remove file specific blacklisted tests
2014-12-05 16:16:53 +01:00
Thibault Saunier
988e9a370e
validate: Let the user know when new tests are added, or tests are REMOVED
2014-12-05 16:16:53 +01:00
Thibault Saunier
d38307a073
validate: Add a cleaner API to setup tests in testsuite files
...
With the testsuite format you will get a setup_tests(tests_manager,
options) function called for each TestManager.
The function will have the exact same role as with old config
file but with a clean API and not magic global variables.
This implies that we need default blacklist to be directly set
on the TestManager and not on options.blacklisted_test
2014-12-05 16:16:53 +01:00
Thibault Saunier
b852fbcbfb
validate: Add a way to sync all assets, including big ones
2014-12-05 12:17:40 +01:00
Thibault Saunier
71566688bf
validate: Remove the default testsuite implementation
...
The default testsuite implementation should belong to the default
asset repo where we have the corresponding knowledge.
We should style manage a sensible list of known blacklisted tests,
encoding profiles, and generators in GstValidate itself and allow testsuite
actual implementations to easily use them though the register_default_*
methods.
This allow us to be able to remove the ugly execfile() call.
2014-12-05 12:17:40 +01:00
Thibault Saunier
36aed39259
validate: Make sure to at least listen to GStreamer and GLib g_logs
...
If somewhere else someone is overriding the g_log default handler,
we would not get notified of anything.
2014-12-05 12:16:55 +01:00
Thibault Saunier
ccbcc04498
validate: Disable coloration of GST_DEBUG logs when we have no-color
...
Do that only when those logs are not saved to a file
2014-12-05 12:16:54 +01:00
Thibault Saunier
582f1cfc06
validate: Factor out a function to print action types parametters
...
+ Remove playback-type from the list and just print it
2014-12-05 12:16:54 +01:00
Thiago Santos
db67a92b3f
pad-monitor: do not enforce caps querying rules for converters
...
Some encoders/decoders can also be converters, do not enforce
caps proxying rules for them
2014-11-28 17:21:23 -03:00
Vineeth T M
163d286f5b
validate: fix typo in documentation
...
There are some typing mistakes in gst-validate-launcher --help
Hence fixing the same.
https://bugzilla.gnome.org/show_bug.cgi?id=740833
2014-11-28 11:16:09 +01:00
Thibault Saunier
b5219eaceb
validate: Handle unlimited tests duration
...
Running full length scenario when the user asks
2014-11-25 19:41:01 +01:00
Thibault Saunier
c952886813
validate: Already having a monitor is no error
2014-11-25 19:41:01 +01:00
Thibault Saunier
1753afbe8d
validate: pre commit hook: Do not try to run pep8 on non python files!
2014-11-25 19:41:01 +01:00
Thibault Saunier
62bf27f5e3
validate: Add scub_*_seeking_full scenarios
...
Which basically do the same thing as scrub_*_seeking but during
throughout the whole duration of the media
2014-11-25 19:41:00 +01:00
Thibault Saunier
b56ebc8a43
validate: Enhance documentation
2014-11-25 19:41:00 +01:00
Thibault Saunier
65eb14de36
validate: Add an option to update all .media_info files
2014-11-25 19:41:00 +01:00
Thibault Saunier
11c49a7db8
validate:scenario: Execute actions without playback time without a valid position
...
If the user did not specify any playback time we should be able to
execute actions even if the pipeline can't answer the position query
+ Make simpler to read the conditions of an action execution
2014-11-25 19:41:00 +01:00
Thibault Saunier
cdfa1ee61b
validate:scenario: Properly handle ASYNC action execution in the API
...
The ->execute function now return a GstValidateExecuteActionReturn
which can be set as ASYNC in order to tell the scenario that the action
will be executed asynchronously, when the action is done, the caller is
responsible for calling gst_validate_action_set_done(); so that the
scenario keeps going on.
In this commit we make sure that the old API keeps working as
GST_VALIDATE_EXECUTE_ACTION_ERROR == FALSE and
GST_VALIDATE_EXECUTE_ACTION_OK == TRUE
Morevover GstValidateExecuteActionReturn is just a define
API:
+ gst_validate_action_set_done
+ GstValidateExecuteActionReturn
https://bugzilla.gnome.org/show_bug.cgi?id=739854
2014-11-25 19:41:00 +01:00
Thibault Saunier
4cbcb97258
validate: Add a GstValidateActionTypeFlag flag
...
Allowing us to define action types more in detail.
Keep backward compatibility, at least with the C API
https://bugzilla.gnome.org/show_bug.cgi?id=739854
2014-11-25 19:29:13 +01:00
Thibault Saunier
fcb0f20828
validate: Add a GstValidatePipelineMonitor subclass
...
We had quite a bit of code dedicated to handled GstPipeline monitoring
inside GstValidateBinMonitor, cleanly split that code into a new object
type
https://bugzilla.gnome.org/show_bug.cgi?id=740704
2014-11-25 19:29:13 +01:00
Thibault Saunier
36a2d61068
validate:launcher: Force clock sync for some protocols
...
In HLS for example, not having clock sync might lead to races and failures
do not test that for now
2014-11-20 12:09:29 +01:00
Thibault Saunier
057a864223
validate: Don't fail getting master report from a ghostpad without target
2014-11-20 12:09:26 +01:00
Thibault Saunier
6300fb9602
validate: Print current position even if we do not know the rate
...
That could cause gst-validate-launcher to wrongly concider tests
as timeout
2014-11-19 20:05:57 +01:00
Thibault Saunier
2be3c04b9b
validate:scenario: Force clock sink for scenarios with a pause action
2014-11-19 17:59:26 +01:00
Thibault Saunier
a15b2544ce
validate: Handle wrong paths when listing avalaible apps
...
User can make mistake or we can have an empty path.
2014-11-19 17:59:26 +01:00
Thibault Saunier
7f8c0c2751
validate: Do not check if first buffer running time is 0
...
It can perfectly not be 0, so it makes no sense to check that.
https://bugzilla.gnome.org/show_bug.cgi?id=739965
2014-11-19 17:59:26 +01:00
Thibault Saunier
5d8f6083b4
validate: Add audiomixer test to the default testsuite
2014-11-16 18:27:32 +01:00
Thibault Saunier
9255a8f876
pad-monitor: Give better details about segment mismatch issues
2014-11-16 18:27:32 +01:00
Thibault Saunier
4a2b9d6431
validate: Be more precise in issue type for wrong seqnum
...
Depending on the type of event where the bug occurs,
it is not the same issue type. That allows us to have
much precise reports, and better explain the user
where the issue stands.
2014-11-16 18:27:32 +01:00
Thibault Saunier
c77089cc62
validate: Fix a few annotation issues
2014-11-16 18:27:32 +01:00
Thibault Saunier
8c6803c467
validate: Add the notion of WAIT_MULTIPLIER for the wait action
...
Allowing the user to decide to wait more, or less, or even not wait
for the wait action to execute when running scenarios.
2014-11-16 18:27:32 +01:00
Thibault Saunier
1c2c0e63c2
validate:scenario: Report an EXECUTION_ERROR on action execution failure
...
If the action type handles a better error report type, it should just
return TRUE, and report its issue itself.
2014-11-04 17:33:09 +01:00
Thibault Saunier
e2d8096cb7
validate: Do not exit when we can not discover a result file
...
Loggable.error actually exit the process, it is not what we want!
+ Avoid a backtrace
2014-11-04 17:33:08 +01:00
Edward Hervey
4814110a86
scenario: Allow set-property action to work much earlier
...
By default an action has no playback-time, this makes it actionable
immediatly.
When no playback-time is set on a set-property action, it will
be activated the moment the element is added in the pipeline.
2014-11-04 17:12:00 +01:00
Edward Hervey
6a86f7c1c9
validate-bin-monitor: Initialize local variable
...
Avoids segfaults when freeing them if they didn't get filled in
2014-10-31 16:01:52 +01:00
Mathieu Duponchelle
85587a9aa5
validate: update pre-commit hook.
...
+ Allows to run multiple pre-commit hooks.
+ Always relink the hooks on autogen.
+ Run pep8 on commited python files.
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
7bbd3ed288
apps: gstvalidate.py: fix various pyflakes / uncaught pep8 issues.
...
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
9bdc6e9b6d
validate-launcher: utils: fix various pyflakes / uncaught pep8 issues.
...
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
b30d27e35e
validate-launcher: main: fix various pyflakes / uncaught pep8 issues.
...
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
95065edebd
validate-launcher: loggable: fix various pyflakes / uncaught pep8 issues.
...
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
a0a88e1708
validate-launcher: baseclasses: fix various pyflakes / uncaught pep8 issues.
...
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
8c1e84b5f4
validate-launcher: pep8ify sources.
...
https://bugzilla.gnome.org/show_bug.cgi?id=739208
2014-10-30 15:40:17 +01:00
Mathieu Duponchelle
fa39e0358a
validate-utils: downgrade ERROR to DEBUG.
...
This function is called in places where it is legit for it
to return NULL.
2014-10-30 15:39:01 +01:00
Mathieu Duponchelle
4d569b51ed
launcher: add a way to specify an application directory.
...
https://bugzilla.gnome.org/show_bug.cgi?id=739091
2014-10-30 15:31:29 +01:00
Mathieu Duponchelle
74ed40c904
launcher: Don't implement product-specific TestManagers.
...
This manager will be moved in GES.
https://bugzilla.gnome.org/show_bug.cgi?id=739091
2014-10-30 15:31:29 +01:00
Mathieu Duponchelle
b0beefacfa
validate-launcher: restructure filesystem
...
https://bugzilla.gnome.org/show_bug.cgi?id=739091
2014-10-30 15:31:29 +01:00
Ramprakash Jelari
eb47b1021f
validate: Fix compiler warning about implicit enum type conversion
...
gst-validate-reporter.c:119:39: error: implicit conversion from enumeration type
'GstValidateReportingDetails' to different enumeration type
'GstValidateInterceptionReturn' [-Werror,-Wenum-conversion]
GstValidateInterceptionReturn ret = GST_VALIDATE_SHOW_UNKNOWN;
~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~
gst-validate-reporter.c:124:11: error: implicit conversion from enumeration type
'GstValidateReportingDetails' to different enumeration type
'GstValidateInterceptionReturn' [-Werror,-Wenum-conversion]
ret = iface->get_reporting_level (reporter);
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gst-validate-reporter.c:127:10: error: implicit conversion from enumeration type
'GstValidateInterceptionReturn' to different enumeration type
'GstValidateReportingDetails' [-Werror,-Wenum-conversion]
return ret;
~~~~~~ ^~~
2014-10-24 15:19:19 +02:00
Mathieu Duponchelle
6cf2d92b0f
build: We install all headers system wide for now.
...
Will be fixed when the API is deemed stable enough
2014-10-22 14:16:45 +02:00
Mathieu Duponchelle
30aef5ba84
validate: rename GstValidateReportingLevel.
...
Removes the confusion with GstValidateReportLevel.
Modeled on GstDebugGraphDetails.
2014-10-21 23:41:04 +02:00
Thibault Saunier
6d0930bb36
validate: Verify that elements always send a segment before pushing EOS
...
EOS is some kind of data flow and thus a segment event should always be
pushed before the EOS is sent
2014-10-21 20:40:27 +02:00
Thibault Saunier
23d7df3788
validate: Properly check that the seqnum of the EOS is always properly set
...
In the pipeline, an EOS should always have the same seqnum of the
previous SEGMENT event that was received. If the segment is the result
of a seek, it should always be the same as the seek seqnum too.
+ (Mathieu Duponchelle): fix reporting and concatenation tests.
2014-10-21 20:37:23 +02:00
Thibault Saunier
34a9c36edc
validate: Add support for text based override files
...
Allowing user to easily determine the severity of issue
types in a config file
https://bugzilla.gnome.org/show_bug.cgi?id=737852
2014-10-21 20:23:32 +02:00
Thibault Saunier
b0d39c1c45
validate: Remove unused method
...
gst_media_descriptor_add_frame is not used anywhere
https://bugzilla.gnome.org/show_bug.cgi?id=737852
2014-10-21 20:21:58 +02:00
Thibault Saunier
a3513fc952
validate: Move GstStructure file parsing into utils
...
So it can be reused, at least in GstValidate.
2014-10-21 20:21:52 +02:00
Thibault Saunier
8ec61ddac2
validate: report: Simplify the issue ID registering using GQuarks
...
+ Remove unused issue types
https://bugzilla.gnome.org/show_bug.cgi?id=737790
2014-10-21 20:21:42 +02:00
Thibault Saunier
bb93dbb9fb
validate: Check all buffers when we have the info from MediaDescriptor
...
We now check that each buffer is the expected one for each buffer that
come into the decoder.
+ Fix some minor leaks in test-utils
https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:21:36 +02:00
Thibault Saunier
cd9a3640b2
validate:media-descriptor-parser: Add a way to create from a string
...
So it is simple to make use of it from the testsuite
https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:14:05 +02:00
Thibault Saunier
f793d06783
report: g_critical are CRITICAL issues!
...
https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:14:05 +02:00
Thibault Saunier
94efe0df85
validate: launcher: Fix printing of errors in final report
...
https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:14:05 +02:00
Thibault Saunier
20633cec19
validate: Add the possibility to generate media infos with frame descs
...
+ Fix a little issue when the generation fails.
https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:14:05 +02:00
Thibault Saunier
b3fa06c3c1
validate: MediaDescriptors: Add md5sum to buffer informations
...
In the media descriptor files, we now have the md5sum of the actual
content of encoded buffers so that we can check that the buffer content is
perfectly what is was supposed to be.
+ Fix the check of whether a frame is a keyframe in the string
comparison (g_ascii_strcasecmp return 0 if string matches)
https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:14:05 +02:00
Thibault Saunier
50273c42a9
validate: Move some method between GstMediaDescriptorParser and GstMediaDescriptor
...
So that method land where they actually belong.
https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:14:05 +02:00
Thibault Saunier
c5dfd9c8c8
validate: Add a way to pass a MediaDescriptor around monitors
...
And add an option in gst-validate so that the user can define what
media descriptor file to use.
https://bugzilla.gnome.org/show_bug.cgi?id=736138
2014-10-21 20:14:05 +02:00
Thibault Saunier
c8a99218de
validate:media-descriptor: Handle stream with no tags
...
It was segfaulting before.
2014-10-21 20:14:05 +02:00
Thibault Saunier
8fb3e6112c
validate: Add more files to gitignore
2014-10-21 20:14:05 +02:00
Thibault Saunier
8f5347c465
validate: Move some method between GstMediaDescriptorParser and GstMediaDescriptor
...
So that method land where they actually belong.
2014-10-21 20:14:05 +02:00
Mathieu Duponchelle
c542d9c6bc
validate-report / reporter: rework the way we repeat issues.
...
+ runner: update reports count algorithm.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
5690a02e0a
pad-monitor: mark the peer pad as EOS too.
...
When a sink pad gets EOS, its src pad monitor should also
be marked as EOS (helpful with issue concatenation).
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
0b1d00df25
validate-pad-monitor / runner: Check per-object reporting levels.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
167c29125d
validate-report: Set conditions in which a report can't be master.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
582cebeae6
validate-report: Add a reporting level field and setter.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
030e7e8ba8
validate-runner: implement synthetic report.
...
+ Fix criticals logic in validate_runner_printf
+ Update padmonitor tests
+ Split validate_report_printf function.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
1993229993
validate-runner: Implement REPORT_NONE for global reporting.
...
Yeah that was tough. Helpful already though, for example:
GST_VALIDATE_REPORT_LEVEL=none,x:all gst-validate src name=x ! sink
will only report issues reported by the source.
+ Add test.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
0a1cdb2164
tests: Check monitors correctly determine their reporting level.
...
+ [API] gst_validate_reporter_get_reporting_level
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
5cb60060dc
validate-runner / monitor: Let the user single out pads.
...
That's some pretty specific code but it should be helpful.
The following syntax can be used : element-name::pad-name.
+ Free return of gst_object_get_name.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
b21bb1ff34
validate-runner / reporter: Sanitize reports refcounting.
...
The previous code worked but was confusing, the runner didn't actually
take the ref it was releasing later.
+ Fix indentation.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
de554ba417
tests: Test reports refcounts.
...
+ Set the element monitor on the element as qdata.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
c943a75766
validate-monitor: Determine the reporting level at setup.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
1d7f15598f
validate-runner: Add code to parse GST_VALIDATE_REPORT_LEVEL.
...
+ Extend the tests.
+ [API] gst_validate_runner_get_default_reporting_level
+ [API] gst_validate_runner_get_reporting_level_for_name
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
6ed125bfb1
validate-runner: report-level initial work.
...
+ Defines reporting levels and document them.
+ Add API to get the default level.
+ fix indentation.
+ fix some typos.
+ Add the beginning of a reporting test.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
6e08079f8b
validate-pad-monitor: concatenate issues.
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=735665
The process is to check for a similar report in intercept_report on
the pads of the upstream element, set that report as the master report
of the intercepted report, and return REPORTER_KEEP instead
of REPORTER_REPORT.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
d747e1cd05
test-utils: add a create_and_monitor element function.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
f001777cc6
validate-reporter: Add some methods
...
+ gst_validate_reporter_get_reports
+ gst_validate_reporter_get_reports_count
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
222a517384
validate-report: Add the notion of master / shadow reports.
...
A master report is a report that has been detected by a monitor
to stem from the same issue. It thus contains a list of
"shadow reports" which it will browse when printing itself.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
b8ac717297
validate-report: Make the ref / unref functions safer.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
1fcaf8918f
tests/padmonitor: Correcly strdup the result of get_metadata.
...
The const pointer was becoming invalid after the first call to add_metadata,
and we ended up setting corrupted data on the second call.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
3e557ca92b
validate-reporter: Add return value to intercept_report.
...
It will allow to drop, keep or report reports.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
6104701268
validate-pad-monitor: Reimplement reporter interface.
...
+ Do nothing there for now, except chain up.
2014-10-21 20:13:51 +02:00
Mathieu Duponchelle
fb90aa2ead
validate-reporter: add gst_validate_reporter_get_report.
...
+ Add locking.
2014-10-21 20:13:51 +02:00
Thibault Saunier
1cc89414f1
Back to development
2014-10-20 13:38:20 +02:00
Thibault Saunier
ad415424a1
Release 1.4.0
2014-10-20 13:24:29 +02:00
Thibault Saunier
26ef55d622
validate: Print position if it could properly be queried
...
Otherwize we will print meaningless garbage.
2014-10-13 16:30:05 +02:00
Thibault Saunier
4823d998fc
validate:launcher: Minor enhancement in the documentation
2014-10-13 10:32:07 +02:00
Thibault Saunier
99045f7dbb
validate: Rename action type playback_time to playback-time
...
Keeping backward compatiblity with the old naming
2014-10-12 20:19:42 +02:00
Thibault Saunier
02ab99fcbb
validate: Rename gst_validate_add_action_type to gst_validate_register_action_type
...
The _register naming corresponds much better to what the method does
and makes it more similar to how we refer to this kind of action in
GStreamer.
It is a last minute API change, but that API should not change anymore
after 1.4 is released.
2014-10-12 20:10:19 +02:00
Thibault Saunier
9158bb36e3
validate: Fix the addition of playback_time in the parameter types
2014-10-12 20:00:03 +02:00
Thibault Saunier
8289f64904
validate: Rename --list-action-types to --inspect-action-type
...
Making clearer the meaning of the parameter and closer to the
usual naming in the GStreamer land.
2014-10-12 19:46:39 +02:00
Thibault Saunier
ce87de95ea
validate: Add the 'flags' for the seek action type
...
This was always a mandatory field but was not documented
2014-10-12 19:16:08 +02:00
Anuj Jaiswal
83c0453d81
validate: mishandled pointer criticals
...
Free glist of criticals
Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=736313
2014-10-09 20:38:12 -03:00
Thibault Saunier
17bf802515
validate:docs: Add documentation about the default testsuite
2014-10-01 11:02:17 +02:00
Mathieu Duponchelle
8cfffb4a3a
validate-runner: switch to using a GList for the reports.
...
+ Return a copy of that list in get_reports.
+ update tests.
2014-09-30 11:42:42 +02:00
Mathieu Duponchelle
1f1cf83af8
validate-runner: Hide implementation.
2014-09-30 11:42:42 +02:00
Mathieu Duponchelle
855f141453
gst-validate-runner: Add locking for the reports list.
2014-09-30 11:42:42 +02:00
Thibault Saunier
e7315aa78e
Release 1.3.90
2014-09-29 15:37:40 +02:00
Thibault Saunier
b856d5985c
validate:launcher: Factorize code to get a MediaDescriptor name for classname
...
Instead of copy/pasting that code badly
2014-09-12 11:26:48 +02:00
Edward Hervey
490a8f1ed9
validate/docs: Add location of Scenario/Action defines
2014-09-12 10:22:15 +02:00
Anuj Jaiswal
c98f7e7b38
validate: (performance issue)refactor to remove duplicate assignment
...
Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=736412
2014-09-12 09:57:05 +02:00
Thibault Saunier
1649b49f1c
validate: docs: Always dist the launcher directoty
...
Fixing make distcheck
2014-09-12 09:57:05 +02:00
Thibault Saunier
332a51d1f0
validate: Get the Runner reports in order of arrival
...
Making sure they are printed in the right order
2014-09-12 09:57:05 +02:00
Thibault Saunier
7e85c9b0b5
validate: Start a testsuite
...
Currently implemented tests are:
* Settup and cleanup on monitor is done properly
* Some tests in the PadMonitor are done properly, namely:
- Buffer before segment
- Buffer outside segment
- First buffer running time is always 0
- The Demuxer flow aggregation is properly checked
https://bugzilla.gnome.org/show_bug.cgi?id=736379
2014-09-12 09:57:05 +02:00
Edward Hervey
80de4392ce
validate/private: Avoid double typdef
...
Instead just include required (public and local) header
gst-validate-scenario.h:43:44: error: redefinition of typedef 'GstValidateActionParameter' is a C11 feature [-Werror,-Wtypedef-redefinition]
2014-09-12 09:49:35 +02:00
Thibault Saunier
07391578c9
validate: Make sphinx documentation generation optionnal
2014-09-06 12:37:30 +02:00
Thibault Saunier
3ff59368f0
validate:launcher: Add needed files to build documentation with sphinx
2014-09-06 12:22:48 +02:00
Thibault Saunier
b843ead1f8
validate: launcher: Cleanup and rename apps to avoid '-' in their name
2014-09-06 11:38:38 +02:00
Thibault Saunier
7838f3ebae
validate:launcher: Avoid '.' before media file extension in test classnames
2014-09-06 10:02:13 +02:00
Felix Schwarz
1a8b460d23
validate:docs: fix spelling mistakes
...
https://bugzilla.gnome.org/show_bug.cgi?id=736160
2014-09-05 23:21:21 +02:00
Thibault Saunier
3755581fd3
validate: Take a const gchar ** in gst_validate_print_action_types
...
This is what we actually need and thus is cleaner.
2014-09-05 23:15:29 +02:00
Thibault Saunier
69165a9f04
validate: Implement the notion of implementer namespace to the action types
...
This allows users to know who implements an action type.
+ Enhance the printing of all action making it readable.
2014-09-05 23:03:58 +02:00
Thibault Saunier
15f52d4fa3
validate: Add informations on the switch-track action overrided for playbin
2014-09-05 19:30:52 +02:00
Thibault Saunier
34fd5af840
validate: docs: Add some GstValidate usage documentation
...
+ Fix minor issues in the gst-validate and gst-validate-transcoding
tools documentation
2014-09-05 19:00:23 +02:00
Guillaume Desmottes
f7955f5249
validate: remove redundant pre-condition in monitor_factory_create
...
The same check is already done at the head of the function.
https://bugzilla.gnome.org/show_bug.cgi?id=736019
2014-09-05 19:00:23 +02:00
Guillaume Desmottes
f900f53e95
validate: fix a couple of typos in comments
...
https://bugzilla.gnome.org/show_bug.cgi?id=736019
2014-09-05 19:00:23 +02:00
Thibault Saunier
ef64eb0d0e
validate:docs: Sensibly update the usage file
2014-09-05 19:00:23 +02:00
Thibault Saunier
7cfdb5372c
validate: Use a GList to store action types instead of hashtable
...
It is more adapted and allows us to print the action types in a stable
maneer.
2014-09-05 19:00:23 +02:00
Thibault Saunier
eb6739c91b
validate: report: Do not repeat type name when printing its details
2014-09-05 19:00:23 +02:00
Thibault Saunier
b4ddea0fd2
validate: Change the version to 1.0.0.1
...
The 1.0.0.1 means that it is targetting the GStreamer 1.X serie,
and is a git version (thus 0.1)
GstValidate will most probably not be released and we should try to
be able to use it with as many version of the GStreamer 1.X serie
as possible.
2014-09-05 19:00:23 +02:00
Thibault Saunier
e5b485d776
validate: Document the API with gtk-doc
2014-09-05 19:00:23 +02:00
Thibault Saunier
45ffbdec07
validate: Add GObject Introspection support
2014-09-05 19:00:23 +02:00
Thibault Saunier
4fd1939b21
validate: Rework the action parameter API
...
Making it possible to properly define parameters, and describe them.
+ Document all action types!
2014-09-05 19:00:23 +02:00
Thibault Saunier
d29a8e4a77
validate: Add an option to print all avalaible actions with details
...
+ Cleanup actions descriptions
+ Make GstValidateActionType internal only and only expose the structure
2014-09-05 19:00:23 +02:00
Thibault Saunier
45e6d86c92
validate: Use the buffering mode to see if pipeline is live or not
2014-09-05 19:00:23 +02:00
Thibault Saunier
0ad475063d
validate: Do not segfault when receiving a segment on unlink pad
...
For some reason we did no discover that before.
2014-09-05 19:00:23 +02:00
Thibault Saunier
8eeaa1a95f
validate: Make GstValidateActionType a GstMiniObject and expose it in the API
2014-09-05 19:00:23 +02:00
Thibault Saunier
bdc09d2d4a
validate:scenario: Cleanup header and add some padding to classes
...
Let's start making gst-validate ABI and API stable
2014-09-05 19:00:23 +02:00
Anuj Jaiswal
eb16061fa9
gst-validate: fix some minor memory leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=735099
2014-08-23 11:57:12 +01:00
Mathieu Duponchelle
99204c0018
validate: generate test names with the stream_info filename.
...
And not with the contained uri string, which is variable.
2014-08-19 18:47:18 +02:00
Thibault Saunier
3979c49cd2
validate: The scenario only old a weak ref so unref the weak ref
...
We were unrefing an object we did not actually own a ref on.
2014-08-12 15:14:28 +02:00
Thibault Saunier
161610c26e
validate: Print when we set pipeline state because of buffering
2014-08-12 13:17:20 +02:00
Thibault Saunier
f4db183b2b
validate:launcher: Properly handle libsdir when gst-validate is installed
...
+ Fix the _in_devel function
+ Install the validate default testsuite implementation in the right
place
2014-08-12 13:16:43 +02:00
Thibault Saunier
f6c62d071c
validate:launcher: Let testsuite know the actual file in which they are
2014-08-12 13:16:43 +02:00
Thibault Saunier
bf30bf4fd7
validate:launcher: Add the logic of needed env variables in tests
2014-08-12 13:16:43 +02:00
Thibault Saunier
e81c0093fc
validate:launcher: Expose all classes to be used to create testsuites
...
To create testsuite from outside gst-validate, the user will need to be
able to use the TestGenerator and subclasses of Test that we implement
in the apps, to do so we publicly expose them in the TestManager class
so that user have acces to everything they need.
2014-08-12 13:16:43 +02:00
Thibault Saunier
20c28def3c
validate:launcher: Handle stdout/stderr as possible logfiles
...
Allowing people to get all the logs in the terminal
2014-08-12 13:16:43 +02:00
Thibault Saunier
32dac5014a
validate: Allow several outputs in GST_VALIDATE_FILE
2014-08-12 13:16:43 +02:00
Thibault Saunier
8e1997d820
validate: Launcher: Add support for the dash protocol
...
And make sure that the HTTP server is started if it is needed to serve
some HLS or DASH streams
2014-08-12 13:16:43 +02:00
Thibault Saunier
631db75718
validate:Launcher: Use the first media path as a path for http server
...
We need to have a default path and the first one sounds like a
reasonnable default.
2014-08-12 13:16:43 +02:00
Thibault Saunier
2da2c6cc56
validate:launcher: Allow limitating local HTTP server bandwith
...
By default we limit its bandwith to 1MBps which is somehow similare to a
good internet connection case.
2014-08-12 13:16:43 +02:00
Thibault Saunier
702992cf7a
validate:launcher: Disable racy HLS tests
...
+ Add need-clock-synk to switch_audio_track_while_paused as it relies on
the clock sync to pause and then display subtitles
2014-08-06 09:08:36 +02:00
Thibault Saunier
bab8a4c3bb
validate:launcher: Take into account exitcode in transcoding tests
...
And disable a few racy tests that were not detected because of that
2014-08-05 11:33:08 +02:00
Thibault Saunier
7875b9a3d9
validate:launcher:testsuite: De activate backward playback where appropriate
...
And re activate it where it works
2014-08-04 13:03:54 +02:00
Thibault Saunier
f42f0724e5
validate: Actually accept rounding errors and small mistakes for position
...
WHen seeking in paused the position right after should be pretty much
the exact one, but sometimes it can be a little different because of
rounding issues and similare.
2014-08-04 13:03:19 +02:00
Thibault Saunier
8518e08dbb
validate: Add a way to avoid printing all the issue in reports
...
Avoiding user to be flooded by information he does not want while
debugging
2014-08-04 13:02:46 +02:00
Thibault Saunier
d682bd29a9
validate: Print the report when aborting because of an issue
...
Letting a chance to the user to know what bug he faced!
2014-08-04 13:02:46 +02:00
Thibault Saunier
5c50219fae
validate: Enhance output about critical errors
...
+Lower some warning to INFO
2014-08-04 13:02:46 +02:00
Thibault Saunier
6da09fb919
validate: Allow overrides for scenario issues
2014-08-04 13:02:46 +02:00
Thibault Saunier
1bd6b2767f
validate: Avoid readding several time the same test in the tests result list
2014-08-04 13:02:46 +02:00
Thibault Saunier
b9712e336e
validate:launcher: Fix test number print
2014-08-04 13:02:46 +02:00
Thibault Saunier
0dd8e9cd3d
tools: Launcher: Disable validate.file.*.simple.scrub_forward_seeking.synchronized
...
It is still a bit racy and sometimes the seek just does not happen
2014-07-31 17:56:13 +02:00
Thibault Saunier
7057a9fd50
tools: launcher: Disable subtitle track switching scenario on Sintel
...
It is racy at the moment.
2014-07-31 17:43:51 +02:00
Thibault Saunier
1aa0d4eb4a
validate:launcher: Allow informing minimum media duration in scenarios
...
Allowing the launcher to avoid running tests on medias that are not long
enough
2014-07-23 20:43:57 +02:00
Thibault Saunier
24fe345f73
validate:launcher: Always print final report + enhance output
2014-07-23 17:49:44 +02:00
Thibault Saunier
35b6bfb7c8
validate:scenario: Properly check that remaining actions are not 'ending' ones
...
When checking that all action were executed, we need to make sure that
actions such as EOS or stop are not taken into account as we might have
shorter medias than the duration of the scenario, and that should not be
fatal.
+ Plug a leak on the way
2014-07-23 17:49:44 +02:00
Thibault Saunier
386b572066
validate: launcher: Force clock syncronization for some scenarios
...
In some cases it is necessary that the clock is sync so that all the
actions can be executed.
2014-07-23 17:49:44 +02:00
Thibault Saunier
40003689df
validate: Launcher: Make sure tests are always executed in same order
2014-07-23 13:48:44 +02:00
Thiago Santos
3cf3e7a438
gst-validate-scenario: add emit-signal
...
emit-signal action allows to emit signals to elements in scenarios.
The implementation only accepts signals without arguments for now but
it can be extended to use parameters if needed in the future
2014-07-22 11:59:58 -03:00
Thibault Saunier
1cdbba4327
validate: Launcher: Fix a backtrace using self in a @staticmethod
2014-07-22 15:50:47 +02:00
Thiago Santos
fd7c13d446
gst-validate-scenario: the structure has the type
...
Get the GValue directly from the structure and do not assume everything
is stored as a string and use the GstStructure's GValue to set the property
to the instances
2014-07-21 22:41:28 -03:00
Thiago Santos
d7c3d652d0
gst-validate: properly set pipeline to null before unref
...
In case it fails when going ready->paused it will remain in ready state
and be unref'd in ready, leading to an assertion
2014-07-21 22:01:27 -03:00
Arnaud Vrac
e1b3ec2ad7
validate: Fix build on some custom platforms
...
We need to explicitely pass GLIB_LIBS for GModule as it seems not to be included by
GST_ALL_LIBS and we need LIBM
2014-07-21 19:09:58 +02:00
Lubosz Sarnecki
24046a6168
httpserver: launch webserver with the same python interpreter.
2014-07-21 18:01:25 +02:00
Thibault Saunier
7d695fbed4
validate: Dot the pipeline on interuption
2014-07-19 09:48:17 +02:00
Aurélien Zanelli
d1c261f5b1
validate: duplicate strings in gst_validate_issue_new()
...
Do this to avoid discarding 'const' qualifier when using it with
constant strings. Moreover it will avoid a g_free on constant string.
https://bugzilla.gnome.org/show_bug.cgi?id=733362
2014-07-18 16:28:58 +02:00
Thibault Saunier
cf540d002b
validate:launcher: Fix a backtrace using an undefined method
2014-07-18 16:28:49 +02:00
Thibault Saunier
3cfa480eba
valdate:launcher: Do not refer to self in @staticmethod
...
There is no self in there.
2014-07-17 17:04:59 +02:00
Thibault Saunier
d7d1445e67
validate: Add a set-debug-threshold scenario action
...
Allowing users to activate the debug only at the interesting time
2014-07-17 17:04:59 +02:00
Thibault Saunier
cd55381a5f
validate: Add Gst debugging when using gst-validate printing feature
...
Giving usefull debugging informations in the GSt debug logs
2014-07-17 17:04:59 +02:00
Thibault Saunier
f6884a5a54
validate: Do not auto flush pipeline bus
...
We want to see all messages in our async handler
And flush it when we are done.
2014-07-17 12:17:31 +02:00
Thibault Saunier
fcb8a77e17
validate:launcher: Avoid using sync=true on fakesinks
...
Making the test run much faster!
2014-07-16 19:38:01 +02:00
Thibault Saunier
b075646451
validate: Launcher: Print total time spent in the final report
2014-07-16 19:37:35 +02:00
Thibault Saunier
71ae6d3816
validate: Make switch_subtitle_track_while_paused handle states
2014-07-16 18:21:16 +02:00
Thibault Saunier
e07e7cd43e
vaildate: Make disable_subtitle_track_while_paused handle states
2014-07-16 15:47:59 +02:00
Thibault Saunier
ded4bec35a
validate: Make scrub_forward_seeking handle states
2014-07-16 15:47:59 +02:00
Thibault Saunier
f5454f07f0
validate:launcher: Properly check that encoded files have the exact wanted format
2014-07-16 15:47:58 +02:00
Thibault Saunier
fe9ed41d6c
validate:launcher: Add a method to create a GstValidateMediaDescriptor from a uri
2014-07-16 15:47:58 +02:00
Thibault Saunier
265688fcd6
validate:launcher: Move MediaFormatCombination to baseclasses.py
...
+ Add some simple helpers
2014-07-16 15:47:58 +02:00
Thibault Saunier
f1163d61ba
validate:launcher: Implement a GstValidateEncodingTestInterface class
...
Allowing code to be shared between apps that run rendering tests
2014-07-16 15:47:58 +02:00
Thibault Saunier
a735b9eb99
validate:launcher: Implement a MediaDescriptor subclass for xges project files
2014-07-16 15:47:58 +02:00
Thibault Saunier
d61c0d6166
validate:launcher: Make a MediaDescriptor baseclass to be used by any application
2014-07-16 15:47:58 +02:00
Thibault Saunier
89aa70545a
validate:launcher: Give information to users when cloning asset failed
...
It might not be obvious from the stacktrace so it is better to clearly
explain what the failure was when we know it
2014-07-16 15:47:58 +02:00
Thibault Saunier
6beb346aa3
validate:launcher: Fixup the default asset update command
2014-07-16 15:47:58 +02:00
Thibault Saunier
9a69c21acc
validate:launcher: Generate proper EncodingProfiles for audio/video only media files
2014-07-16 15:47:58 +02:00
Thibault Saunier
87cc7da213
validate:launcher: Move the MediaDescriptor class to the baseclasses.py file
2014-07-16 15:47:58 +02:00
Thibault Saunier
58256ab135
validate:launcher: Allow transcoding audio only files 5 time longer than long_limit
...
Transcoding audio is a lot shorter so we can concider that transcoding files that are only
only is 5 time shorter than the actual file (empirical number)
2014-07-16 15:47:58 +02:00
Thibault Saunier
f925c0c1be
validate:media-check: Pass the GError where needed.
2014-07-16 15:47:58 +02:00
Thibault Saunier
822c7eaa6e
validate: Avoid segfault in the error path
2014-07-16 15:47:58 +02:00
Thibault Saunier
f8a37a1c80
validate:media-descriptor-writer: Handle medias with 1 single stream
2014-07-16 15:47:58 +02:00
Thibault Saunier
fa35a10779
validate: Check that after a seek in PAUSED position is perfect
...
In case of ACCURATE seeking, the position after a SEEK in PAUSED state
should be *exactly* the one requested by the user.
2014-07-16 15:47:58 +02:00
Thiago Santos
db21883c0c
scenario: add set_property scenario action
...
Allows setting element's properties during a scenario. Very useful
for testing that elements behave correctly when changing properties
during playing state
https://bugzilla.gnome.org/show_bug.cgi?id=733070
2014-07-11 19:43:20 -03:00
Thibault Saunier
bed0f51d6c
validate: Execute actions if we get seeked in ready state
2014-07-07 11:27:35 +02:00
Thibault Saunier
87ae465c77
validate: Let scenarios tell the apps about whether it handles states
...
The user only needs to add handles-states=true in the description line
of the scenario
2014-07-07 11:27:34 +02:00
Thibault Saunier
52e39a4fcb
validate:scenario: Do not care about the position if we are not at least in PAUSED state
...
At that time the position query will be meaningless so we should just go to the next
action.
2014-07-07 11:27:34 +02:00
Thibault Saunier
4227655db1
validate: Handle MXF files
2014-07-07 11:27:34 +02:00
Thibault Saunier
1c2d31dd2f
validate:media-check: Changes in tags detection are not fatal issues
2014-07-07 11:27:34 +02:00
Thibault Saunier
7d23d75edb
validate:launcher Add video mixing tests
...
+ Move default_testsuite.py to validate_testsuite.py as we are now
exposing tests that are not enabled by default
2014-07-07 11:27:34 +02:00
Thibault Saunier
af383ad0c0
validate:launcher: Move the notion of test generator to the baseclasses
...
This can be very usefull for all the TestManager and thus exposes a
higher level API for test writers.
2014-07-07 11:27:34 +02:00
Thibault Saunier
aeec108c88
validate:launcher: Move default testsuite to a dedicated file
...
Making the separation cleaner between the launcher and the test
implementation
2014-07-07 11:27:34 +02:00
Thibault Saunier
00719fb07e
validate: Properly handle CLOCK_TIME_NONE position and duration values
...
In the value parser.
2014-07-07 11:27:34 +02:00
Thibault Saunier
3607fd8deb
validate: Print the return value at the end
...
Making it easier to know whether the test passed or not.
2014-07-07 11:27:34 +02:00
Thibault Saunier
f708156ff6
validate:scenario: Move the check about whether we are still seeking upper in the function
...
Avoiding to try to get position and do operations on a pipeline that is seeking
2014-07-07 11:27:34 +02:00
Vincent Penquerc'h
4dc3f5171e
validate-scenario: only use valid position/duration
...
Position/duration query may fail, or yield unknown values (eg,
unknown duration for live streams). In these cases, we must ensure
we do not use those invalid values.
https://bugzilla.gnome.org/show_bug.cgi?id=715160
2014-07-07 11:27:34 +02:00