This is a minimal patch-out of the galias functionality. We will do a
release like this so that we can easily back it out if there are
reported problems.
A more substantial cleanup (mostly removing #includes from every file)
will follow if there are no issues.
* glib/gtestutils.c: don't treat non-fatal messages as errors
* glib/tests/.gitignore: silence
* glib/tests/Makefile.am: updated
* glib/tests/protocol.c: add a test for the message treatment
GBinding is a simple, opaque object that represents a binding between a
property on a GObject instance (source) and property on another GObject
instance (target).
https://bugzilla.gnome.org/show_bug.cgi?id=348080
This patch adds subunit support to gtester-report via a -s switch. Subunit
(https://launchpad.net/subunit) is a language neutral test activity protocol.
This can be used to integrate gtester tests with the Hudson CI tool amongst
other things.
Bug #611869.
Take advantage of our knowledge that GVariant strings are always valid
utf8 when printing and parsing:
- allow valid printing unicode characters to pass through unescaped
- escape non-printing characters using \uxxxx or \Uxxxxxxxx format
- do the same in the parser
- update existing test cases to use utf8, add a new test case
Add GObject introspection annotations so that the length parameter is
correctly detected for g_variant_new_strv(), g_variant_get_strv() and
g_variant_dup_strv(). Also specify that it can be a NULL pointer in
g_variant_get_strv() and g_variant_dup_strv().
For g_settings_set_strv(), detect that a NULL value is allowed, meaning
empty array.
Closes bug #620384.
Signed-off-by: Ryan Lortie <desrt@desrt.ca>
This adds static markers for dtrace, which are also usable
by systemtap. Additionally it adds a tapset for systemtap
that makes it easier to use the static markers.
These are enabled by default.
This initial set of probes is rather limited:
* allocation and free using g_malloc & co
* allocation and free using g_slice
* gquark name tracking (useful for converting quarks to strings in probes)
Notes on naming:
Its traditional with dtrace to use probe names with dashes as
delimiter (slice-alloc). Since dashes are not usable in identifiers
the C code uses double underscores (slice__alloc) which is converted
to dashes in the UI. We follow this for the shared lowlevel probe
names.
Additionally dtrace supports putting a "provider" part in the probe
names which is essentially a namespacing thing. On systemtap this
field is currently ignored (but may be implemented in the future), but
this is not really a problem since in systemtap the probes are
specified by combining the solib file and the marker name, so there
can't really be name conflicts.
For the systemtap tapset highlevel probes we instead use names that
are systemtapish with single dashes as separators.
https://bugzilla.gnome.org/show_bug.cgi?id=606044
Rather make it branch to get the due sequence length for the resulting
character code, we can as well get the minimum code value in the initial
branching.
FreeBSD's malloc() sometimes returns unaligned memory if you are
requesting small sizes. This can get GVariant into trouble. For
example, consider the type "mmi" containing the value "just nothing".
According to the type signature, the memory containing this should be
aligned to a boundary of 4 since it might contain an int. The
serialised size of this value is 1 byte, however, and when you ask
FreeBSD to allocate memory of that size, it knows you can't put an int
into it so it doesn't bother aligning it.
This patch modifies the GVariant serialiser to not assert the alignment
constraint in the case that the size of the serialised data is smaller
than its own alignment requirement.
Partial-backout 8a21d8d23317ecebe46007f1fd5f7459bf182415. The
assertions should have remained relaxed since these functions are used
with non-posix_memalign()ed data.
The GVariant serialiser works well with non-8-aligned memory, but the
comparison serialiser in the test case depends on memory being
8-aligned. Use posix_memalign() to get the memory used by this
serialiser.