Commit graph

1428 commits

Author SHA1 Message Date
Thibault Saunier
bcc7a1fcca validate:launcher: Add h265, opus and vp9 as known formats 2016-07-15 08:56:02 -04:00
Sebastian Dröge
6b884127b7 Back to development 2016-07-06 13:51:27 +03:00
Sebastian Dröge
8710de15ba Release 1.9.1 2016-07-06 13:48:18 +03:00
Edward Hervey
1e1475d352 validate: Fix usage for non-standard http server port
Translate the various stream_info URI from the standard port to the
specified port
Make the port option an integer option
2016-07-04 16:19:09 +02:00
Edward Hervey
0502e6bf5b media-descriptor: Fine-tune stream-id checking
Only expect fully identical stream-id from URI which are not local files
nor from our local http server.

Fixes issues with non-default http server port
2016-07-04 16:19:05 +02:00
Edward Hervey
e5f381b96a validate: Use presence of STREAM_START to detect track switching
When doing a track switch, the only reliable way to detect that it
happened is whether a new STREAM_START arrives.
Relying on a DISCONT buffer is not satisfactory, since there might
not have been an element setting that flag upstream.

Checking whether the first buffer after a STREAM_START has the
DISCONT flag properly set should be done in parallel
2016-06-30 14:58:03 +02:00
Edward Hervey
0799397768 tools: Make the stream-switching action more generic
This allows it to handle both playbin and playbin3
2016-06-30 14:58:03 +02:00
Edward Hervey
b413f3a404 tools: Fix playbin detection
We might be using playbin3 instead
2016-06-30 14:58:03 +02:00
Edward Hervey
b77797da4b validate: Use decodebin3/uridecodebin3 when specified
Set the USE_PLAYBIN3 environment variable to use those elements instead
of legacy ones.
2016-06-30 14:58:03 +02:00
Edward Hervey
98e31f52ef tools: New tool to view and compare xunit results 2016-06-30 14:58:03 +02:00
Tim-Philipp Müller
c4091f82a9 validate: fix one more export
gst-validate-scenario.c:183:7: error: '_gst_validate_action_type' redeclared without dllimport attribute: previous dllimport ignore

This is also declared in gst-validate-internal.h
2016-06-24 14:03:48 +01:00
Tim-Philipp Müller
727eb3979a validate: fix bogus exports for internal symbols
Hopefully fixes win32 build.

gst-validate-scenario.c:183:7: error: '_gst_validate_action_type' redeclared without dllimport attribute: previous dllimport ignored
gst-validate-scenario.c:286:1: error: '_action_check_and_set_printed' redeclared without dllimport attribute: previous dllimport ignored
gst-validate-scenario.c:298:1: error: 'gst_validate_action_is_subaction' redeclared without dllimport attribute: previous dllimport ignored
gst-validate-scenario.c:305:7: error: '_gst_validate_action_type_type' redeclared without dllimport attribute: previous dllimport ignored
2016-06-24 12:58:02 +01:00
Thibault Saunier
8e2c734841 validate: Fix Validate plugin paths mixup 2016-06-13 17:01:52 -04:00
Reynaldo H. Verdejo Pinochet
704d082e79 validate: fix typo in debug message 2016-06-10 12:55:47 -07:00
Reynaldo H. Verdejo Pinochet
07fa1b3ca5 validate: fix some recurring typos 2016-06-09 14:31:48 -07:00
Reynaldo H. Verdejo Pinochet
73ac07d6e3 validate: fix validate-transcoding option descriptions 2016-06-09 14:31:48 -07:00
Reynaldo H. Verdejo Pinochet
14a9dab346 validate: improve run-time option descriptions 2016-06-09 14:31:48 -07:00
Thibault Saunier
9f272556d5 validate: No execute ON_ADDITION if a previous action has a playback-time
As this is what user will expect in this case.

For example with this scenario:

    set-state, state=null; playback-time=5
    set-property, target-element-name=dvbsrc0, property-name=delsys, property-value=11
    play;
2016-06-09 17:27:26 -04:00
Vineeth TM
99f9f3f408 validate:launcher: Add support for relative path while providing file path
Instead of providing full absolute path while validating the file, should be
able to provide the relative path with respect to the present directory.

https://bugzilla.gnome.org/show_bug.cgi?id=753494
2016-06-04 12:51:35 +01:00
Guillaume Desmottes
15e7f1bbfd validate: fix monitor leak when doing frame analysis
The monitor returned by gst_validate_monitor_factory_create() was never
unreffed.
Report instances now have to keep a ref, as suggested by the TODO, as
the reporter is no longer leaked.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1012
2016-05-24 10:29:03 -04:00
Guillaume Desmottes
4c6fce855e validate: redefine default cat for the runner
The gstvalidate_debug may not be initialized like with the
validate/reporting which was crashing when run with GST_DEBUG=5.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D1004
2016-05-24 10:28:59 -04:00
Guillaume Desmottes
01c2ba564a validate: transcoding: fix encoding_profile leak
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D980
2016-05-24 10:28:55 -04:00
Guillaume Desmottes
2c4dcae918 validate: transcoding: fix caps leaks
The 'all_raw_caps' list is never used and was just leaking caps.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D979
2016-05-24 10:28:53 -04:00
Guillaume Desmottes
63d4987341 validate: scenario: always unref srcpad
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D959
2016-05-24 10:28:49 -04:00
Guillaume Desmottes
862b077569 validate: media-descriptor-writer: fix pad leaks
- the pad returned by gst_element_get_static_pad() was leaked.
- unref the pad from snode when updating it, not the pad passed as
callback to pad_added_cb()

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D958
2016-05-24 10:28:47 -04:00
Guillaume Desmottes
e51912065e validate: clean up action_types list on deinit
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D957
2016-05-24 10:28:44 -04:00
Guillaume Desmottes
0a667858ab validate: keep a ref when registering an override
_add_override_from_struct() could, in theory, register more than once
the same override so we should not transfer the ref.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D956
2016-05-24 10:28:41 -04:00
Guillaume Desmottes
f5c50b19ed validate: use g_object_unref() on GstValidateOverride
Those are GObject subclasses, not GstObject.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D955
2016-05-24 10:28:33 -04:00
Guillaume Desmottes
f9fb5b00b7 validate: add mesa-related valgrind suppressions
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D954
2016-05-24 10:28:30 -04:00
Guillaume Desmottes
2ddbcb666f validate: generate valgrind suppression traces
Makes fixing easier as then we can just re-use the generated trace.

Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D953
2016-05-24 10:28:26 -04:00
Guillaume Desmottes
4322138c8f validate: fix typo if Xvfb is not installed
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D375
2016-05-24 10:28:23 -04:00
Edward Hervey
992292f8ae pad-monitor: Don't check for DISCONT flags on buffer in pull-mode
It only makes sense in push-mode
2016-05-23 16:00:42 +02:00
Edward Hervey
843578835f pad-monitor: Update checks for MISSING_DISCONT
* Some SEGMENT might be updates caused by calling gst_pad_set_offset(),
  which will send the same segment but with an updated offset and/or
  based field. For those segments, we don't require a DISCONT on the
  following buffer.
* Ignore differences in flags, they aren't relevant for now to figure
  out whether the segment is an update or not
* Ignore difference in 'position', it's only meant for internal usage
  by elements.
* Changes in the end position (stop in forward playback and start in
  reverse playback) are considering updates

Furthermore, also expect a DISCONT flag on the first buffer following
a STREAM_START.
2016-05-23 15:59:44 +02:00
Edward Hervey
0711d4e163 gst-validate: Avoid overreading array
If we offset the argv table as argument, we need to decrement the number
of items in the array (argc) when iterating it
2016-05-19 12:07:57 +02:00
Edward Hervey
ca38c4dc9a pad_monitor: Add a check for buffer DISCONT flag
The first buffer after a FLUSH or SEGMENT should have the DISCONT flag
set.
2016-05-19 12:07:26 +02:00
Thiago Santos
f4cdbd006b launcher: set gsettings-backend to prevent weird deadlocks
It seems like some sort of forking/dconf/gtype combination can
deadlock occasionally. Setting the gsettings backend to memory
makes it go away.

