Split gobject-introspection-tests into git submodule
Follow up from glib#3155 (comment 1943131).
I propose a new repo at GNOME/gobject-introspection-tests that is intended to be used by g-i and language bindings as a git submodule or meson subproject. It should contain:
tests/gimarshallingtests.[ch]
tests/gitestmacros.h
tests/scanner/annotation.[ch]
tests/scanner/drawable.[ch]
tests/scanner/foo.[ch]
tests/scanner/regress.[ch]
tests/scanner/utility.[ch]
tests/scanner/warnlib.[ch]
Currently, these source files are used in gobject-introspection's own test suite, but they are also installed to $datadir/gobject-introspection-1.0/tests/
, where language bindings look for and compile them.
Known users of these tests:
- GJS (JavaScript)
- GLib::Object::Introspection (Perl)
- PyGObject (Python)
In GJS, we often have a delay when adding tests to the g-i suite during which we can't count on the new tests actually being present in the installed sources until there's been a point release of g-i. If these tests lived in a git submodule, every project could just pin the submodule to the gobject-introspection-tests commit that they expect.
Also, it's just a bit weird to install source code.
I'm wondering if a plain git submodule with just the sources is best, or if we should also make it usable as a Meson subproject, like GVDB. (I haven't really looked at how this works.)