Commit graph

875 commits

Author SHA1 Message Date
Thibault Saunier
2d7d03d2f7 validate: Add a 'stop' action to stop a pipeline
It uses the GST_MESSAGE_REQUEST state with the scenario as a source
so that application can stop running when they receive it on the bus.
2014-04-25 14:33:06 +02:00
Thibault Saunier
7133e4b4e0 validate:launcher: Use the new validatelog file
Making the output cleaner and clearer in junit XML file
2014-04-25 14:33:06 +02:00
Thibault Saunier
38eda37341 validate: Handle position printing at the monitor level
Instead of replicating that code all around
2014-04-23 11:27:44 +02:00
Thibault Saunier
810e432da2 validate: Add printing utilities
Allowing the user to print everyting in a file through the
GST_VALIDATE_FILE env variable
2014-04-23 11:16:32 +02:00
Thibault Saunier
cac53e9078 validate: Add an action to wait for a given amout of time
During that time we will just not execute any new action

+ Lower WARNING to DEBUG when no playbcak_time is provided for an
action, it should just be 0.
2014-04-23 09:37:22 +02:00
Thibault Saunier
21a4888ae7 validate: Check that for raw, buffers are strictly contained in segment
For encoded data we might need buffers that have timestamp <
segment.start to make sure that we have the keyframe, etc... but for raw
data, buffer end should strictly be inside the segment, be more strict
about that.
2014-04-22 16:57:21 +02:00
Thibault Saunier
8527d91737 validate: PAR is not a mandatory field
Also make it possible to check other not mandatory fields in the future
2014-04-22 16:57:21 +02:00
Thibault Saunier
279625a541 validate: Do not use GST_PTR_FORMAT when reporting
It will not work now that we have our own implementation of printf for that in Gst and
thus provide us with pretty useless infos
2014-04-22 16:57:21 +02:00
Thibault Saunier
02abb60a67 validate:launcher: Send SIGINT signal instead of killing the subprocess
This way we get the result from GstValidate even on timeouts
2014-04-22 10:49:13 +02:00
Thibault Saunier
7f54c5dba8 validate:launcher: Always set sync=True on fakesink on playback pipelines
This way we are in closer condition of real sink playback.

+ some minor cleanup in gst-validate.c
2014-04-22 09:42:59 +02:00
Thibault Saunier
bbbd5fe2d0 validate:launcher: ring-buffer-max-size is in bytes 2014-04-17 12:58:48 +02:00
Thibault Saunier
ad25b4d160 validate: Handle g_log errors at the gst-validate level 2014-04-17 12:23:04 +02:00
Thibault Saunier
8899ad004c validate: Allow comments in scenario files
Comment are per line only and start with #
2014-04-17 11:23:27 +02:00
Thibault Saunier
f45524a3cc validate:launcher: Fix default blacklist management 2014-04-15 15:26:36 +02:00
Thibault Saunier
f1851235d5 validate:launcher: Print the number of the test being run 2014-04-02 19:17:24 +02:00
Thibault Saunier
6104ed184f validate: Avoid segfault when discovering fails
In that case the x->stream_info might not be set
2014-04-02 19:17:24 +02:00
Thibault Saunier
86df60e16f validate:launcher: Fix mixup in media_check tests expected file path 2014-04-02 12:12:11 +02:00
Thibault Saunier
78f91ae8da validate:launcher: Flush stdout each time we print
So everything gets printed on time on windows and jenkins
2014-03-31 14:37:51 +02:00
Thibault Saunier
36a0f6a674 validate: launcher: Use the ConfigPraser object everywhere for file_infos 2014-03-31 11:03:48 +02:00
Thibault Saunier
3d8201d52b validate:launcher: Properly handle missing scenarios on the system 2014-03-28 15:41:30 +01:00
Thibault Saunier
339703d2eb validate:launcher: Handle windows path to construct arguments 2014-03-28 15:00:45 +01:00
Thibault Saunier
bc40235600 validate:launcher: Handle the fact that win32 apps end with .exe 2014-03-28 15:00:01 +01:00
Thibault Saunier
7e1c83b5b9 validate: Do not build LD_PRELOAD related code on windows
And do not forget to link against gst-pbutils
2014-03-28 12:17:25 +01:00
Thibault Saunier
083d303d69 validate: Use GModule to 'dlopen' ovverrides
We want gst-validate to be cross platform so use cross platform tools
2014-03-28 10:40:19 +01:00
Thibault Saunier
3408869f49 validate:launcher: Put gst logs in a specific file
+ Make default timeout 30seconds just in case.
2014-03-28 10:40:19 +01:00
Thibault Saunier
8fdf84b084 validate: launcher: Let the use debug on test fail
When a test timeouts, let the user know about the subprocess etc,
and let him possibly connect gdb to it.
2014-03-26 20:08:43 +01:00
Thibault Saunier
870df6e4e2 validate:launcher: Do not set sample path to letter in ges-launch 2014-03-26 11:46:48 +01:00
Thibault Saunier
5510b96639 validate:launcher: Start the server only when actually needed to run filtered tests 2014-03-26 11:00:32 +01:00
Thibault Saunier
ff4879c749 validate: Do not query pad caps to check if caps are properly fowarded
Query caps will actually get the caps from downstream and those caps
might be different in case there is a Filter in between. What we want is
to check that the caps set on the internally linked pads are correct.
2014-03-26 10:57:04 +01:00
Thibault Saunier
36f9ba8f52 launcher: Allow user to set media-files directory
That was broken by 71dee6c384
2014-03-19 18:43:38 +01:00
Thibault Saunier
6d8ff8a92a tools:validate: Start printing position on ASYNC_DONE
As this is what is done in the scenarios.
2014-03-19 17:45:36 +01:00
Edward Hervey
12ccebe0a9 launcher: Don't hardcode option defaults
Since they are relative to other options, we need to post-process them
to get the proper value.