Same issue: https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/tests/check/Makefile.am?id=8e2c1d1de56bddbff22170f8b17473882e0e63f9
2016-05-15 06:34:21 -03:00
Thiago Santos
d0a7d9b094 validate: add non-seekable fragment file seek tests to the blacklist
The file has no index and is not easily seekable, seeking in these
kind of files isn't implemented.
2016-05-06 21:27:53 -03:00
Alexandru Băluț
a22c16a112 validate: Stop using deprecated method
https://bugzilla.gnome.org/show_bug.cgi?id=764964
2016-04-29 09:50:07 -03:00
Edward Hervey
5e32a69ed4 scenarios: Fix scrub_backward scenarios
We will be changing states, set the handles-state variable accordingly
2016-04-07 14:12:42 +02:00
Tom Schoonjans
0344fd3a49 gst-validate: Link with GIO and clean up CFLAGS/LIBADD/LDFLAGS
https://bugzilla.gnome.org/show_bug.cgi?id=764192
2016-03-25 17:14:14 +02:00
Vineeth T M
5d503c9271 validate: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763197
2016-03-24 14:52:07 +02:00
Sebastian Dröge
e11b7cc26c Back to development 2016-03-24 13:34:03 +02:00
Sebastian Dröge
6ca7b35851 Release 1.8.0 2016-03-24 13:11:29 +02:00
Thibault Saunier
83c652ba76 validate: launcher: Make sure to properly setup all testsuites
When a first testsuite will set paths, it does not mean that we should
just register following testsuite test manager default tests.

So we need to make a difference between the media paths the user passed
with --media-path and the ones defined by the testsuite.
2016-03-23 20:10:51 +01:00
Thibault Saunier
9190bcf62a validate:launcher: Handle testslist files even running several testsuites
Only if those testsuites do not use the same Tester as we
currently can't know to what testsuite a test belongs.
2016-03-23 20:10:01 +01:00
Thibault Saunier
187df093eb launcher: Avoid caching all the debug logs in memory
And just write the temporary XML file on disc
2016-03-23 12:41:49 +01:00
Thibault Saunier
23ad66c552 validate: launcher: Blacklist dash and HLS failling seeking tests
As described in https://bugzilla.gnome.org/show_bug.cgi?id=764020
2016-03-22 19:02:27 +01:00
Thibault Saunier
a566b2c4b9 validate:testsuite: Blacklist validate.hls.playback.scrub_forward_seeking.hls_bibbop as it is racy 2016-03-22 17:46:50 +01:00
Thibault Saunier
5598d3d5dd validate: pad-monitor: Check right segment after seek
After a seek we need to wait for the right segment (meaning the segment
with seqnum == last seek/flush stop seqnum) to check whether the segment.time
has been properly set.
2016-03-22 12:13:30 +01:00
Thibault Saunier
4f553b7c78 validate: Accept pad return FLUSHING when the element is being teared down
In the case and element is in READY or is going to READY state, it can
always return GST_FLOW_FLUSHING.

