summaryrefslogtreecommitdiff
path: root/tests/scanner/Regress-1.0-C-expected
Commit message (Collapse)AuthorAgeFilesLines
* scanner: parse and expose function macrosMathieu Duponchelle2019-07-1939-0/+546
| | | | | This is useful for documentation tools, and other utilities that rely on full introspection of the C API of a given library.
* tests: Add functions using flat struct arraysTomasz Miąsko2019-01-087-0/+280
| | | | | | | | | | | | | | Relatively common in practice are: * output with transfer full, which is already covered by `regress_test_array_struct_out`, * input with transfer none, covered by a new `regress_test_array_struct_in_none` Other variants are quite esoteric, but it still might be useful to include them so that bindings can verify that they are handled gracefully, e.g., by reporting an error instead of crashing. Issue #90
* scanner: Merge basic types in `specifier_qualifier_list` production.Tomasz Miąsko2019-01-051-0/+14
| | | | | | | | | | | This is necessary to parse types like `unsigned char` or `long double`, and is already done when parsing `declarations_specifiers`. Examples that are fixed by this change include: * `GLib.TestLogMsg.nums` previously parsed as `long` but should be `long double`. * `GMime.Encoding.uubuf` previously parsed as `unsigned` but should be `unsigned char`.
* Define grefcount and gatomicrefcount as aliases to gintTomasz Miąsko2018-11-233-0/+63
|
* regress: Implement interface and override propertiesPhilip Chimento2018-11-072-1/+16
| | | | | | | | This adds a property to RegressTestInterface which can be overridden, and makes RegressTestSubObj implement it and override the property. This is in order to catch the regressions in GJS around property access. See gjs#193.
* regress: Add test for write-only propertyPhilip Chimento2018-10-221-0/+13
| | | | | | | GTK contains a few write-only properties, so it makes sense to have one in the regress test suite. See gjs!246
* regress: implement the getter/setter for the new byte-array property.Christoph Reiter2018-08-111-0/+14
| | | | | It was added as part of !25 but without any implementation. This made instantiating TestObject fail which we do in the pygobject test suite.
* Fix scanner tests for new functions added with !32Christoph Reiter2018-07-224-0/+137
| | | | These tests only get run with autotools atm
* Preserve complete C type when applying array annotations.Tomasz Miąsko2018-06-201-1/+1
|
* Add regression tests for default ByteArray element type.Tomasz Miąsko2018-04-151-0/+15
|
* Reuse const_table between calls to SourceScanner parse_files and parse_macros.Tomasz Miąsko2018-02-131-0/+14
| | | | | | | | Macro constants may now refer to constants defined in source files. Test case provided by Philip Chimento. Fixes issues #173 and #75.
* Preserve complete_ctype when using type from annotation.Tomasz Miąsko2018-02-091-2/+2
| | | | | | | | When replacing type with one from user annotation we already preserve ctype, do the same for complete_ctype to preserve const / volatile qualifiers if any. Fixes issue #190.
* regress: Test for property and method with conflicting namesRico Tzschichholz2017-07-213-0/+67
| | | | | | | | | | This is something that libraries are not supposed to do, but some do anyway (Soup and Clutter are two examples) and language bindings should handle it somehow or other. In GJS we want to make sure that the way it's handled doesn't change inadvertently, because buggy library code should not break existing user code. https://bugzilla.gnome.org/show_bug.cgi?id=785091
* Add a test for "(in) (transfer floating)" parameters beeing an alias for ↵Christoph Reiter2017-05-171-1/+9
| | | | | | | | | | | | | | | | | | | | | "(in) (transfer none)". The "(in)" alias was (unintenionally?) introduced in https://git.gnome.org/browse/gobject-introspection/commit/?id=699ad0fec427c79bec1 which added an alias for return annotations. This change makes sure that this continues to work. Functions which ref_sink in params are currently marked as transfer-none since in the case of non-floating objects (which all bindings use) no ownership gets transfered. But in case of floating objects, which is the common case when using the C API directly, the ownership _is_ transfered. Using transfer-floating should make this clearer while giving the same result for bindings. Functions where this could be used: gst_bin_add, gtk_container_add, gst_element_add_pad See https://bugzilla.gnome.org/show_bug.cgi?id=657202 and https://bugzilla.gnome.org/show_bug.cgi?id=702960 https://bugzilla.gnome.org/show_bug.cgi?id=742618
* regress: Add test for setting a NULL strv in a GValueSam Spilsbury2017-04-251-0/+30
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=775679
* tests: Update "expected" for hidden fundamental classRico Tzschichholz2017-01-173-2/+32
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=760056
* tests: add regression test for anonymous structScott D Phillips2016-05-083-0/+63
| | | | | | | C11 which added support for anonymous unions (already supported) also adds support for anonymous structs. https://bugzilla.gnome.org/show_bug.cgi?id=766011
* tests: Add regression test for signal w. array+lenPhilip Chimento2016-02-082-1/+41
| | | | | | | | This is a regression test for marshalling callback arguments from signals with an array parameter and separate length parameter into closures in the introspected language. https://bugzilla.gnome.org/show_bug.cgi?id=761659
* tests: Add regression test for out array of structPhilip Chimento2016-02-071-0/+47
| | | | | | | This is a regression test for returning out arrays of structs, like gdk_keymap_get_entries_for_keyval() for example. https://bugzilla.gnome.org/show_bug.cgi?id=761658
* tests: Add more regression tests for (not nullable)Philip Withnall2015-11-062-0/+103
| | | | | | | | | | | | On bug #719966, the question arose of whether parameters annotated with (element-type) but not (not nullable) are regarded as nullable or non-nullable. Add some new unit tests to Regress-1.0.gir to check the behaviour is as expected: annotating a parameter with (element-type) implicitly makes it non-nullable (unless also annotated with (nullable)). https://bugzilla.gnome.org/show_bug.cgi?id=757678
* Add support for function typedefs without pointerBen Iofel2015-10-192-0/+62
| | | | | | | | | | g-ir-scanner now supports something like this: typedef void my_callback(int); Notice how my_callback is not a pointer. https://bugzilla.gnome.org/show_bug.cgi?id=755645
* scanner: Fix allow-none on return valuesGarrett Regier2015-09-292-0/+60
| | | | | | | | The optional annotation was being applied which is invalid for return values. https://bugzilla.gnome.org/show_bug.cgi?id=752029 Signed-off-by: Garrett Regier <garrett.regier@riftio.com>
* tests: Add expected files for previous commitColin Walters2015-09-281-0/+30
|
* regress: Add a test for (nullable)Colin Walters2015-09-031-0/+38
| | | | Related to: https://bugzilla.gnome.org/719966
* test: Add a test for GList containing GType.Christoph Reiter2015-07-051-0/+38
| | | | | | See https://bugzilla.gnome.org/show_bug.cgi?id=749696 https://bugzilla.gnome.org/show_bug.cgi?id=751978
* tests: fix make distcheckDieter Verfaillie2015-06-202-0/+62
| | | | | Add missing doc-tool tests, fixes "make distcheck" breakage introduced by 09daa28c5b4625b6f274b3b340bc85e33bef80b5
* tests: Change names with case-only distinctionPhilip Chimento2014-10-011-2/+2
| | | | | | | | | | | | | | | | | | RegressIntSet and RegressIntset, aliases of one another, were causing two documentation pages to be built by the documentation tests that were named identically except for letter case. On OSX and Windows, the most common filesystems are case-insensitive, and those two files can't exist in the same directory on case- insensitive filesystems. That caused the tests to fail. It also caused problems when checking out the repository, because the expected documentation set also contains those files. This commit fixes the symptom (so that JHbuild will stop erroring out on this module) but not the problem of generating a documentation set for two identifiers which differ (perfectly legally) only by case. https://bugzilla.gnome.org/show_bug.cgi?id=725264
* scanner: Honor nested types on array declarations as wellColin Walters2014-09-051-0/+15
| | | | | | | | | We have special code to look at (type GLib.List(utf8)), but (type GLib.PtrArray(utf8)) didn't work. This allows NetworkManager to annotate the ActiveConnections property. https://bugzilla.gnome.org/show_bug.cgi?id=733879
* tests: Add regression test for callbacks with an inout arrayGarrett Regier2014-08-072-0/+71
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702508
* Parse and expose ownership transfer for instance parametersGiovanni Campagna2014-07-031-0/+38
| | | | | | | | | | | Knowing the ownership transfer for instance parameters is necessary for correct memory management of functions which "eat" their instance argument, such as g_dbus_method_invocation_return_*. Parse this information from the gir file and store in the typelib, and then provide new API on GICallableInfo to retrieve this. https://bugzilla.gnome.org/show_bug.cgi?id=729662
* doctool: update testsGiovanni Campagna2014-03-055-15/+15
|
* g-ir-compiler: Add support for callback fields on GObjectsSimon Feltman2014-02-272-0/+38
| | | | | | | | | | | | | | | | | Use ParseState enum instead of a boolean for the ParseContexts embedded_type flag. This allows specific tracking of the embedded type currently being parsed which can now either be STATE_STRUCT_FIELD or STATE_CLASS_FIELD (or allow for future expansion). Add ParseState::STATE_NONE as the default for this field. Fix GObject FieldBlob validation to take into account the sizeof CallbackBlobs (copied from the struct validator). Add static g_object_info_get_field_offset which parallels g_struct_info_get_field_offset which is needed since callback fields may vary in size. https://bugzilla.gnome.org/show_bug.cgi?id=725198
* doctool: update testsGiovanni Campagna2014-02-2636-130/+253
|
* scanner: support virtual functions with a typedef-ed callbackGiovanni Campagna2014-02-205-0/+136
| | | | | | | | | | The field of a callback need not be anonymous, it could be a typedef, with a proper Type node. Fixes TelepathyGlib.BaseClient having no virtual functions (and probably others) https://bugzilla.gnome.org/show_bug.cgi?id=723439
* doctool: update reference testsGiovanni Campagna2014-02-20627-6712/+5606
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=724735
* scanner: Don't barf on anonymous unionsColin Walters2013-10-302-0/+50
| | | | | | | | I'd like to be able to use this inside GTK+. See: https://bugzilla.gnome.org/show_bug.cgi?id=711153 https://bugzilla.gnome.org/show_bug.cgi?id=711157
* giscanner: Correctly consume field annotations on structsStef Walter2013-10-281-0/+25
| | | | | | | | A hidden exception was being thrown (which we now log), due to fields being treated as function parameters. Fixed to make field array annotations be transformed and written out to the gir correctly. https://bugzilla.gnome.org/show_bug.cgi?id=710561
* giscanner: write virtual method instance parameter docs to .gir fileDieter Verfaillie2013-10-082-2/+2
|
* giscanner: don't generate synthetic names for '...' parameterDieter Verfaillie2013-10-081-1/+1
| | | | tests/warn/unkown-parameter.h:41 still passes with this...
* giscanner: honor line and paragraph breaks in description fieldsDieter Verfaillie2013-10-083-3/+6
| | | | | | | | | GTK-Doc parameter description fields are allowed to span multiple lines, tag description fields are allowed to span multiple lines and paragraphs. A tool fixing/rewriting GTK-Doc comment blocks in source files would need to have description fields parsed and stored (almost) exactly as they appear in the source file.
* Revert addition of __int128 testsColin Walters2013-05-071-25/+0
| | | | | | | | It's not available on 32 bit architectures, which is a pain for our testing because we can't easily make Regress architecture independent. This reverts commit ca93f8474c9f6ca184d0b5806a4e459ad3dcd132.
* Add expected doc files for previous commitColin Walters2013-05-071-0/+25
|
* tests: add missing expected generated documentationDieter Verfaillie2013-04-222-0/+82
| | | | | | | | a09072bd1f75dfc7497ed599e03e331bff411fd4 introduced new symbols in tests/scanner/regress.[ch] but was missing the expected generated documentation. https://bugzilla.gnome.org/show_bug.cgi?id=698616
* tests: fix a too wide search/replaceDieter Verfaillie2013-04-094-4/+4
| | | | | | Changed by accident in 2df621c53cdffbc3c43c3745947ee859020c8338 https://bugzilla.gnome.org/show_bug.cgi?id=697613
* Add test case for signal with a C array and length argumentMartin Pitt2013-02-271-0/+44
| | | | By-product of https://bugzilla.gnome.org/show_bug.cgi?id=662241.
* doctool: Use builtin namespace walkerColin Walters2013-02-2620-1/+643
| | | | | | Rather than hand-rolling our own. This ensures we traverse all nodes. https://bugzilla.gnome.org/show_bug.cgi?id=694593
* scanner: Synthesize argument names if we don't see oneColin Walters2013-02-261-1/+1
| | | | | | | While this is a bit lame, we need to do something. We preserve the warning message. https://bugzilla.gnome.org/show_bug.cgi?id=694593
* tests: Add RegressTestReferenceEnum to the doc testsJasper St. Pierre2013-02-181-0/+25
| | | | I really messed this one up :(
* doctool: Use format_xref to format some links to pagesJasper St. Pierre2013-02-15446-446/+448
| | | | | | We don't do a full 100% conversion for all link tags, yet, because I don't want to break too much here. This may come later.
* doctool: Don't link to the namespace from the namespace pageJasper St. Pierre2013-02-151-2/+1
|