Fixes using the launcher with non-default MAIN_DIR
2014-03-19 18:09:09 +01:00
Edward Hervey
c39a44441e launcher: Warn if MAIN_DIR isn't present
And move blacklist file listing to further down
2014-03-19 17:13:14 +01:00
Edward Hervey
e62a2ce4c4 launcher: No need to start a web server when listing tests
It's not needed and makes listing faster.
Also sort the list of tests
2014-03-19 17:04:14 +01:00
Edward Hervey
71dee6c384 launcher: --sync: Only update/clone git repo if specified
Allows:
  * handling non-git-based asset directory
  * working offline
  * working without forcing updates
2014-03-19 17:03:05 +01:00
Edward Hervey
34a5946e6b validate-scenario: Handle non-set env variable
Nothing guarantees it's present/set
2014-03-19 17:02:03 +01:00
Thibault Saunier
50d3d08ab5 validate:scenario: Do not be strict about position after not accurate seek 2014-03-12 15:23:33 +01:00
Thibault Saunier
fbf787889f validate:scenario: Cleanup output and pass into gst-indent 2014-03-12 14:24:02 +01:00
Thibault Saunier
1bc0a687ee validate:scenario: Cleanup output of --list-scenarios 2014-03-12 12:21:38 +01:00
Thibault Saunier
e355a17f71 validate: scenario: Load scenario if the name is actually a path to a file 2014-03-12 12:04:52 +01:00
Thibault Saunier
e75e7df0ac validate: tools: Fix path to media folder 2014-02-19 14:39:30 +01:00
Thibault Saunier
07b968a4f6 validate:tools: Clean test between runs when running forever 2014-02-19 14:34:10 +01:00
Thibault Saunier
f6bf92cbc9 validate: Do not check result furthers if alredy set as passing 2014-02-19 14:34:10 +01:00
Thibault Saunier
33aae792f6 validate:scenario: Pass into gst-indent 2014-02-19 14:34:08 +01:00
Thibault Saunier
5e0e092112 validate: Add actions to the actions list only when they are fully parsed
Otherwize in some corner cases they can be executed before they are actually parsed
2014-02-19 14:32:47 +01:00
Thibault Saunier
2f44d15e0b validate: Ignore EOS actions that can not be executed 2014-02-19 14:32:47 +01:00
Thibault Saunier
68cbc15f35 validate: Handle various paths in GST_VALIDATE_SCENARIOS_PATH 2014-02-18 21:07:31 +01:00
Thibault Saunier
63f8034bec validate:scenario: Make GstValidateAction a GstMiniObject 2014-02-18 21:07:31 +01:00
Thibault Saunier
04029cb065 validate: Move enums and flags deserialization from scenario to utilities
This way it can be reused.
2014-02-18 21:07:31 +01:00
Thibault Saunier
5cfafb4910 validate:scenario: Make the pipeline puiblic
This way people can access it from outside the main action implementation.
2014-02-18 21:07:31 +01:00