Avoid a race where a demuxer sinkpad has not been set to FLUSHING when we are
still processing a buffer but downstream is already FLUSHING and thus
the demuxer is already returning FLUSHING.
2016-03-22 12:11:52 +01:00
Thibault Saunier
621bda9b62 validate: Use GstValidate logging system to print buffering avancement
So it can be used in the launcher.
And make sure to properly parse the info in the launcher.
2016-03-21 14:34:27 +01:00
Thibault Saunier
9b93cc884f validate:launcher: Remove dependency on wget 2016-03-21 14:09:26 +01:00
Sebastian Dröge
7b3eafbe6e Release 1.7.91 2016-03-15 12:40:03 +02:00
Sebastian Dröge
4cee9de321 validate: Add missing parenthesis to seek position check
https://bugzilla.gnome.org/show_bug.cgi?id=763602
2016-03-14 14:29:57 +02:00
Sebastian Dröge
3f0a13d52a validate: Fix overflow seek position comparision
MAX(0, ((gint64) priv->segment_start - priv->seek_pos_tol) will be a high
positive number thanks to being interpreted as unsigned values if
segment_start < seek_pos_tol. Fix this by explicitly checking for this case
and only doing the subtraction otherwise.

This fixes the problem from fdccffbb2e
completely now.

https://bugzilla.gnome.org/show_bug.cgi?id=763602
2016-03-14 13:00:14 +02:00
Thibault Saunier
c2a35eef15 validate: Fix seding mistakes
When we added namespace to make GI happy we ended up with
structure called like GstValidateMediaGstValidateMediaXXX.
2016-03-08 18:48:27 +01:00
Edward Hervey
ef4635fe51 monitor: Add critical issue for checking accurate seek results
If an accurate seek is accepted, the resulting segment.time should be
exactly the requested seek start value..

https://bugzilla.gnome.org/show_bug.cgi?id=763299
2016-03-08 15:45:39 +01:00
Thibault Saunier
fdccffbb2e validate: Fix accurate seeking in paused failling condition 2016-03-08 12:00:37 +01:00
Vineeth T M
65560d8b03 Validate: Fix consider, launch spelling mistakes
https://bugzilla.gnome.org/show_bug.cgi?id=763289
2016-03-08 09:28:11 +02:00
Vineeth T M
7d9e9b3b79 validate: Fix wrong condition check when adding tests
When listing tests, checking whether uri is present or not and displaying error.
But uri does notneed to be present in case of pipeline generator. So the condition check is wrong.
This results in validateelements testsuite not working. Hence modifying the condition to
not error out on valid cases.

https://bugzilla.gnome.org/show_bug.cgi?id=762422
2016-03-05 12:56:14 +01:00
Sebastian Dröge
6a0170709c Release 1.7.90 2016-03-01 19:23:37 +02:00
Thibault Saunier
9708c7eb19 validate:launcher: Strip os.pathsep from extra env variables
We might be working with something that is not a path
2016-03-01 15:10:15 +01:00
Thibault Saunier
0535071158 validate: Add a missing new line to media info files 2016-02-29 15:55:47 +01:00
Thibault Saunier
62d8235598 validate: Fix build 2016-02-23 12:15:21 +01:00
Thibault Saunier
39a0be8e0e validate:launcher: Add a way to fail if test have been removed/added 2016-02-23 11:47:15 +01:00
Thibault Saunier
6a09e685f7 validate: Fix annotations
Skipping all functions and methods that are not relevant and not easily
introspectable

Differential Revision: https://phabricator.freedesktop.org/D706
2016-02-23 11:47:15 +01:00
Thibault Saunier
907ed7b2c2 validate: Remove unimplemented function
Differential Revision: https://phabricator.freedesktop.org/D705
2016-02-23 11:47:03 +01:00
Thibault Saunier
3657e7867f validate: Namespace all our structures and objects
Making GI a bit happier.

Those are not stable API anyway...

Differential Revision: https://phabricator.freedesktop.org/D704
2016-02-23 11:46:58 +01:00
Thibault Saunier
62e5e5f2e3 validate: Misc annotation and gi friendly cleanups
Differential Revision: https://phabricator.freedesktop.org/D703
2016-02-23 11:46:54 +01:00
Thibault Saunier
c2a944965a validate: Guarantee that we never create 2 monitors for the same object
Differential Revision: https://phabricator.freedesktop.org/D702
2016-02-23 11:46:39 +01:00
Thibault Saunier
8c760b0a0e validate: Turn GstValidateRunner into a GstTracer
This way we do not need the LD_PRELOAD hack anymore

Add a new libgstvalidateplugin GStreamer plugin, making sure it shares
the exact same code as the library (exposing only the wanted symbols).

Fix the way we set where to install GstValidate plugins

Try to keep backward compatibility even if tracers should never be instantiated
after an GstElement has been instantiated.

Differential Revision: https://phabricator.freedesktop.org/D459
2016-02-23 11:46:32 +01:00
Thibault Saunier
1d9c2d2a0b reporter: Properly reset g_log handler when reporter is destroyed
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D699
2016-02-23 11:46:24 +01:00
Thibault Saunier
2d5c6a749c validate: Make _deinit thread safe
Reviewed-by: Thibault Saunier <tsaunier@gnome.org>
Differential Revision: https://phabricator.freedesktop.org/D698
2016-02-23 11:46:07 +01:00
Vineeth T M
bc66079d2a validate:launcher: handle spaces in transcode output path
When there are spaces in transcoding output path, then it fails. Hence adding the
path in double quotes

https://bugzilla.gnome.org/show_bug.cgi?id=756217
2016-02-17 22:33:32 +01:00
Vineeth T M
e2d2a6865f validate:launcher: Add proper check for is_seekable
The seekable variable in media_info file is of type string. When checking if the file
is seekable using is_seekable, it just returns the string, resulting in it always being true.
It should actually be comparing the string and returning true or false based on comparison

https://bugzilla.gnome.org/show_bug.cgi?id=755854
2016-02-17 22:33:16 +01:00
Vineeth T M
a02609fc37 validate: fast_forward: Calculate proper playback-time for scenario
In case of fast-forward scenario, the playback-time is not set properly
as per increase in the rate. This is resulting in short media files of duration
less that 15 seconds to fail.

https://bugzilla.gnome.org/show_bug.cgi?id=754151
2016-02-17 22:32:52 +01:00
Edward Hervey
35eeed9aee pad-monitor: More fixes of previous commit
You'd think in 2016 compilers could complain when assigning/comparing
different types of enums ... *sigh*.
2016-01-21 15:07:40 +01:00
Edward Hervey
4e2c7af46c tools: Fix relative track switching
I have no idea where that "-2" came from, but it was obviously wrong.
Just use modulo "total number of streams" to get the proper track id.
2016-01-21 14:30:46 +01:00
Thibault Saunier
c7df116a3c validate: Remove debugging left overs 2016-01-21 14:23:24 +01:00
Edward Hervey
e935640271 pad-monitor: Add support for GstPadEventFullFunc
This ensures our sink pad event wrapper is properly called if the
element implement a GstPadEventFullFunc instead of a regular one.

Removes all stray "buffer received before segment" issues with
queue/multiqueue
2016-01-21 14:17:40 +01:00
Thibault Saunier
633fddbb66 validate: Fix testsuite
Use fake elements instead of real ones in our tests so that
we control exactly the number of issues generated.

Until now we were trying to hide extra issues with a probe dropping
events and buffers but since 2dfa548f36
"pad: Append hooks instead of prepending to call them in the order they were added"
in core, hidding will not work.
2016-01-21 11:21:01 +01:00
Thibault Saunier
0482dab36b g-i: fix init section to avoid compiler warnings 2016-01-19 11:31:55 +01:00
Thibault Saunier
b08ef6b9ef runner: Report criticals when the reporter is in smart mode 2016-01-15 20:13:59 +00:00
Thiago Santos
3607f30fff media-descriptor-writer: track running time of buffers
PTS and DTS can be deceiving as a change in segment can dramatically change
playback synchronization. Track the running-time as well to properly
get any change in synchronization
2015-12-11 11:13:35 -03:00
Thiago Santos
ae52807efd media-check: enable 'full' for files which reference are also 'full'
If the reference file has frames information, enable it automatically
so that the comparison file also has frames to be used.

https://bugzilla.gnome.org/show_bug.cgi?id=758855
2015-12-04 19:03:53 -03:00
Thiago Santos
ee7cb88d02 media-descriptor: check if frame data matches
When comparing media descriptors, also check if the frames
match

https://bugzilla.gnome.org/show_bug.cgi?id=758855
2015-12-04 19:03:53 -03:00
Thiago Santos
84dd10b628 media-descriptor-writer: refactor getting the streamnode by a pad
https://bugzilla.gnome.org/show_bug.cgi?id=758855
2015-12-04 19:03:53 -03:00
Thiago Santos
37a2b6110f media-descriptor-writer: remove condition from inside loop
Only enter the loop if it indeed has a change of doing something
2015-12-04 19:03:53 -03:00
Thiago Santos
8088d5354b docs: fix typo
Retrive -> retrieve
2015-12-04 19:03:53 -03:00
Thibault Saunier
167306dbe0 validate: Add some documentation and annotiations 2015-12-02 13:50:02 +01:00
Thibault Saunier
87fbaf966c validate: Add a 'smart' reporting details mode
Making sure to show all informations for critical issues, but be synthetic for others
2015-12-02 13:49:34 +01:00
Edward Hervey
01f010b15d scenario: Set the default action execution interval to 10ms
Having a default value of 0 meant that a g_idle_add loop was constantly
running, causing each test to use 100% cpu.

This is no longer required. Using a 10ms interval brings down cpu usage
to a sane value
2015-11-23 17:44:27 +01:00
Vineeth T M
680ca5e10f validate: media-descriptor-writer: Don't create media info when stream info is not present.
When a file does not contain any stream info, then there is no need
to create the media info file as, it is not considered to be a valid file
and no validate checks are done for the same.
This skips unnecessary files like .txt, .dump files

https://bugzilla.gnome.org/show_bug.cgi?id=754006
2015-11-17 10:10:10 +01:00
Thibault Saunier
ade0fb3fed validate: launcher: Set scenario manager config before discovering testsuites 2015-11-16 16:45:13 +01:00
Vineeth T M
0f7105d317 validate: launcher: Print error when media-info files not present
When there are no media-info files present and --generate-media-info
option is not given, then it just fails without printing error.
Printing an error stating, use --generate-media-info if there are no
media info files.
When there are neither media files and media info files, print error
stating the same

https://bugzilla.gnome.org/show_bug.cgi?id=755087
2015-11-11 10:12:58 +01:00
Vineeth T M
d57fca241a validate: Fix memory leaks when context parse fails
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

https://bugzilla.gnome.org/show_bug.cgi?id=753862
2015-11-11 10:12:49 +01:00
Vineeth TM
1e76d905ae validate: suppression: suppress 'uninitialised value of size 4' in aacdec
Suppress this error, until the logic in libav is fixed.

https://bugzilla.gnome.org/show_bug.cgi?id=753268
2015-11-11 10:12:25 +01:00
Thibault Saunier
8899fd8dd1 validate: Implement support to run tests inside gdb
Making debugging races leading to crashes easier to debug
2015-11-10 18:17:54 +01:00
Thibault Saunier
91d3e70098 validate: Minor documentation fix 2015-11-10 15:14:49 +01:00
Thibault Saunier
06749ee333 validate: Remove 0.10 caps reference from the documentation 2015-11-08 01:37:14 +01:00
Thibault Saunier
024b1762d7 validate: Handle setting several scenarios
The user might have scenarios specific to a particular pipeline, and the
application might have several pipelines running and scenarios that
apply on specific pipeline. We have to handle that valid use case.
2015-10-29 15:34:01 +01:00
Sebastian Dröge
3bd31854a8 validate: Un-blacklist seeking HLS tests
They are reliable enough after 36b80edb72
in gst-plugins-base now.
2015-10-27 15:51:44 +02:00
Wonchul Lee
db8efd60fc validate: Add missing gir include path
Add missing gir include path for building with gst-uninstalled script

Differential Revision: https://phabricator.freedesktop.org/D461
2015-10-26 15:36:40 +01:00
Vineeth T M
cfe7dc1d6d validate-transcoding: trivial patch to change error from 0.10 to 1.0
While printing error in transcoding, gst-validate-transcoding-0.10 is being used.
Changing the same to 1.0

https://bugzilla.gnome.org/show_bug.cgi?id=756215
2015-10-19 15:43:35 -03:00
Thibault Saunier
aef41ba72a validate: Add support for prores 2015-10-14 12:01:15 +01:00
Guillaume Desmottes
9005428910 validate: fix double free
Summary:
Move variable declarations in the for block so we won't try re-free
tldir in case of early short circuiting of the 'for' code.

Depends on D348

Reviewers: thiblahute

Reviewed By: thiblahute

Differential Revision: https://phabricator.freedesktop.org/D349
2015-10-10 10:51:10 +01:00
Guillaume Desmottes
5067cee05b validate: fix loading of full path scenario
Summary:
We were checking if the path was a full one but was using the
scenario_name instead of this path when trying to load the scenario.

Depends on D346

Reviewers: thiblahute

Reviewed By: thiblahute

Differential Revision: https://phabricator.freedesktop.org/D348
2015-10-10 10:50:58 +01:00
Vineeth TM
aa2c93c3d4 validate:launcher: throw valgrind error only for definite loss
errors-for-leak-kinds should be set to definite, because almost every test case
, will have possibly lost memory, which may or may not be a leak.
And throwing error for all these cases doesn't seem to be correct.

https://bugzilla.gnome.org/show_bug.cgi?id=752754
2015-10-02 17:46:51 +02:00
Vineeth T M
e7b65fe5df validate: launcher: Fix media_check class name and add double quotes for valgrind logs
When creating the class names for media check, uri is being used,
instead of the path. Hence converting the uri using uri2path and creating
class name.
Add double quotes for valgrind logs, to support special characters like space

https://bugzilla.gnome.org/show_bug.cgi?id=752808
2015-10-02 17:43:50 +02:00
Vineeth TM
e1c1c45eb8 validate: media-check: Pass NULL instead of GError if not using it
If not using the GError being passed on to media descriptor, writer and parser,
simply pass NULL instead of GError.

https://bugzilla.gnome.org/show_bug.cgi?id=753340
2015-10-02 17:39:00 +02:00
Vineeth TM
15c87003b8 validate: descriptor-writer: Handle NULL GError address and free GError during error cases
writer_new_discover() API should be able to accept NULL GError and in case of
error, if GError is passed on as parameter, it should be propagated, else it
should be free'd.

https://bugzilla.gnome.org/show_bug.cgi?id=753340
2015-10-02 17:39:00 +02:00
Vineeth TM
5c0c42ed6d validate:tools: set locale to all and change argument to FILENAME
When file name consists of characters from other languages, say korean,
then it throws an error
Error initializing: Invalid byte sequence in conversion input

Hence setting locale to all to fix this.
And changing the media-info argument to type G_OPTION_ARG_FILENAME

https://bugzilla.gnome.org/show_bug.cgi?id=753486
2015-10-02 17:32:19 +02:00
Vineeth T M
4071d60b0f validate: Print the return value at the end
Makes it easier to know if the test passed or failed.

https://bugzilla.gnome.org/show_bug.cgi?id=754013
2015-10-02 17:21:50 +02:00
Vineeth T M
1b700f13b4 validate: launcher: Support relative path for folder names
Even though relative paths are supported, right now it does not
work when we give the path as 'media/' present in the current directory.
Adding support for the same.

https://bugzilla.gnome.org/show_bug.cgi?id=754100
2015-10-02 17:20:18 +02:00
Thibault Saunier
91b3001f77 validate:launcher: Treat min-media-duration as a float 2015-09-30 18:13:28 +02:00
Thibault Saunier
b59cc63de7 scenarios: Set min-media-duration on switch_audio_track 2015-09-30 15:02:03 +02:00
Thibault Saunier
f69b63e749 validate:scenario: Add a way to define a timeout for actions execution
Reviewers: Mathieu_Du

Differential Revision: https://phabricator.freedesktop.org/D271
2015-09-30 14:56:24 +02:00
Sebastian Dröge
67d53d6aad validatessim: Stop using deprecated gst_segment_to_position() 2015-09-26 18:46:05 +02:00
Thibault Saunier
ac87f65d0d Back to development 2015-09-25 12:51:31 +02:00
Thibault Saunier
2501281b09 Release 1.6.0 2015-09-25 12:50:13 +02:00
eunhae choi
9e1cea6c4b validate: scenarios: set need clock sync for switching subtitle track
As soon as the track is changed, the pipeline state is set to NULL
by execution 'stop' action even if there is a 'playback-time' with 5sec.
If the AV sink is not synchronized,
audio fakesink and video fakesink has different position value.
When the validate request the position information of pipeline
to do 'stop' action, the audio fakesink response of the position query
with the bigger value than 5sec.

https://bugzilla.gnome.org/show_bug.cgi?id=755101
2015-09-16 10:59:03 +02:00
Thibault Saunier
82f6ef48e9 Release 1.5.90 2015-08-21 11:09:48 +02:00
Thibault Saunier
1dc7c32d4c Update common submodule 2015-08-21 11:09:48 +02:00
Thibault Saunier
2b5db0c092 validate: Put the GstValidate testsuite version in the launcher config
This way testsuite implementation can have the information
2015-08-21 10:36:56 +02:00
Sebastian Dröge
d14564fd84 validate/transcoding: Don't override the target state of the scenario when receiving BUFFERING=100%
If the scenario handles the states and wants to stay in PAUSED, it's not a
good idea to change the state to PLAYING when receiving BUFFERING=100%. This
caused a race condition in varios seeking tests, most often in the dash scrub
seeking test.
2015-08-17 17:20:07 +02:00
Sebastian Dröge
403b236426 validate: Don't override the target state of the scenario when receiving BUFFERING=100%
If the scenario handles the states and wants to stay in PAUSED, it's not a
good idea to change the state to PLAYING when receiving BUFFERING=100%. This
caused a race condition in varios seeking tests, most often in the dash scrub
seeking test.
2015-08-17 14:27:33 +02:00
Sebastian Dröge
09c5283692 validate: Fix typo 2015-08-16 17:59:00 +02:00
Sebastian Dröge
5b81bb4bc9 validate/launcher: Blacklist some HLS seeking tests again 2015-08-16 17:53:28 +02:00
Thiago Santos
b77f56a234 validate/launcher: Un-blacklist validate.dash.playback.reverse_playback.*
Fixed now
2015-08-16 08:50:36 -03:00
Sebastian Dröge
f898f3ec8b validate/launcher: Un-blacklist validate.hls.playback.reverse_playback.*
It apparently succeeds now.
2015-08-16 12:26:16 +02:00
Sebastian Dröge
fea86d3556 validate/launcher: De-blacklist some HLS tests 2015-08-15 19:07:02 +02:00
Sebastian Dröge
1f8a5483d3 validate/launcher: Blacklist some DASH tests 2015-08-15 19:04:14 +02:00
Thibault Saunier
bb2532aa54 launcher: Handle override files for media files
And make sure to create a new dict for extra_env_vars when instanciating
GstValidateTest
2015-08-15 18:30:53 +02:00
Thibault Saunier
367e6cc4f4 launcher: Make sure MediaDescriptor is set in the GstValidateTest class itself
It is used there but was set in each and every subclasses
2015-08-15 18:30:53 +02:00
Sebastian Dröge
233c99fbb7 validate/launcher: Treat DASH like HLS in another place 2015-08-15 16:19:46 +02:00
Vineeth TM
14414c13c5 validate: scenario: fix leak during error cases
When message_async is not called during error cases, needs_parsing GList is
not being freed resulting in leak. Hence free'ing the same in finalize.

https://bugzilla.gnome.org/show_bug.cgi?id=753339
2015-08-07 10:18:56 +02:00
Vineeth TM
82ffd9c53e validate: descriptor-writer: Handle error when stream info is not available
There is no check to see if stream info is available. This leads to
assertion error. Adding proper error messages for the same and reported
the same as a validate warning message.

https://bugzilla.gnome.org/show_bug.cgi?id=752758
2015-08-05 17:25:04 -04:00
Vineeth TM
97e630efba validate: descriptor-writer: Print proper error message when discover fails
When discovering the files, there will be different kind of errors. If we print
the exact message, then it will be more helpful for user. Especially in the case
of missing plugins, displaying which plugin is missing as error message

https://bugzilla.gnome.org/show_bug.cgi?id=752758
2015-08-05 17:25:04 -04:00
Vineeth TM
185b3b2d7e validate:override-registry: fix memory leak
mutex is being initialized but not cleared.

https://bugzilla.gnome.org/show_bug.cgi?id=752754
2015-08-05 17:22:39 -04:00
Vineeth TM
c2a5909cd4 validate: tools: transcoding error due to wrong condition check
when checking the restriction caps, not adding proper check, which
results in assertion error when calling gst_caps_from_string

https://bugzilla.gnome.org/show_bug.cgi?id=752749
2015-08-05 17:19:24 -04:00
Vineeth TM
e4d490fd45 validate:launcher: Fix documentation
Fix some trivial spelling mistakes in documentation
and document about --update-media-info.

https://bugzilla.gnome.org/show_bug.cgi?id=752748
2015-08-05 17:17:41 -04:00
Vineeth TM
94c684d401 validate:launcher: escape the characters to remove bad range in regex
When media file name consists of some special characters of the format
[b-a].mp3, then it fails with 'bad character range' error and exits.
call re.escape to escape the characters before using it in findall

https://bugzilla.gnome.org/show_bug.cgi?id=752650
2015-08-05 16:56:18 -04:00
Vineeth TM
ac172a9ac6 validate:launcher: improve uri generation for --medias-path
When --medias-paths option is being used, right now we have to
specify the full path, like /home/user/gst/master/media/
But when inside master directory, would like to specify only
media/ and expect it to work. Using os.path.abspath and create uri based on that.
This way we can either just pass media/ or pass the full path as parameters.

https://bugzilla.gnome.org/show_bug.cgi?id=752518
2015-08-05 16:12:47 -04:00
Vineeth TM
b37c550b2b validate:launcher: skip setting up test suite for --medias-paths
in validate.py, some mixer test generators are being added by default.
When passing --media-paths, i would not want to test these.
So instead of setting up the validate test suite, just call tester.register_defaults().

https://bugzilla.gnome.org/show_bug.cgi?id=752518
2015-08-05 16:12:47 -04:00
Vineeth TM
e0962c66ed validate: scenarios: Change start time for reverse playback
Right now reverse playback happens till the beginning of the media file.
But for files which are longer than 150 seconds,
Timeout 'Hard timeout reached: 150 secs' error happens. So we should set the
start time within 150 seconds.

https://bugzilla.gnome.org/show_bug.cgi?id=753216
2015-08-04 15:24:14 +02:00
Thibault Saunier
1fd14635ed validate: launcher: Add a --force-sync option
Which should put the testsuite in a clean state (basically using git
reset --hard for git based testsuite for example)
2015-08-04 15:23:54 +02:00
Nicolas Dufresne
bc297a8295 validate: Enable flac reverse playback tests
This is now supported and works as expected.
2015-08-04 08:53:17 -04:00
Nicolas Dufresne
6993666749 validate: media-descriptor: Workaround file:// stream-id changing
file:// base stream-id will vary depending on the file path. As we
don't expect everyone to use the same absolute path to place the
validate testsuite, the resulting stream-id changes. Because of that,
we can't match the stream-id in the recorded file, hence cannot do
further check. We work around this by doing what filesink would do,
which is compute a SHA256 of the URI which we can use to first
validate the ID is prefixed like expected, and decide if we should
consider the stream IDs the same or not.

https://bugzilla.gnome.org/show_bug.cgi?id=753079
2015-07-31 18:38:10 -04:00
Nicolas Dufresne
e25a6aaf78 validate: media-descriptor: Fix reading seekable record
Casting the result of g_strmp0 to boolean won't make gboolean
value 0 or 1. We need proper 0 and 1 so we can use == comparision.
2015-07-31 10:49:00 -04:00
Vineeth TM
8d477c6d93 validate: media-descriptor: handle proper return values
while comparing the media descriptor with --expected-results, the return
values are not being handled properly, which results in wrong comparision

https://bugzilla.gnome.org/show_bug.cgi?id=748390
2015-07-31 09:42:04 -04:00
Nicolas Dufresne
bd5fb7be26 validate: media-descriptor: Add comment before ignored return value
As stated in the bug, this comparison failing is not a critical
error, warning is enough. Add a comment so nobody thinks it's a
coding error.

https://bugzilla.gnome.org/review?bug=748390
2015-07-31 09:42:04 -04:00
Vineeth TM
2a5ff3f3c8 validate: media-descriptor: remove duplicate conditions
when comparing tags, two conditions in if an else if are same
the correct way is to first check if both are NULL and return.
changed the condition accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=748390
2015-07-30 15:09:00 -04:00
Vineeth TM
f020c41d41 validate: media-descriptor: fix trivial spelling mistakes
replace comparse_stream with compare_streams

https://bugzilla.gnome.org/show_bug.cgi?id=748390
2015-07-30 15:09:00 -04:00
Vineeth TM
c91ed016b1 validate:tools: set locale to all and change argument to FILENAME
When file name consists of characters from other languages, say korean,
then it throws an error
Error initializing: Invalid byte sequence in conversion input

Hence setting locale to all to fix this.
And changing the media-info argument to type G_OPTION_ARG_FILENAME

https://bugzilla.gnome.org/show_bug.cgi?id=752945
2015-07-30 14:06:41 +01:00
Thibault Saunier
df76ce5812 validate: Add a method to get action->scenario in a thread safe way
API:
  gst_validate_action_get_scenario
2015-07-25 10:54:19 +02:00
Olivier Crête
386b91522c validate-scenario: Use thread-safe GWeakRef
Since _set_done() is meant to be thread safe,
it can not be used with g_object_add_weak_pointer(),
instead, one must use GWeakRef. But since it is in the API,
document that fact and add a couple assertions to make sure
it doesn't get broken in the future.
2015-07-24 19:59:20 -04:00
Olivier Crête
ae9dec4cc3 validate-scenario: Use GLib functions to make sure GMainContext is used 2015-07-24 19:59:15 -04:00
Olivier Crête
0a17bfc2be scenario: Only modify the actions from the main thread
The action's content is not protected by a mutex, so only
modify it from the main thread.
2015-07-24 17:06:47 -04:00
Olivier Crête
1599c1abd8 gitignore: Add more generated files 2015-07-24 17:06:29 -04:00
Vineeth T M
7e91f73c76 validate-scenario: get duration from media_info if not able to query
In case of files, which don't have duration in header, baseparse
estimates the duration only after 1.5 seconds. But Async_done event
is sent before the duration is estimated, which results in error.
If duration query fails, getting the duration from the media-info being
passed through --set-media-info. If media-info is also not set,
printing an error message and throwing error.

https://bugzilla.gnome.org/show_bug.cgi?id=752521
2015-07-22 16:46:43 +01:00
Vineeth T M
aa6aebe41e validate:launcher: add quotes to the file path
When folder name contains space or other special characters,
it fails to recognise the same and error is thrown. Adding the path
inside  to recognise the same

https://bugzilla.gnome.org/show_bug.cgi?id=752611
2015-07-22 16:40:07 +01:00
Vineeth T M
074406bc2c validate:launcher: unquote the path to remove special characters
When getting path from url using, url2path, it is returning
special characters (%20 for space etc..), instead of returning
plain path. path.unquote replaces the same..

https://bugzilla.gnome.org/show_bug.cgi?id=752611
2015-07-22 16:39:43 +01:00
Vineeth TM
e4906c7289 validate:launcher: return on error cases properly
When folder name contains spaces during --medias-paths, it does not
create the media info, but still it shows as passed.
Returing failed during this case

https://bugzilla.gnome.org/show_bug.cgi?id=752611
2015-07-22 16:39:24 +01:00
Vineeth TM
6bf6fe7dec validate:launcher: handle file path in --medias-paths
right now --medias-paths accepts only directories. Added support to
accept file path as well.

https://bugzilla.gnome.org/show_bug.cgi?id=752692
2015-07-22 16:35:49 +01:00
Vineeth T M
6c48e89aab validate:launcher: skip default media path for --media-paths option
when --media-paths is specified, then no need to check the default media.
And add Force argument to let testsuite force the inclusion of
default media directory.

https://bugzilla.gnome.org/show_bug.cgi?id=752461
2015-07-16 16:31:09 +02:00
Thibault Saunier
89283ef3fe validate:ssim: Fix calls to the converters
We were mixing them
2015-07-16 16:30:52 +02:00
Vineeth T M
1ef0fdd66c validate:main.py: trivial document fixes
gst-validate-launch is being used instead of gst-validate-launcher
in a couple of places.

https://bugzilla.gnome.org/show_bug.cgi?id=752455
2015-07-16 09:35:17 +02:00
Thibault Saunier
0826c87136 validate:gtk: Handle the case were we are 'pressing' only a modifier 2015-07-14 20:31:59 +02:00
Guillaume Desmottes
09145cc56b validate: don't store the full description struct
Summary:
When running valgrind we'll have 2 scenarios loaded (the normal one and
"setup_sink_props_max_lateness.scenario"). The loading code shouldn't assume
which one will contain the description it actually care about and so just look
for the fields it actually needs.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D199
2015-07-14 18:28:34 +02:00
Thibault Saunier
11b1ae5f3b validate:scenario: Report EVENT_SEEK_NOT_HANDLED as reported error on error 2015-07-14 18:16:40 +02:00
Thibault Saunier
b02e422519 validate: Document the GST_VALIDATE_CONFIG environment variable 2015-07-13 16:36:15 +02:00
Thibault Saunier
5e2451da62 validate:scenario: Implement a config to set the interval between action calls
Allowing users to decide the time between which the action should be
executed. In some cases executing on idle might lead to action not
being executed fast enough so the user might want to force an interval
in that case.
2015-07-13 16:36:15 +02:00
Thibault Saunier
96d5d0ab27 Back to development 2015-06-24 17:43:53 +02:00
Thibault Saunier
bab3d99744 Release 1.5.2 2015-06-24 17:42:16 +02:00
Thibault Saunier
5edea350f6 validate:scenario: Reset seeked_in_paused when wrong position detected
+ Lower some debug output to LOG
2015-06-24 16:25:24 +02:00
Thibault Saunier
8e37c81811 validate:ssim: Inform about min average and min minimum similarities 2015-06-24 16:25:24 +02:00
Tim-Philipp Müller
de40a24b8f validate: spelling fixes
analize != analyze
2015-06-14 22:44:26 +01:00
Wonchul Lee
9ea5df9c98 validate: media-check: add newline to end of print statements
https://bugzilla.gnome.org/show_bug.cgi?id=750089
2015-06-14 22:41:12 +01:00
Wonchul Lee
953db96ede validate: media-check: fix double unref in error code path
Writer would get unrefed twice when it could not parse the file.

