After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 775870 - Update libcheck to the latest upstream 0.10.0 (git)
Update libcheck to the latest upstream 0.10.0 (git)
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-12-09 09:56 UTC by Nirbheek Chauhan
Modified: 2016-12-09 10:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
libcheck: port to latest check git (35.76 KB, patch)
2016-12-09 10:01 UTC, Nirbheek Chauhan
committed Details | Review
libcheck: Just move libcompat files to a subdir (6.19 KB, patch)
2016-12-09 10:01 UTC, Nirbheek Chauhan
committed Details | Review
libcheck: Update the compatibility code and checks (31.24 KB, patch)
2016-12-09 10:01 UTC, Nirbheek Chauhan
committed Details | Review

Description Nirbheek Chauhan 2016-12-09 09:56:46 UTC
libcheck doesn't seem to do releases anymore, but we need the latest code from upstream[1] to add support for running gstreamer tests on Windows when built with MSVC.

1. https://github.com/libcheck/check/

The attached patches do this in four steps:

* Update the libcheck code to latest git
* Move libcompat files to a new subdir
* Update existing libcompat files and copy new ones
* Build (autotools and meson) changes needed to use all this

Once this is merged, we can work on making the tests work on Windows/MSVC which will require more patches to libcheck. I have already talked to upstream about upstreaming such patches.
Comment 1 Nirbheek Chauhan 2016-12-09 10:01:09 UTC
Created attachment 341664 [details] [review]
libcheck: port to latest check git

Upstream seems to have stopped doing releases, but we need to update for better
Windows and Visual Studio support.

This patch only updates the libcheck sources and ignores the compatibility
sources for now.
Comment 2 Nirbheek Chauhan 2016-12-09 10:01:16 UTC
Created attachment 341665 [details] [review]
libcheck: Just move libcompat files to a subdir

Makes it clearer which files are actually used in libcheck and which are used
for cross-platform compatibility. This is going to be especially useful when we
add all the libcompat fallback code that upstream libcheck has which will add
about 6 new files.
Comment 3 Nirbheek Chauhan 2016-12-09 10:01:24 UTC
Created attachment 341666 [details] [review]
libcheck: Update the compatibility code and checks

This brings us up-to-speed with the latest compatibility code from upstream
check git. For completeness, we do all the checks that upstream check does, but
we skip the snprintf/vsnprintf code because it's not straightforward (involves
running code and that is bad for cross-compilation) and not necessary for the
platforms we support anyway.

If someone really wants this, they can uncomment this and copy the relevant
checks from the check git repository.
Comment 4 Sebastian Dröge (slomo) 2016-12-09 10:09:33 UTC
Comment on attachment 341664 [details] [review]
libcheck: port to latest check git

Please push but put a README there on which version it is exactly based on
Comment 5 Sebastian Dröge (slomo) 2016-12-09 10:13:24 UTC
Comment on attachment 341665 [details] [review]
libcheck: Just move libcompat files to a subdir

Upstream also has it in a separate subdirectory? Diverging from upstream directory layout seems suboptimal otherwise
Comment 6 Sebastian Dröge (slomo) 2016-12-09 10:17:01 UTC
Comment on attachment 341666 [details] [review]
libcheck: Update the compatibility code and checks

If this is just a copy from upstream, all good. Otherwise please put in the README (see above) a diff and explanation so we know what to update next time :)
Comment 7 Nirbheek Chauhan 2016-12-09 10:19:00 UTC
Upstream has always had the check sources and the compat lib in separate directories. I'm not sure why it was flattened when we copied it over:

https://github.com/libcheck/check/tree/master/src (libcheck)
https://github.com/libcheck/check/tree/master/lib (libcompat)

Will add a README and push this. Thanks for the ACK!
Comment 8 Nirbheek Chauhan 2016-12-09 10:35:10 UTC
README.txt added and everything pushed.

Attachment 341664 [details] pushed as 0bb6d59 - libcheck: port to latest check git
Attachment 341665 [details] pushed as eb1f861 - libcheck: Just move libcompat files to a subdir
Attachment 341666 [details] pushed as d8e8e92 - libcheck: Update the compatibility code and checks