Thibault Saunier
70634b1a3f
validate: Remove useless condition
...
CID 1462652
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192 >
2020-06-07 15:47:36 -04:00
Thibault Saunier
eb6c126068
validate:ssim: Avoid dereferencing NULL pointer
...
CID 1462650
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192 >
2020-06-06 06:00:11 +00:00
Thibault Saunier
66972abafc
validate: Give a proper argv[0] when running test files
...
Fixes CID 1462613
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192 >
2020-06-06 06:00:11 +00:00
Thibault Saunier
fdfe797d4e
validate:transcoding: Exit after printing the help
...
Fixes CID 1455575
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192 >
2020-06-06 06:00:11 +00:00
Thibault Saunier
f6e45c8c90
validate: Ensure Scenario isn't NULL when preparing action
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/192 >
2020-06-06 06:00:11 +00:00
Thibault Saunier
88fcc580be
validate: Make extracheck and flow part of core instead plugins
...
It makes things more complex and doesn't bring anything!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/204 >
2020-06-03 11:07:15 -04:00
Edward Hervey
2dd165b4ec
launcher: Limit copies of massive debug logs in markdown file
...
When debugging is activated, we could end up with log files ranging in the
multi-megabyte or even gigabyte range. Copying those is expensive from a cpu/io
point of view in addition to clobbering the storage.
Instead of always copying those files, check if they are smaller than 500kB. If
not, don't copy them and instead provide a link to their location.
Fixes #52
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/203 >
2020-06-03 09:39:11 +02:00
Thibault Saunier
124153fe06
validateflow: Allow specifying checksum type
...
And add an extra mode 'checksum-as-id' which basically numerate
buffers checksums as they are being received so that it is simpler
to compare expectations when you are tracking buffers from both
sinkpads and srcpads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/202 >
2020-05-31 17:17:22 -04:00
Thibault Saunier
6a305b1e23
validate: Add a parameter to force waiting on the test clock
...
This allows to wait for a new buffer to reach the sink without
actually cranking that buffer, allowing to quite the test without
waiting for EOS in a 100% reproducible way
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/201 >
2020-05-29 21:12:53 -04:00
Thibault Saunier
774a4a8704
validate: Error out when a config hasn't been used at all
...
It probably means a plugin is not available
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/201 >
2020-05-29 18:16:23 -04:00
Tim-Philipp Müller
cd4836951e
Ship validate as part of a gst-devtools tarball
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/199 >
2020-05-29 14:30:26 +00:00
Thibault Saunier
ca8cdfd736
validate: Fix mixup in quarks usages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200 >
2020-05-28 17:17:10 -04:00
Thibault Saunier
0f1dffdcc0
validate: Add missing return func when GLib < 2.50
...
CID 1463854
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200 >
2020-05-28 17:17:10 -04:00
Thibault Saunier
012288910b
validate: Update documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200 >
2020-05-28 17:17:10 -04:00
Thibault Saunier
b1cf1ffebd
validateflow: Add a way to configure when to generate expectations
...
By default, generate them whenever the file is missing but adding a way
to override that with `validateflow,generate-expectations=true` to force
regenerating them or setting `validateflow,generate-expectations=false`
to disallow generating them (on CI servers for example)
Also update the validateflow documentation to take that into account
and remove references to pipeline.json file which is now gone!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/200 >
2020-05-28 17:17:10 -04:00
Thibault Saunier
3264de6751
scenario: Minor cleanup around pipeline change state management
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/198 >
2020-05-27 19:20:16 +00:00
Thibault Saunier
e1ad840494
scenario: Mark seek as done only when reaching next state
...
There is a race where following actions could generate a
flush-start/flush-stop dance but the state change resulting from the
seek hasn't been committed yet, leading to the ASYNC_START being
ignored by GstBin since its pending_state is not VOID when receiving
the ASYNC_START message.
Conceptually it is totally correct to consider an action done when
the state change of the pipeline is stabilized..
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/198 >
2020-05-27 19:20:16 +00:00
Thibault Saunier
e49876bb05
validate:launcher: Stop wrongly erroring on testsuite loading failure
...
When the testsuite was actually already loaded as the .py
file was explicitly passed in
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197 >
2020-05-26 19:16:27 -04:00
Thibault Saunier
9f11ba5937
validate: Fix loading configs from a caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197 >
2020-05-26 19:16:26 -04:00
Thibault Saunier
cf0f1df314
flow: Use bat to color diffs when possible
...
Adding a function to check if can output colored logs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197 >
2020-05-26 19:16:26 -04:00
Thibault Saunier
91ac75aa4c
launcher: check: Properly set PLUGIN_PATH and registry when running in gst-build
...
This makes registry
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197 >
2020-05-26 19:16:26 -04:00
Thibault Saunier
90cc65f7ee
launcher: Ensure that -j tests run in parallel when running forever
...
So that you can reproduce the issue you want faster!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197 >
2020-05-26 17:19:36 -04:00
Thibault Saunier
766f339fb8
launcher: Add support for running tests inside rr
...
Allowing us to easily run the tests forever and then replay the
failures!
https://rr-project.org/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/197 >
2020-05-26 17:19:36 -04:00
Guillaume Desmottes
f78997ec2e
validate: add missing gir annotation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/194 >
2020-05-25 14:42:01 +00:00
Edward Hervey
5e2df60422
validate-scenario: Initialize variable correctly
...
ret needs to be always reset to FALSE *before* checking attempting to load the
individual files. Otherwise there's the possibility it would silently accept an
invalid scenario name
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/196 >
2020-05-22 18:00:04 +02:00
Edward Hervey
8697663d8c
validate-scenario: Remove unused variable
...
We only need to check whether the field is present and of a given type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/196 >
2020-05-22 17:56:40 +02:00
Thibault Saunier
fa95de073b
validate: Stop using g_file_peek_path
...
It was introduced in 2.56 so is too recent
Fixes https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/issues/51
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/195 >
2020-05-15 11:28:10 -04:00
Thibault Saunier
0ffcacf325
validate: Add including support in the structure file parser
...
Adding proper error reporting support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/191 >
2020-05-11 17:03:49 -04:00
Thibault Saunier
d203f4251b
validate: utils: Do not try to replace vars in debug info fields
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/190 >
2020-05-08 20:21:16 -04:00
Thibault Saunier
dcb719d6cc
validate: Fix parsing validate tests files with vars on windows
...
And ensure that we escape windows path in variables
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/190 >
2020-05-08 20:21:16 -04:00
Thibault Saunier
884c45ff3e
validate:launcher:check: Add support for gst-tester-1.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/189 >
2020-05-07 09:39:16 -04:00
Thibault Saunier
b669bb0327
validate: Add support for known-issues in the .validatetest
...
And add some tests about remaining actions failures
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/189 >
2020-05-07 09:36:03 -04:00
Thibault Saunier
da390689c9
validate: Ensure a meta structure is found in test files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/189 >
2020-05-07 00:31:45 -04:00
Thibault Saunier
619efa56a7
validate:scenario: Check remaining action on stop, not EOS
...
When ignoring EOS, on addition action could end up not being executed
and no error was reported which was wrong.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/189 >
2020-05-07 00:31:45 -04:00
Thibault Saunier
e00ed70925
validate: Fix rendering destination directory path creation
...
We were ending up creating file:/some/path in cwd
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187 >
2020-05-06 22:54:59 +00:00
Thibault Saunier
af3006dc12
validate: Plug some leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187 >
2020-05-06 22:54:59 +00:00
Thibault Saunier
bb0d81fd4c
validate: Add details on all g_log message reports.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187 >
2020-05-06 22:54:59 +00:00
Thibault Saunier
b65b2bc2fe
validate: Add a mechanism to mark tests as skipped
...
And use it when a plugin is missing and the user didn't ask for
failure when it happens
And use the TAP[0] synthax to report it
[0]: https://testanything.org
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187 >
2020-05-06 22:54:59 +00:00
Thibault Saunier
b1e9e409fd
validate: Enhance issue reporting from structures
...
And properly bail out when required
This is preparatory work for gst-test in core which will use the TAP
protocol
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/187 >
2020-05-06 22:54:59 +00:00
Thibault Saunier
a1a2efc970
validate:flow: Handle some more segment fields filtering
...
Those slept through when implementing filtering
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/188 >
2020-05-05 23:09:31 -04:00
Thibault Saunier
04a648e345
ssim: Minor improvements on the way we attach to pads
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174 >
2020-04-30 12:40:13 -04:00
Edward Hervey
fb71bf8fab
validate-scenario: Refactor seek handling
...
* Store all seek values into a list of pending seeks instead
of hardcoding some values
* Store all segments that sinks received
* Match segments to seeks when all sinks received segments with
the same seqnum
* Detect when a seek did *not* result in segments with identical
matching seqnums
Should allow checking for all types of seek handling, including
flush-less seeks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174 >
2020-04-30 12:40:12 -04:00
Edward Hervey
5dafe4bb64
validate-report: Add new check for top-level seek
...
This issue is to detect seeks that don't result in segments
with identical seqnums. This check can be done at the top-level
scenario
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174 >
2020-04-30 12:40:12 -04:00
Edward Hervey
e05d4ac8f5
validate-pad-monitor: Post GstBaseSink SEGMENT on the bus
...
Allows higher-level bin or app (like validate-scenario) to know
what each sink currently has in terms of SEGMENT.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174 >
2020-04-30 12:40:12 -04:00
Edward Hervey
854826501c
validate-element-monitor: Detect basesink elements
...
And add a macro
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174 >
2020-04-30 12:40:12 -04:00
Edward Hervey
4080cd9749
validate-scenario: Add logging for scenario lock taking/releasing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174 >
2020-04-30 12:40:12 -04:00
Thibault Saunier
1e8a0dac2a
pad-monitor: Reliably track pending seeks
...
Instead of overriding all values when receiving a seek, store
them as a list of expected values.
This allows handling several seeks in a row, like non-flushing
seeks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/174 >
2020-04-30 12:40:12 -04:00
Thibault Saunier
ec2a139246
validate: Allow overidding issue severity from configs
...
Refactoring sensibly to allow getting configs outside the `core` namespace
and outside plugin names.
The `GST_VALIDATE_OVERRIDE` env variable should probably be removed
all together at some point.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/185 >
2020-04-29 10:13:51 -04:00
Thibault Saunier
0e85d15da0
validate: Add an option to describe issue types
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/185 >
2020-04-29 10:13:51 -04:00
Thibault Saunier
66d29a31fd
validate: Show the exact file line when error out in structure files
...
And minor stdout enhancements
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/185 >
2020-04-29 08:33:21 -04:00
Thibault Saunier
a99cbecd98
validate:launcher: Mark some more tests as too long for valgrind
2020-04-29 08:24:18 -04:00
Thibault Saunier
640469ce0c
validate: Do not check pulling thread when thread is paused
...
With decodebin3 we have cases where a task has been started in
the `typefind` element but the demuxer is the one pulling (from
its own thread)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/183 >
2020-04-28 10:17:02 -04:00
Thibault Saunier
75d30ae2d3
validate: Add a check-position action type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/182 >
2020-04-27 17:00:12 -04:00
Thibault Saunier
47f59ad731
validate:scenario: Enhance failures messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/182 >
2020-04-27 17:00:12 -04:00
Thibault Saunier
9840417a87
validate: Add a way to run a TestClock in scenarios
...
A TestClock will be used automatically when a scenario has a
`crank-clock` action.
And make `validate` and `debug-viewer` options features in meson,
no reason they weren't and now we require gst-check to build validate
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/182 >
2020-04-27 17:00:12 -04:00
Thibault Saunier
bf952d3c8b
validate: Introduce the concept of "Test files"
...
This way we can have a single file that wraps scenarios,
`gst-validate-1.0` arguments, as well as a configuration.
It changes the name of `description` of scenarios to use `meta`
The goal is to replace tests describes in python with dictionary
to fully self contained `.validatetest` files which look like:
```
meta,
handles-states=true,
ignore-eos=true,
gst-validate-args = {
"videotestsrc pattern=blue ! video/x-raw,format=I420,framerate=1/1 ! timeoverlay ! $(videosink) name=videosink allocation-meta-flags=0",
},
configs = {
"$(validateflow), pad=videosink:sink, buffers-checksum=true, ignored-fields={\"buffers=meta\", }",
}
play
seek, start=0.0, stop=5.0, flags=accurate+flush, rate=1.0
crank-clock, expected-elapsed-time=0.0
crank-clock, repeat=4, expected-elapsed-time=1.0
crank-clock, expected-elapsed-time=1.0
stop, on-message=eos
```
2020-04-27 16:03:33 -04:00
Thibault Saunier
b7202e2f16
validate:flow: Sensibly improve stdout
2020-04-27 10:52:48 -04:00
Thibault Saunier
9aff82d6bb
validate: Fix criticals around NULL structure usage
2020-04-27 10:52:47 -04:00
Thibault Saunier
7d3ada4f4e
validate: Fix 'repeat' parameter on non ASYNC action types
2020-04-27 10:52:47 -04:00
Thibault Saunier
05815d4b4f
validate:scenario: Do not consider action with 'on-message' as on addition
2020-04-23 19:57:54 -04:00
Thibault Saunier
2b32a68df1
validate: report: Handle when reporting NULL action
...
And add information about the action repeat state.
2020-04-23 19:57:54 -04:00
Thibault Saunier
449674459a
validate: Handle comments in multiline expressions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/179 >
2020-04-22 13:02:29 -04:00
Thibault Saunier
bf24fd3d74
validate: Fix multi variable in a single structure field
...
We were keeping using the GMatchInfo even after modifying the string
which is explicitly stated as invalid in the GRegex documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/179 >
2020-04-22 12:47:20 -04:00
Thibault Saunier
58de8e5330
validate:scenario: Fix 'on-message' actions execution
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/177 >
2020-04-21 20:45:51 -04:00
Thibault Saunier
4f7217b0b3
validate: Add { and [ as line continuation markers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-devtools/-/merge_requests/177 >
2020-04-21 15:28:00 -04:00
Nicolas Dufresne
856944c960
validate-launcher: Fix syntax error
...
This error prevents downloading assets from scratch. This regression was
introduced by MR !145 / commit 2581fef684
2020-04-13 15:38:05 -04:00
Nicolas Dufresne
4bc9f73650
utils: Fix double free in error case
...
This was detected by Coverity. The content point would have been freed gain in
the done: label.
CID 1461289
2020-04-07 18:33:08 -04:00
Thibault Saunier
81770eda7e
validate: Use gst_print for validate report messages
2020-03-23 21:28:45 -03:00
Thibault Saunier
9b260a1ec6
validate: Plug some leaks
...
And add some valgrind suppression for fontconfig
2020-03-12 12:35:45 -03:00
Thibault Saunier
a055c3272e
validate:ssim: Allow specifying file framerate to use frame numbers during comparison
2020-03-12 12:35:45 -03:00
Thibault Saunier
f24ca37794
validate:scenario: Make the action->prepare function return a GstValidateExecuteActionReturn
...
Implementers might want to report the error themselves
2020-03-12 12:35:45 -03:00
Thibault Saunier
7898d5b347
validate: Add a way to check last frame number
...
This introduces a new 'timecode-frame-number' in the 'check-last-sample'
action type se we can verify the number of output frames.
2020-03-12 12:35:45 -03:00
Thibault Saunier
ee5e0b396e
validate: Enhance debug message on invalid expression function call
2020-03-12 12:35:45 -03:00
Thibault Saunier
987d125c7e
validate:utils: Allow plain string in gst_validate_utils_get_strv
2020-03-12 12:35:45 -03:00
Thibault Saunier
06f6fd8de1
validatessim: Avoid having ':' in file names
...
This is unsupported on windows
2020-03-12 12:35:45 -03:00
Thibault Saunier
e4f687e0e7
validate:ssim: Flush cairo surface before getting pixels
2020-03-12 12:35:45 -03:00
Thibault Saunier
1468b57430
validate:launcher: Fix reporting on failure when running forever/fatal
2020-03-12 12:35:45 -03:00
Thibault Saunier
4ae29ab7ed
validate:ssim: Enhance printing position
...
Adding a new `gst_validate_print_position` method which also
sends messages to the runner if required.
2020-03-12 12:35:45 -03:00
Thibault Saunier
0b41b8a8c0
validate:launcher: Add a generator to generate test for frame accurate seeking
2020-03-12 12:35:45 -03:00
Thibault Saunier
30ceb4ef40
validate:ssim: Use stream time to reference frames
2020-03-11 16:36:20 -03:00
Thibault Saunier
289c87de5d
validate:ssim: Don't check neighbor frames when comparing exact same frame
2020-03-11 16:36:20 -03:00
Thibault Saunier
d816853838
validate:ssim: Enhance debugging message when similarity do not match
...
Printing out where the diff image file is
2020-03-11 16:36:20 -03:00
Thibault Saunier
2e45db5ba4
validate:launcher: Enhance support for running ssim tests
...
Using a special 'ssim' variable in pipeline dicts to activate it
Similare to what we do for validateflow
2020-03-11 16:36:20 -03:00
Thibault Saunier
b4c1424ea2
validate:launcher: Add support for skipped media info files
...
Those are skipped to generate tests by default but are updated when
required, this will allow us to generate specific test on demand for
those
2020-03-11 16:36:16 -03:00
Thibault Saunier
78f2026467
validate:ssim: Avoid segfaults trying to attach pads without a template
2020-03-11 16:35:23 -03:00
Thibault Saunier
d654a4049b
validate:scenario:Handle GStreamer serialized timestamps
2020-03-11 16:35:23 -03:00
Thibault Saunier
48e007cb29
validate:launcher: Never try to load a testsuite with the same name from different locations
2020-03-06 16:05:38 -03:00
Thibault Saunier
688265f1a0
validate:media-check: Fix wrong exit code
...
There are code paths where the runner doesn't contain any issue but an error has already been reported
2020-03-06 16:05:38 -03:00
Thibault Saunier
080fdf8e2f
validate:launcher: Add support for the imagesequence protocol
2020-03-06 16:05:38 -03:00
Thibault Saunier
e4ea35d25c
validate:launcher: Fix reporting on failure when running forever/fatal
2020-03-06 15:59:17 -03:00
Thibault Saunier
e7b8ba2d68
validate:launcher: Cache GstValidateMediaDescriptor to avoid reparsing .media_info
...
Saving another second at startup
2020-03-06 15:59:17 -03:00
Thibault Saunier
eda925a334
validate:launcher: Generate profiling data even if an exception happens
2020-03-06 15:36:10 -03:00
Thibault Saunier
bc622ec658
validate:launcher: Batch inspecting scenarios
...
Removing almost 1 second to start running tests with the default
testsuite
2020-03-06 15:36:10 -03:00
Thibault Saunier
ca93a4b704
validate:launcher: Fix printed test number
2020-03-06 15:36:10 -03:00
Thibault Saunier
d1c3607bc3
validate:launcher: Allow passing configs paths when loading from dictionary
...
The same way we allow it for scenarios
2020-03-06 15:36:10 -03:00
Nirbheek Chauhan
d0e6c8a78c
validate: Don't use sprintf + glib format modifiers
...
We do not have a way to know the format modifiers to use with string
functions provided by the system. `G_GUINT64_FORMAT` and other string
modifiers only work for glib string formatting functions. We cannot
use them for string functions provided by the stdlib. See:
https://developer.gnome.org/glib/stable/glib-Basic-Types.html#glib-Basic-Types.description
```
../validate/plugins/flow/formatting.c: In function 'format_number':
../validate/plugins/flow/formatting.c:68:22: error: unknown conversion type character 'l' in format [-Werror=format=]
sprintf (dest_str, "%" G_GUINT64_FORMAT, number);
^~~
In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/gtypes.h:32,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/galloca.h:32,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib.h:30,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/gstreamer-1.0/gst/gst.h:27,
from ../validate/plugins/flow/formatting.h:26,
from ../validate/plugins/flow/formatting.c:30:
/builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
#define G_GUINT64_FORMAT "llu"
^
../validate/plugins/flow/formatting.c:68:22: error: too many arguments for format [-Werror=format-extra-args]
sprintf (dest_str, "%" G_GUINT64_FORMAT, number);
^~~
../validate/plugins/flow/formatting.c:68:22: error: unknown conversion type character 'l' in format [-Werror=format=]
In file included from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/gtypes.h:32,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib/galloca.h:32,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/glib-2.0/glib.h:30,
from /builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/include/gstreamer-1.0/gst/gst.h:27,
from ../validate/plugins/flow/formatting.h:26,
from ../validate/plugins/flow/formatting.c:30:
/builds/nirbheek/cerbero/cerbero-build/dist/windows_x86_64/lib/glib-2.0/include/glibconfig.h:69:28: note: format string is defined here
#define G_GUINT64_FORMAT "llu"
^
../validate/plugins/flow/formatting.c:68:22: error: too many arguments for format [-Werror=format-extra-args]
sprintf (dest_str, "%" G_GUINT64_FORMAT, number);
^~~
```
Needed for https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/419
2020-02-27 19:32:21 +05:30
Thibault Saunier
77b6bf2050
meson: remove vs_module_defs
...
The GST_EXPORT should handle it.
2020-02-26 14:21:52 -03:00
Thibault Saunier
3d3a5bee25
launcher: Do not dump output on known issues
...
And remove dead code
2020-02-26 12:05:39 -03:00
Thibault Saunier
1ee84f7c10
validate: Fix leak parsing structure files
2020-02-26 10:52:12 -03:00
Thibault Saunier
d86fa2c44a
validate: Enhance error reporting for errors in struct files
...
Get a sense of files and line numbers in the parsed GstStructure
and take that information when reporting GstValidateAction errors
by letting the user know where the action comes from in the messages.
And accept non-literal string in printing formats.
2020-02-25 16:22:10 -03:00