https://bugzilla.gnome.org/show_bug.cgi?id=750606
2015-06-13 19:28:19 +01:00
Tim-Philipp Müller
736ecef382 validate: tools: fix build
/usr/bin/ld: gst-validate-images-check.o: undefined reference to symbol 'gst_init'
/home/tpm/gst/glib-master/gstreamer/gst/.libs/libgstreamer-1.0.so.0: error adding symbols: DSO missing from command line
2015-06-13 19:25:17 +01:00
Thibault Saunier
06cca8a5b3 validate:ssim: Make position reporting parseable by the launcher 2015-06-12 12:42:42 +02:00
Thibault Saunier
3a1facdb45 validate:ssim: Print better information about execution 2015-06-12 12:42:40 +02:00
Thibault Saunier
245eb9d0f9 validate: print REPORTER->name when passed as source in validate_printf 2015-06-12 12:41:59 +02:00
Thibault Saunier
3e978a46b4 validate:launcher: Avoid printing twice env variables
When printing test command.
2015-06-12 11:31:13 +02:00
Thibault Saunier
ab7e9930d1 validate:tools: Cleanup Makefile.am
Removing useless CFLAGS and LIBS
2015-06-09 10:52:38 +02:00
Wonchul Lee
de6b24d905 validate:media-descriptor-writer: cleanup get tag code
https://bugzilla.gnome.org/show_bug.cgi?id=750609
2015-06-09 10:18:00 +02:00
Thibault Saunier
8b38d4745b validate: Do not define GstValidateOverride type twice 2015-06-08 18:58:46 +02:00
Thibault Saunier
7dd8bae7c2 validate: Fix make distcheck 2015-06-08 18:20:33 +02:00
Thibault Saunier
c206569a64 validate: Generate documentation for Validate plugins
Summary: Depends on D215

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D216
2015-06-08 17:40:32 +02:00
Thibault Saunier
6e5bddf54e validate: Add a validate ssim plugin
Summary:
 + Bump gst-video dependency to 1.4 as we need GstVideoConvert

 Depends on D213: validate: Mark gst_validate_report a G_GNUC_PRINTF

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D215
2015-06-08 17:40:32 +02:00
Thibault Saunier
dbcb6d5614 validate: Mark gst_validate_report a G_GNUC_PRINTF
Summary:
And fix the issue it raised

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D213

Depends on D211
2015-06-08 17:40:32 +02:00
Thibault Saunier
1dc3816943 validate: Add a gst-validate-images-check tool
Summary:
That is a new tool that uses ssim algorithm to compare images

+ Add a GstValidateVideo internal library adding an helper Gssim class

Depends on D210

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D211
2015-06-08 17:40:32 +02:00
Thibault Saunier
bf610de0d6 validate:utils: Add a utility to get a GstClockTime from a structure
Summary:
Properly handling the different types that can represent ClockTime

Make use of it in gst_validate_action_get_clocktime

API: gst_validate_utils_get_clocktime

Depends on D209

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D210
2015-06-08 17:40:32 +02:00
Thibault Saunier
6ddf55eaa2 validate: Properly clear the overrides registry on deinit
Summary: Depends on D208

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D209
2015-06-08 17:40:32 +02:00
Thibault Saunier
2c6993b2bd validate: Add a way to check whether Validate is initialized
Summary:
API:

  gst_validate_is_initialized

Depends on D207

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D208
2015-06-08 17:40:32 +02:00
Thibault Saunier
ba0ab132f9 validate:override: Add a vmethod to check whether a monitor can attach it
Summary: Depends on D206

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D207
2015-06-08 17:40:32 +02:00
Thibault Saunier
38df412a54 validate:override-registry: Make use of gst_validate_element_has_klass
Summary:
+ Fix a minor mixup bug between klass_overrides and name_overrides

Depends on D205

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D206
2015-06-08 17:40:31 +02:00
Thibault Saunier
40d00e8614 validate:override: Make overrides GObjects
Summary:
This way we can subclass them getting a proper
context in the various override methods.

Depends on D204

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D205
2015-06-08 17:40:31 +02:00
Thibault Saunier
13864f4998 validate: Move plugins to the toplevel directory
Summary:
Otherwise we end up with circular / complicated dependencies between
Validate, its libraries, and the plugins

Depends on D203

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D204
2015-06-08 17:40:31 +02:00
Thibault Saunier
83a8835a65 validate:scenario: Round up computed ClockTime values
Otherwise we end up with rounding error and instead of
seeking to 0.1 we seek to 0.09999999999 for example

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D203
2015-06-08 17:39:57 +02:00
Thibault Saunier
dfe29c56e5 validate🏃 Add a method to force exiting the runner
This method is similar to runner_printf() but can be used
only once. The user needs to make sure all the pipeline
are in NULL state when this is called.

The method emits a "STOPPING" signal and at that point
overrides or monitors should do extra processing/checks if
needed.

+ Make use of it everywhere where it makes sense.

API:
  gst_validate_runner_exit
  GstValidateRunner::stopping signal
2015-06-06 08:50:47 +02:00
Olivier Crête
5ce8ab213e pad-monitor: Check that an ERROR GstMessage has been posted on GST_FLOW_ERROR
Summary:
Before returning GST_FLOW_ERROR, an element must post an ERROR GstMessage,
enforce that.

Reviewers: thiblahute, Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D201
2015-06-03 11:43:12 -04:00
Luis de Bethencourt
111b7344a3 validate: remove unused assignment
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D202
2015-06-03 11:50:51 +01:00
Olivier Crête
dad9d252bc Revert "validate-utils: simplify _read_builtin ()"
This breaks the fast_forward scenario parsing.

This reverts commit 0cfff156b1.
2015-06-02 16:46:15 -04:00
Luis de Bethencourt
ab65b1e743 validate-utils: clean error handling in _file_get_lines () 2015-05-29 17:40:26 +01:00
Luis de Bethencourt
0cfff156b1 validate-utils: simplify _read_builtin () 2015-05-29 16:47:48 +01:00
Vineeth T M
1e3084aa95 validate-utils: sqrt(-1.0) leads to undefined result
Using sqrt of -1 is not valid and leads to undefined results.
When comparing the return value of the fucntion in validate-scenario,
it is being checked with ret == -1, so it makes sense to just return -1 in error case.

https://bugzilla.gnome.org/show_bug.cgi?id=748389
2015-05-29 15:40:55 +01:00
Thibault Saunier
e832785604 validate:scenario: Make sure to actually test position to execute actions 2015-05-20 14:16:14 +02:00
Guillaume Desmottes
9ef7943369 validate: add valgrind ignore supps for theora encoder
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D181
2015-05-18 10:16:28 +02:00
Guillaume Desmottes
dc2ba59ebb validate: add more H264 valgrind supp rules
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D180
2015-05-18 10:16:05 +02:00
Thibault Saunier
4829e44147 validate:gtk: Use event->type directly
gdk_event_get_event_type was introduced in Gtk 3.10 only

https://bugzilla.gnome.org/show_bug.cgi?id=749421
2015-05-18 10:15:33 +02:00
Thibault Saunier
d89b4884c6 validate:launcher: extra_env_variables is a dictionnary 2015-05-14 17:44:17 +02:00
Thibault Saunier
dc2f4f11c6 validate:launcher: Always set the protocol when creating a GstValidateMediaDescriptor
Summary: Depends on D174

Reviewers: Mathieu_Du, gdesmott

Differential Revision: http://phabricator.freedesktop.org/D175
2015-05-14 15:56:57 +02:00
Thibault Saunier
4ada36dbfc validate:launcher: Allow passing extra env variables to the tests
Summary: Depends on D173

Reviewers: Mathieu_Du, gdesmott

Differential Revision: http://phabricator.freedesktop.org/D174
2015-05-14 15:56:57 +02:00
Thibault Saunier
817ef82bb0 validate: overrides: Allow using regex for named overrides
Summary:
And minor fixes

Depends on D172

Reviewers: Mathieu_Du, gdesmott

Differential Revision: http://phabricator.freedesktop.org/D173
2015-05-14 15:56:57 +02:00
Thibault Saunier
d90f17a5b1 validate:scenario: Handle action execution after pipeline destruction
Summary:
It is possible to keep executing actions after the pipeline
has been destroyed.

API:
  GST_VALIDATE_ACTION_TYPE_DOESNT_NEED_PIPELINE

Depends on D171

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D172
2015-05-14 15:56:56 +02:00
Thibault Saunier
92732c9f24 validate:scenario: Add a macro to get ActionType from an Action
Summary: Depends on D170

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D171
2015-05-14 15:56:56 +02:00
Thibault Saunier
53628bd7f2 validate:scenario: Factor out code to check position
Summary:
Making simpler to follow the execute_next_action function.

Depends on D169

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D170
2015-05-14 15:56:56 +02:00
Thibault Saunier
0f1f1db171 validate:pipeline-monitor: Stop printing position when not possible
Summary:
If from anything >= PAUSED to anything <= READY we can not query
pipeline position, so do not try to.

Depends on D168

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D169
2015-05-14 15:56:56 +02:00
Thibault Saunier
2ccae6e500 validate:scenario: Rename 'get_position_id' to 'execute_actions_source_id'
Summary: Depends on D167

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D168
2015-05-14 15:56:56 +02:00
Thibault Saunier
319e86c81c validate: Do not unref twice the same list
Summary: Depends on D166

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D167
2015-05-14 15:56:56 +02:00
Thibault Saunier
2e8552eff0 validate:scenario: Add a way to specify the pipeline on which a scenario applies
Summary:
From within the scenario itself.

Depends on D165

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D166
2015-05-14 15:56:56 +02:00
Thibault Saunier
2548eafd11 validate: Avoid depending on Gst 1.4
Summary: Depends on D117

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D165
2015-05-14 15:56:56 +02:00
Thibault Saunier
b5d3622b31 validate: Add a gtk plugins that implements action types relative to Gtk
Summary:
Currently the only supported action is gtk-put-event allowing press and
release keyboard keys.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D117
2015-05-14 15:56:56 +02:00
Thibault Saunier
0969e79607 validate: Always git submodule update from the toplevel directory
Otherwise it fails with older git versions
2015-05-12 09:55:58 +02:00
Emanuele Aina
2c3d0c9eab validate: Reshape documentation
Fix some errors, use more Docbook tags and split each command reference
in its own file.

https://bugzilla.gnome.org/show_bug.cgi?id=749162
2015-05-11 21:56:27 +02:00
Emanuele Aina
1286989c31 validate: Go back to the validate dir after submodule init
https://bugzilla.gnome.org/show_bug.cgi?id=749162
2015-05-11 21:56:27 +02:00
Guillaume Desmottes
d548286209 validate: ignore x264 valgrind errors
Summary: The x264 code is pretty hardcore so I just opened a bug for now.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D164
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
4927c65710 validate: disable QOS features when running with valgrind
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D156
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
b54a22c9bc validate: move element_has_klass() to utils
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D163
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
f6681ff003 validate: rename get_valgrind_suppression_file()
Summary:
This function is actually not specific to valgrind so we can make it more
generic.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D162
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
2760da33a3 validate: allow to pass more than one file to GST_VALIDATE_CONFIG
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D161
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
e5e7afd86f validate: gst_validate_plugin_get_config() return 'core' conf if plugin is NULL
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D160
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
92fa2b5681 validate: add gst_validate_deinit()
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D159
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
596daaed74 validate: don't leak not maching config structures
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D158
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
c2fef15266 validate: factor out create_config()
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D157
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
63ca026b03 validate: display debug info when stopping because EOS
Summary:
Useful to know if we are executing the 'stop' command provided by the scenario
or not.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D155
2015-05-11 21:55:24 +02:00
Guillaume Desmottes
0417e47e50 validate: unref last_caps when destroying pad monitor
Reviewers: thiblahute

Reviewed By: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D150
2015-05-07 11:19:57 +02:00
Guillaume Desmottes
5a5f718900 validate: fix typo in reverse_playback.scenario
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D148
2015-05-06 11:32:33 +02:00
Guillaume Desmottes
c2128e45af validate: initialize position
Summary: Fix invalid read when executing without having the actual position.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D147
2015-05-06 11:32:30 +02:00
Guillaume Desmottes
c08da0041d validate: be less specific when ignoring the pixman tls leak
Summary: I hit the same big in a slightly different code path.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D146
2015-05-06 11:32:26 +02:00
Guillaume Desmottes
007f433d73 update gitignore
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D145
2015-05-04 14:48:26 +02:00
Guillaume Desmottes
b947e1c2ef use the setup_sink_props_max_lateness config scenario with valgrind
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D141
2015-05-04 14:13:46 +02:00
Guillaume Desmottes
4a8d4ddbf6 validate: add 'target-element-klass' property on set-property action
Summary:
This allows us to set a property on all the elements of the pipeline matching
a specific klass name.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D140
2015-05-04 14:13:45 +02:00
Guillaume Desmottes
316a7bb74d validate: add 'optional' action keyword
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D139
2015-05-04 13:24:21 +02:00
Guillaume Desmottes
d0a02df6e5 validate: scenario: call _element_added_cb() on existing children
Summary:
We want to have a chance to set property on all the elements of the pipelines,
including the existing children when the element is added.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D138
2015-05-04 13:24:21 +02:00
Guillaume Desmottes
db366e0a37 Fix 'stoped' typo
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D137
2015-05-01 18:19:39 +02:00
Guillaume Desmottes
4c70c57427 validate: add vg suppression for libdrm bug
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D134
2015-05-01 15:15:26 +02:00
Guillaume Desmottes
d1f1fab185 validate: ignore invalid read from libav aac decoding
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D133
2015-05-01 15:15:26 +02:00
Guillaume Desmottes
1c03eb0f71 validate: ignore libvpx valgrind errors
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D132
2015-05-01 15:15:26 +02:00
Guillaume Desmottes
133c415ade validate: display the URL of ignored Valgrind bugs
Summary:
We don't want to forget about those so best to remind it when starting tests
as we do with blacklisted tests.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D131
2015-05-01 15:15:26 +02:00
Guillaume Desmottes
c5c39d88b1 validate: move look_for_file_in_source_dir and get_valgrind_suppression_file to utils
Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D130
2015-05-01 15:15:26 +02:00
Thibault Saunier
6a89662da6 validate: Make sure to run submodule init from the root dir 2015-05-01 00:01:50 +02:00
Thibault Saunier
9bba59d9ba validate:scenario: Fix 'duration' property of the pause action
We preparse it into and set it as GstClockTime in the
structures so make sure to use them as such.
2015-04-29 13:22:11 +02:00
Thibault Saunier
753ba408dd validate:launcher: Concider unset MediaDescriptor duration has 'infinite' 2015-04-28 16:44:42 +02:00
Guillaume Desmottes
8286adc047 validate: ignore a pixman leak which is fixed in master
http://phabricator.freedesktop.org/D128
2015-04-23 14:35:44 +02:00
Guillaume Desmottes
2067b173cd validate: use a bigger hammer to ignore mesa related leaks
Looks like some tests are hitting a slightly different code path in udev but
the root bug is the same.

http://phabricator.freedesktop.org/D128
2015-04-23 14:35:17 +02:00
Thibault Saunier
d59b117174 validate: Update autogen.sh
And add a gst-validate.doap file.
2015-04-23 11:52:41 +02:00
Thibault Saunier
15f880858c Update common submodule 2015-04-23 11:24:14 +02:00
Guillaume Desmottes
044ab241ee validate: use -debug versions of bins when running from source
Summary:
Those versions are using rpath instead of libtool's wrappers and so will be
faster to start and won't confuse valgrind.

Reviewers: thiblahute

Differential Revision: http://phabricator.freedesktop.org/D116
2015-04-21 11:19:17 +02:00
Guillaume Desmottes
8c4a3de701 move scenarios to data/scenarios
Differential Revision: http://phabricator.freedesktop.org/D115
2015-04-20 15:31:26 +02:00
Guillaume Desmottes
8c2684c9a7 validate: add gstvalidate.supp valgrind suppression file
Differential Revision: http://phabricator.freedesktop.org/D115
2015-04-20 15:29:28 +02:00
Guillaume Desmottes
60498f73b3 validate: scenario: fix structure and action leak 2015-04-20 08:35:58 +02:00
Guillaume Desmottes
308fa194a7 validate: report: fix GString leak when early returning 2015-04-20 08:35:58 +02:00
Thibault Saunier
848d660603 validate:pipelinemonitor: Print position only when in state >= PAUSED
Reviewers: Mathieu_Du

Reviewed By: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D86
2015-04-19 11:58:01 +02:00
Thibault Saunier
31d11ff8c3 validate:launcher: Use full HD screen as default screen size in xvfb 2015-04-19 11:56:29 +02:00
Thibault Saunier
a0b3287d40 validate:launcher: Add a way to run tests without displaying the output
Summary:
Adding a --no-display option and running Xvfb virtual frame buffer X
server.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D105
2015-04-17 21:51:29 +02:00
Thibault Saunier
76eedece5c validate:launcher: Error out if valgrind is not available on the system
Summary:
When the user wants to use valgrind, make sure it is present on the
system before doing anything

Reviewers: gdesmott

Differential Revision: http://phabricator.freedesktop.org/D104
2015-04-17 19:58:18 +02:00
Thibault Saunier
86efbffa32 validate:scenario: Stop scenario execution on stop action
And document it properly.

Summary:
The stop action was defined as "setting state to NULL" but
its actual goal is to stop the execution of the scenario. Make sure
that the scenario will not try to execute other actions when that
one has been executed.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D103
2015-04-17 19:31:07 +02:00
Thibault Saunier
5d6fcb5727 validate: Gracefully handle absence of TAG on streams
Summary: And do not segfault when it happens!

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D99
2015-04-16 13:43:33 +02:00
Thibault Saunier
adbe811175 validate:launcher: Pass GST_VALIDATE_SCENARIO to the subprocess env only
Summary:
And make sure to remove it from the env if the user has it in its main
environment.

Without that commit we ended up passing scenarios from previous tests
to the following ones where None were specified.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D98
2015-04-16 12:41:25 +02:00
Guillaume Desmottes
abb9e0ff2a validate: don't pass NULL to gst_caps_copy() 2015-04-16 12:41:25 +02:00
Guillaume Desmottes
36e69f305a validate: use GstMediaDescriptorWriter as log handler
Allow us to catch warnings when running gst-validate-media-check-1.0.
2015-04-16 12:41:25 +02:00
Guillaume Desmottes
2133207113 validate: media-descriptor-writer: fix string leaks 2015-04-16 12:41:25 +02:00
Young Han Lee
102c13ed6f validate:launcher: Handle git error properly
'OSError' exception is emitted but not handled properly when git is not
installed on running system.

https://bugzilla.gnome.org/show_bug.cgi?id=747892
2015-04-15 11:36:28 +02:00
Guillaume Desmottes
8a6494ddf8 validate: set GST_GL_XINITTHREADS
This ensure that XInitThreads is called and so gl contexts are properly
initialized.

https://bugzilla.gnome.org/show_bug.cgi?id=747840

Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2015-04-14 12:56:32 +02:00
Thibault Saunier
0fcee6ed84 validate:launcher: Make validate the only default testsuite
Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D93
2015-04-13 11:27:08 +02:00
Thibault Saunier
5a6d6b9475 validate:launcher: Let the responsibility to update asset to the testsuite
Summary:
It makes it easier to make sure that the assets needed for a specific
testsuite are available when needed

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D92
2015-04-13 11:27:08 +02:00
Thibault Saunier
101ed96b5a validate:tools: EOS handling is the responsibility of the scenario
Summary: If any scenario set

Reviewers: Mathieu_Du

Differential Revision:
http://phabricator.freedesktop.org/D90
2015-04-13 11:27:08 +02:00
Ramiro Polla
6bb04c037c validate:scenario: Add support for waiting on signals and messages
Reviewers: Mathieu_Du

Differential Revision:
http://phabricator.freedesktop.org/D88
2015-04-13 11:27:02 +02:00
Thibault Saunier
774dbf9346 validate:scenario: Report disabling plugin issues
Summary:
+ typedef GstValidateActionReturn so it can be used in the introspection
+ Add GST_VALIDATE_EXECUTE_ACTION_ERROR_REPORTED which should be used
  to tell Validate that something wrong happened so the sub action
  won't be executed, but that it should not report an error itself
  as it has already been handled in the action function.

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D81
2015-04-10 16:53:41 +02:00
Thibault Saunier
69ca5c69cc validate:scenario: Allow execution of disable-plugin as a config action
Summary:
And fix a bug where config actions were added to the list of action even
if they had already been executed

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D80
2015-04-10 16:53:41 +02:00
Thibault Saunier
25ab37300d validate:scenarios: Set seek_forward_backward min-media-duration=45
Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D79
2015-04-10 16:53:41 +02:00
Thibault Saunier
2cf082c4be validate:launcher: Set more env variable in the launcher command desc
Summary:
Adding if present:
  * LD_PRELOAD
  * DISPLAY
  * GST_VALIDATE_CONFIG
  * GST_VALIDATE_OVERRIDE

+  enhance the add_env_variable method to more easily set envvar from
current value

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D78
2015-04-10 16:53:41 +02:00
Thibault Saunier
5d7403a6a5 validate: Add a method to easily get plugin configuration
Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D77
2015-04-10 16:53:41 +02:00
Thibault Saunier
4dce5054de validate:plugins: Add support to all GApplication as a test apps
Summary:
Add a very simple plugin that will allow any GApplication to easily be
used with GstValidate using the LD_PRELOAD feature

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D75
2015-04-10 16:53:41 +02:00
Mathieu Duponchelle
23bb7dfdcc validate: let structs_from_filename be exported.
Summary: It is useful for plugins too

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D74
2015-04-10 16:53:41 +02:00
Thibault Saunier
0159c96ab0 validate:scenario: Update Action.repeat field when needed
Summary: And print the current repeat value of the action that have such a field

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D73
2015-04-10 16:53:41 +02:00
Thibault Saunier
1e6b188d78 validate:scenario: Alway execute a 'quit' action on EOS
Summary: Making scenario more usable with LD_PRELOAD

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D72
2015-04-10 16:53:41 +02:00
Thibault Saunier
460bf61345 validate:scenario: Set the main action structure in fill_structure
Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D71
2015-04-10 16:53:40 +02:00
Thibault Saunier
bbd04eef4c validate:launcher: Use GST_VALIDATE_SCENARIO envvar to set scenarios
Summary:
Instead of concidering all apps will have a --set-scenario argument
which is not going to be the case as soon as we run the tests through
LD_PRELOAD

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D70
2015-04-10 16:53:40 +02:00
Thibault Saunier
2fe03f1993 validate:launcher: Move get_current_position from GstValidatePipelineTest to GstValidateTest
This is where it belongs

Reviewers: Mathieu_Du

Differential Revision: http://phabricator.freedesktop.org/D69
2015-04-10 16:53:40 +02:00
Wonchul Lee
058d5c6b12 validate: fix typo in scenario file format docs
https://bugzilla.gnome.org/show_bug.cgi?id=747487
2015-04-08 10:10:42 +01:00
Guillaume Desmottes
2f643bde2c validate: scenario: fix caps leak 2015-03-31 09:45:06 +02:00
Guillaume Desmottes
37d0ea4335 validate: media-descriptor: fix filenode->caps leak 2015-03-31 09:45:06 +02:00
Guillaume Desmottes
15918f1e40 validate: transcoding: don't create a second mainloop 2015-03-31 09:45:06 +02:00
Guillaume Desmottes
8b84f76df4 validate: transcoding: don't leak the requested sinkpad from decodebin 2015-03-31 09:45:06 +02:00
Guillaume Desmottes
c8e6b90f4b validate: pad-monitor: fix caps leak
Don't create othercaps when early returning.
2015-03-31 09:45:06 +02:00
Guillaume Desmottes
1bb98b49ca validate: GstValidateMediaCheckTest should inherit from GstValidateTest 2015-03-31 09:45:06 +02:00
Young Han Lee
75205828c7 validate:launcher: Install config.py for non-development mode
Running installed gst-validate-launcher aborted with the following error.

File "lib/gst-validate-launcher/python/launcher/baseclasses.py", line 28, in <module>
  import config
ImportError: No module named config

This is because config.py is added but not installed
in ba6d209b3f.

https://bugzilla.gnome.org/show_bug.cgi?id=747087
2015-03-31 09:29:16 +02:00