Emmanuele Bassi [Mon, 10 Jun 2013 23:29:58 +0000 (00:29 +0100)]
gio: Use the new private instance data declaration
Use the newly added macros, and remove the explicit calls to
g_type_class_add_private().
https://bugzilla.gnome.org/show_bug.cgi?id=700035
Emmanuele Bassi [Mon, 10 Jun 2013 23:29:22 +0000 (00:29 +0100)]
gparam: Use the new private instance data API
https://bugzilla.gnome.org/show_bug.cgi?id=700035
Emmanuele Bassi [Sun, 23 Jun 2013 13:50:49 +0000 (14:50 +0100)]
gobject: Add private field access macros
Similar to G_STRUCT_MEMBER and G_STRUCT_MEMBER_P, but automatically using
the G_PRIVATE_OFFSET macro.
https://bugzilla.gnome.org/show_bug.cgi?id=700035
Emmanuele Bassi [Wed, 19 Jun 2013 19:41:02 +0000 (20:41 +0100)]
Add G_PRIVATE_OFFSET
A macro that evaluates to the offset of a field inside an instance
private data structure.
https://bugzilla.gnome.org/show_bug.cgi?id=700035
Emmanuele Bassi [Thu, 9 May 2013 21:41:26 +0000 (14:41 -0700)]
Allow registering instance private data during get_type()
For static types, it should be possible to register a private data
structure right when we are registering the type, i.e. from the
get_type() implementation. By allowing this, we can take advantage of
the existing type definition macros to cut down the amount of code
necessary (as well as the knowledge baggage) when creating a new type.
The main issue with this new feature is that it cannot be mixed with the
old idiomatic way of adding private instance data by calling a function
in the middle of the class_init() implementation, as that imposes the
additional constraint of initializing the whole type hierarchy in order
to retrieve the offset of the private data in the GTypeInstance
allocation.
For this reason we are going to follow a two-step process; in the first
step, we are going to introduce the new (semi-private) API to register
the intent to add private instance data from within the get_type()
implementation, and hide it behind a macro; at the same time, the
G_DEFINE_TYPE_EXTENDED macro is going to be modified so that it will
register the private instance data if the macro was used, using a new
(semi-private) function as well. Once we have migrated all our code, we
will make the first new function perform the actual private data
registration, and turn the second new function into a no-op. This should
guarantee a transparent migration of existing code to the new idiomatic
form.
https://bugzilla.gnome.org/show_bug.cgi?id=700035
Matthias Clasen [Sun, 23 Jun 2013 23:35:15 +0000 (19:35 -0400)]
Define GTESTER_REPORT for non-GLIB too
Dieter Verfaillie [Sun, 23 Jun 2013 12:15:05 +0000 (14:15 +0200)]
docs: fix GTK-Doc build
cd html && gtkdoc-mkhtml $mkhtml_options gio ../gio-docs.xml
../xml/gdbusconnection.xml:2063: parser error : Opening and ending tag mismatch: literal line 2062 and para
</para>
^
Ryan Lortie [Sat, 22 Jun 2013 17:41:12 +0000 (13:41 -0400)]
GDBusMethodInvocation: add missing 'goto out'
We do a bunch of new validity checks for return values in response to
calls on the D-Bus property API but we miss the 'goto out' in one case.
Add it.
https://bugzilla.gnome.org/show_bug.cgi?id=698375
Ryan Lortie [Wed, 17 Apr 2013 13:45:23 +0000 (09:45 -0400)]
GDBusMethodInvocation: add property return checks
Add some type checking for the values returned from async property
handling calls, similar in spirit to the type checking we do for normal
method calls.
https://bugzilla.gnome.org/show_bug.cgi?id=698375
Ryan Lortie [Wed, 17 Apr 2013 13:30:15 +0000 (09:30 -0400)]
GDBusConnection: allow async property handling
The existing advice in the documentation to "simply" register the
"org.freedesktop.DBus.Properties" interface if you want to handle
properties asynchronously is pretty unreasonable. If you want to handle
this interface you have to deal with all properties for all interfaces
on the path, and you have to do all of the checking for yourself. You
also have to provide your own introspection data.
Introduce a new convention for dealing with properties asynchronously.
If the user provides NULL for their get_property() or set_property()
functions in the vtable and has properties registered then the
properties are sent to the method_call() handler. We get lucky here
that this function takes an "interface_name" parameter that we can set
to "org.freedesktop.DBus.Properties".
We also do the user the favour of setting the GDBusPropertyInfo on the
GDBusMethodInvocation for their convenience (for much the same reasons
as they might want the already-available GDBusMethodInfo).
Add a testcase as well as a bunch of documentation about this new
feature.
https://bugzilla.gnome.org/show_bug.cgi?id=698375
Ryan Lortie [Wed, 17 Apr 2013 13:28:05 +0000 (09:28 -0400)]
GDBusMethodInvocation: add 'property_info'
Add a field on GDBusMethodInvocation for GDBusPropertyInfo.
For now, it is always %NULL. It will be set in future patches.
https://bugzilla.gnome.org/show_bug.cgi?id=698375
Ryan Lortie [Wed, 17 Apr 2013 13:24:36 +0000 (09:24 -0400)]
GDBusConnection: some straight-up refactoring
Separate the code for validating a method call from the code for
actually scheduling it for dispatch.
This will allow property Get/Set/GetAll calls to be dispatched to the
method_call handler without duplicating a lot of code.
https://bugzilla.gnome.org/show_bug.cgi?id=698375
Ryan Lortie [Sat, 22 Jun 2013 17:37:54 +0000 (13:37 -0400)]
GDBusConnection: move 'Set' typecheck to worker
We presently do a lot of checks on property sets (signature check,
correct interface, property exists, etc.) from the worker thread before
dispatching the call to the user's thread. The typecheck, however, is
saved until just before calling the user's vfunc, in their thread.
My best guess is that this was done to save having to unpack the value
from the tuple twice (since we don't unpack it until we're just about
the call the user).
This patch moves the check to the same place as all of the other checks.
The purpose of this change is to allow for sharing this check with the
(soon-to-be-introduced) case of handing property sets from
method_call().
This change has a minor side effect: error messages generated by sending
invalid values to property sets are no longer guaranteed to be correctly
ordered with respect to the void returns from successful property sets.
They will instead be correctly ordered with respect to the other error
messages.
https://bugzilla.gnome.org/show_bug.cgi?id=698375
Ryan Lortie [Wed, 17 Apr 2013 10:52:59 +0000 (12:52 +0200)]
GDBusConnection: remove an unused g_variant_get()
https://bugzilla.gnome.org/show_bug.cgi?id=698375
Ryan Lortie [Wed, 5 Jun 2013 22:46:29 +0000 (18:46 -0400)]
Makefile.am: move gtk-doc.make back to EXTRA_DIST
0192c599377c35cc465eed1ae61de56d5a1034e8 moved this file from EXTRA_DIST TO
BUILT_EXTRA_DIST for an unknown reason.
Having it here causes the timestamp to be updated during 'make dist' to
something newer than docs/reference/*/Makefile.in. This is a problem
because those Makefile.in are generated by including gtk-doc.make, so
automake becomes convinced that they need to be regenerated. This is a
problem for people who don't have automake installed, or have the wrong
version.
The timestamp problem has been around for quite a while, but it only
became a problem recently after automake changed policy about this in
commit
a22717dffe37f30ef2ad2c355b68c9b3b5e4b8c7.
Specifically:
https://bugzilla.gnome.org/show_bug.cgi?id=700350
Colin Walters [Thu, 20 Jun 2013 17:13:29 +0000 (13:13 -0400)]
Revert "g_file_set_contents(): don't fsync on ext3/4"
We didn't actually do any real-world testing of this, and
unsurprisingly it turns out to break in at least one widely-used
configuration (Fedora 19 x86_64, ext4 on LVM).
This reverts commit
9d0c17b50102267a5029b58b1f44efbad82d8f03.
https://bugzilla.gnome.org/show_bug.cgi?id=701560
Kjartan Maraas [Thu, 20 Jun 2013 09:46:58 +0000 (11:46 +0200)]
Updated Norwegian bokmål translation
Chun-wei Fan [Thu, 20 Jun 2013 07:48:32 +0000 (15:48 +0800)]
Add MSVC Projects for Utility Programs
Build and "install" the gio-querymodules and gdbus utility programs so that
the Visual Studio builds of GLib is more comprehensive. The Python scripts
for the GDBus codegen will be added to "installation" later.
Chun-wei Fan [Thu, 20 Jun 2013 07:43:32 +0000 (15:43 +0800)]
Update Visual Studio Projects
Make all projects settings use the MultiByte character set when building
GLib to improve consistency.
Arnel A. Borja [Mon, 10 Jun 2013 04:37:42 +0000 (12:37 +0800)]
g_uri_unescape_string: Mention (allow-none)/%NULL in documentation
https://bugzilla.gnome.org/show_bug.cgi?id=701409
Arnel A. Borja [Sat, 1 Jun 2013 06:47:27 +0000 (14:47 +0800)]
g_uri_escape_string: Add missing allow-none annotation
https://bugzilla.gnome.org/show_bug.cgi?id=701409
Milo Casagrande [Wed, 19 Jun 2013 08:37:13 +0000 (10:37 +0200)]
[l10n] Updated Italian translation.
Colin Walters [Mon, 17 Jun 2013 17:05:11 +0000 (13:05 -0400)]
gobject/tests: Add missing build dependency
Matthias Clasen [Mon, 17 Jun 2013 16:56:40 +0000 (12:56 -0400)]
Bump version
Matthias Clasen [Mon, 17 Jun 2013 12:40:33 +0000 (08:40 -0400)]
2.37.2
Matthias Clasen [Mon, 17 Jun 2013 16:39:56 +0000 (12:39 -0400)]
Try to make the testgdate test hobble along a little longer
Matthias Clasen [Sun, 16 Jun 2013 13:28:59 +0000 (09:28 -0400)]
Plug a small memory leak
g_test_trap_assertions was leaking the process_id string.
Emmanuele Bassi [Fri, 3 May 2013 23:44:36 +0000 (16:44 -0700)]
tests/binding: Ensure that the binding goes away
Use weak pointers so that we can check that the GBinding instance goes
away when it should.
https://bugzilla.gnome.org/show_bug.cgi?id=698018
Emmanuele Bassi [Thu, 16 May 2013 21:34:55 +0000 (22:34 +0100)]
binding: Use hash table as a set
Emmanuele Bassi [Thu, 16 May 2013 21:28:54 +0000 (22:28 +0100)]
binding: Make unbind() release the reference on GBinding
The automatic memory management of GBinding is not optimal for high
order languages with garbage collectors semantics. If we leave the
binding instance inert but still referenced it will be leaked, so one
solution that does not throw away the baby of C convenience with the
bathwater of language bindability is to have unbind() perform an
implicit unref().
Hopefully, C developers will read the documentation and especially the
note that says that after calling unbind() the reference count on the
GBinding instance is decreased.
https://bugzilla.gnome.org/show_bug.cgi?id=698018
Emmanuele Bassi [Fri, 3 May 2013 22:51:43 +0000 (15:51 -0700)]
docs: Fix g_binding_unbind() in the API reference
Krishnababu Krothapalli [Tue, 11 Jun 2013 08:53:53 +0000 (14:23 +0530)]
Updated Telugu Translations
Shankar Prasad [Tue, 11 Jun 2013 06:22:33 +0000 (11:52 +0530)]
updated kn translations
Colin Walters [Mon, 10 Jun 2013 17:17:08 +0000 (13:17 -0400)]
gmain: Document more use cases of g_main_context_wakeup()
https://bugzilla.gnome.org/show_bug.cgi?id=701878
Benjamin Otte [Sat, 8 Jun 2013 19:59:59 +0000 (21:59 +0200)]
tests: Add a test for a specific invariant
See the documentation in the test. The invariant is used by
gnome-test-runner.
https://bugzilla.gnome.org/show_bug.cgi?id=701878
Marek Černocký [Mon, 10 Jun 2013 19:31:36 +0000 (21:31 +0200)]
Updated Czech translation
Piotr Drąg [Mon, 10 Jun 2013 18:32:57 +0000 (20:32 +0200)]
Updated Polish translation
Ryan Lortie [Mon, 10 Jun 2013 15:14:17 +0000 (11:14 -0400)]
GObject: turn add-property-after-init to a warning
We have turned up enough cases of this being done (including GTK API
allowing apps to do this to GtkSettings well after it has been
instantiated) that it is clear that we cannot really break this feature
while claiming to be backwards compatible.
For that reason, it becomes a warning rather than a critical (ie: it is
still well-defined behaviour, but you are discouraged from doing it).
The intention is to keep this feature for at least the next while.
A given GObjectClass will be able to avoid using GParamSpec pool for as
long as you don't install properties after init. If you do that, you
will get a warning and we will devolve to using GParamSpecPool.
https://bugzilla.gnome.org/show_bug.cgi?id=698614
Nilamdyuti Goswami [Mon, 10 Jun 2013 09:28:13 +0000 (14:58 +0530)]
Assamese translation updated
Fran Diéguez [Mon, 10 Jun 2013 08:31:01 +0000 (10:31 +0200)]
Updated Galician translations
Ryan Lortie [Sat, 8 Jun 2013 21:01:56 +0000 (17:01 -0400)]
gio/tests: sort tests in the Makefile.am
...to make it clear where people should add theirs, reducing the chance
of conflicts caused by everyone always adding at the end.
Ryan Lortie [Mon, 29 Apr 2013 20:37:55 +0000 (13:37 -0700)]
GDesktopAppInfo: support DBusActivatable
Support the sender-side of the freedesktop application specification for
cases that we find 'DBusActivatable=true' in the desktop file.
https://bugzilla.gnome.org/show_bug.cgi?id=699259
Matthias Clasen [Thu, 6 Jun 2013 04:05:41 +0000 (00:05 -0400)]
Update link to documentation
Dan Winship [Thu, 6 Jun 2013 02:49:31 +0000 (23:49 -0300)]
tests: fix and re-add the broken test
Matthias Clasen [Thu, 6 Jun 2013 01:50:52 +0000 (21:50 -0400)]
Remove a failing testcase
One of the recently added examples seems wrong. Drop it.
Colin Walters [Wed, 5 Jun 2013 22:05:12 +0000 (18:05 -0400)]
GFileEnumerator: Add some documentation about ordering
Kind of a gratuitious gaping hole in the docs...
https://bugzilla.gnome.org/show_bug.cgi?id=701680
Ryan Lortie [Wed, 5 Jun 2013 19:51:13 +0000 (15:51 -0400)]
tests: add a few more invalid IPv6 address tests
https://bugzilla.gnome.org/show_bug.cgi?id=701401
Dan Winship [Sun, 2 Jun 2013 21:32:21 +0000 (18:32 -0300)]
ginetaddress: fix addr/string conversions on windows
When parsing an address, we need to re-set "len" between IPv4 and
IPv6, since WSAStringToAddress() might set it to sizeof(struct sin_addr)
when trying to parse the string as IPv4, even if it fails. Also, we
need to make sure to not pass strings to WSAStringToAddress() that it
will accept but that we don't want it to.
When stringifying an address, we need to clear the sockaddr before
filling it in, so we don't accidentally end up with an unwanted
scope_id or the like.
https://bugzilla.gnome.org/show_bug.cgi?id=701401
Colin Walters [Sun, 12 May 2013 06:28:01 +0000 (07:28 +0100)]
Ensure g_file_copy() does not temporarily expose private files
Previously, g_file_copy() would (on Unix) create files with the
default mode of 644. For applications which might at user request
copy arbitrary private files such as ~/.ssh or /etc/shadow, a
world-readable copy would be temporarily exposed.
This patch is suboptimal in that it *only* fixes g_file_copy()
for the case where both source and destination are instances of
GLocalFile on Unix.
The reason for this is that the public GFile APIs for creating files
allow very limited control over the access permissions for the created
file; one can either say a file is "private" or not. Fixing
this by adding e.g. g_file_create_with_attributes() would make sense,
except this would entail 8 new API calls for all the variants of
_create(), _create_async(), _replace(), _replace_async(),
_create_readwrite(), _create_readwrite_async(), _replace_readwrite(),
_replace_readwrite_async(). That can be done as a separate patch
later.
https://bugzilla.gnome.org/show_bug.cgi?id=699959
Colin Walters [Wed, 8 May 2013 23:01:59 +0000 (00:01 +0100)]
g_file_copy(): Clean up logic for info query
Previously, we called g_file_query_info() *again* on the source at the
very end of the copy. This has the lame semantics that if the source
happened to be deleted, we would fail to apply attributes to the
destination. This could even be a security flaw.
This commit changes things so that we query info from the source
*stream* after opening - i.e. on Unix we use the proper fstat() and
friends. That way we operate more atomically.
https://bugzilla.gnome.org/show_bug.cgi?id=699959
Ryan Lortie [Mon, 29 Apr 2013 20:30:02 +0000 (13:30 -0700)]
GApplication: implement fd.o application spec
The freedesktop application specification is largely overlapping the
GLib application D-Bus interface but implementing it will allow for
applications to be launched directly from desktop files, which we want.
We keep the old Gtk interface for compatibility reasons and because it
has some functionality not in the freedesktop spec (Busy state,
CommandLine, etc.).
https://bugzilla.gnome.org/show_bug.cgi?id=699259
Ryan Lortie [Thu, 9 May 2013 13:30:38 +0000 (09:30 -0400)]
GApplication: set prgname to appid for services
Since services are based on D-Bus activation and desktop files are
supposed to be named like the busname for DBusActivatable applications
and since gnome-shell wants wmclass equal to the desktop file name, we
therefore want wmclass equal to the application ID in this case.
wmclass is determined from the prgname, which is otherwise pretty
pointless to set to some random thing in $(libexec) for a D-Bus service,
so set that to the appid.
This means that for D-Bus services, the following things are now all the
same:
- application ID
- prgname
- wmclass property set on all windows
- desktop file name
- well-known bus name
There are not many applications running as D-Bus services at present so
this shouldn't impact anybody except for gnome-clocks (where this change
will be fixing a bug) and gnome-terminal.
https://bugzilla.gnome.org/show_bug.cgi?id=699259
Daniel Mustieles [Wed, 5 Jun 2013 16:28:48 +0000 (18:28 +0200)]
Updated Spanish translation
ManojKumar Giri [Wed, 5 Jun 2013 07:38:46 +0000 (13:08 +0530)]
Updated Odia Translation.
Sandeep Sheshrao Shedmake [Wed, 5 Jun 2013 06:58:00 +0000 (12:28 +0530)]
Updated Marathi Translations
Sweta Kothari [Wed, 5 Jun 2013 05:18:55 +0000 (10:48 +0530)]
Updated Gujarati Translations
Ryan Lortie [Tue, 4 Jun 2013 13:48:12 +0000 (09:48 -0400)]
g_file_set_contents(): don't fsync on ext3/4
ext3 and ext4 (for quite some time) with default mount options don't
need fsync() to ensure safety of replace-by-rename. Stop doing that for
these filesystems.
Note: this patch also impacts ext2, which is probably not safe, but I
don't know of any way to check ext2. vs the others because they all have
the same magic numbers (short of opening /proc/mount).
This patch assumes that if BTRFS_SUPER_MAGIC is defined then so will be
EXT3_SUPER_MAGIC.
https://bugzilla.gnome.org/show_bug.cgi?id=701560
Dan Winship [Sat, 25 May 2013 14:09:43 +0000 (11:09 -0300)]
gio/tests/inet-address: fix to work on OS X
OS X's getaddrinfo() only supports IPv6 scope IDs that are interface
names, not numbers. So use if_indextoname() to get the name of an
interface and construct an address using that.
https://bugzilla.gnome.org/show_bug.cgi?id=700123
Ryan Lortie [Tue, 4 Jun 2013 02:55:20 +0000 (22:55 -0400)]
g_file_set_contents: change {posix_ => }fallocate
Use fallocate() instead of posix_fallocate() so that we just fail
instead of getting the emulated version from the libc.
https://bugzilla.gnome.org/show_bug.cgi?id=701560
Ryan Lortie [Mon, 3 Jun 2013 21:59:29 +0000 (17:59 -0400)]
g_file_set_contents(): fix simple logic error
CI FTW.
Ryan Lortie [Mon, 3 Jun 2013 21:49:06 +0000 (17:49 -0400)]
g_file_set_contents(): use unistd instead of stdio
Use a normal write() system call instead of fdopen() and fwrite().
This will definitely work on UNIX system and should work on Windows as
well...
As an added bonus, we can use g_close() now as well.
https://bugzilla.gnome.org/show_bug.cgi?id=701560
Ryan Lortie [Mon, 3 Jun 2013 20:16:25 +0000 (16:16 -0400)]
g_file_set_contents(): don't allocate display name
g_file_set_contents() sets a GError in the event of various failures
that count occur. It uses g_filename_display_name() in order to get the
filename to include in the messages.
Factor out the error handling to make it easier to allocate the display
name only when we need it (instead of allocating it every time).
https://bugzilla.gnome.org/show_bug.cgi?id=701560
Ryan Lortie [Mon, 3 Jun 2013 19:43:01 +0000 (15:43 -0400)]
g_file_set_contents(): use posix_fallocate()
Extents-based filesystems like knowing in advance how much data will be
written to a file in order to prevent fragmentation. If we have it, use
posix_fallocate() before writing data in g_file_set_contents().
https://bugzilla.gnome.org/show_bug.cgi?id=701560
Matej Urbančič [Mon, 3 Jun 2013 19:37:49 +0000 (21:37 +0200)]
Updated Slovenian translation
Daniel Mustieles [Mon, 3 Jun 2013 09:27:44 +0000 (11:27 +0200)]
Updated Spanish translation
ManojKumar Giri [Mon, 3 Jun 2013 08:18:33 +0000 (13:48 +0530)]
Updated Odia Translation.
Sweta Kothari [Mon, 3 Jun 2013 08:00:48 +0000 (13:30 +0530)]
Updated Gujarati Translations
Kjell Ahlstedt [Sun, 2 Jun 2013 18:21:33 +0000 (20:21 +0200)]
Remove extra comma in gtestutils.h
https://bugzilla.gnome.org/show_bug.cgi?id=701474
Matthias Clasen [Mon, 3 Jun 2013 00:00:21 +0000 (20:00 -0400)]
Improve GSettings test coverage
Matthias Clasen [Sun, 2 Jun 2013 23:59:48 +0000 (19:59 -0400)]
Add a directory monitoring test
Matthias Clasen [Sun, 2 Jun 2013 18:37:19 +0000 (14:37 -0400)]
Remove some unused inotify code
Ryan Lortie [Sun, 2 Jun 2013 13:53:06 +0000 (09:53 -0400)]
tests: Remove a leftover debug printf
https://bugzilla.gnome.org/show_bug.cgi?id=701456
Matthias Clasen [Sun, 2 Jun 2013 05:47:19 +0000 (01:47 -0400)]
Improve unix stream test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:46:21 +0000 (01:46 -0400)]
Improve GAppInfo test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:44:49 +0000 (01:44 -0400)]
Improve GMemoryInputStream test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:44:15 +0000 (01:44 -0400)]
Improve GMenuModel test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:43:13 +0000 (01:43 -0400)]
Improve GFileAttributeMatcher test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:42:28 +0000 (01:42 -0400)]
Improve GIcon test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:41:50 +0000 (01:41 -0400)]
Improve test coverage for GZipCompressor
Matthias Clasen [Sun, 2 Jun 2013 05:41:09 +0000 (01:41 -0400)]
Improve test coverage for GBufferedOutputStream
Matthias Clasen [Sun, 2 Jun 2013 05:40:39 +0000 (01:40 -0400)]
Trivial formatting fix
Matthias Clasen [Sat, 1 Jun 2013 22:54:57 +0000 (18:54 -0400)]
Skip spawn tests when collecting coverage
These tests break gcov's data collection, so don't link them
against -lgov. See bug 682133.
Matthias Clasen [Sat, 1 Jun 2013 04:36:16 +0000 (00:36 -0400)]
Improve test coverage a bit
Matthias Clasen [Sat, 1 Jun 2013 04:35:39 +0000 (00:35 -0400)]
mem-overflow: test malloc and realloc corner cases
Fran Diéguez [Sat, 1 Jun 2013 22:25:33 +0000 (00:25 +0200)]
Updated Galician translations
Ryan Lortie [Sat, 1 Jun 2013 15:38:10 +0000 (11:38 -0400)]
Fix failure to build exit-on-close gdbus test
In the case that HAVE_DBUS_DAEMON was undefined (as in ostree where glib
is built before D-Bus) this test was failing. Move it inside the
HAVE_DBUS_DAEMON block.
Ryan Lortie [Sat, 1 Jun 2013 14:07:33 +0000 (10:07 -0400)]
glib.mk: Rework win32 test support
Newer versions of automake (~1.13.1) seem to generate some new rules for
testcases that get tripped up on our use of $(addsuffix) and $(strip) so
take those out of the definition of TESTS on win32.
Ryan Lortie [Sat, 1 Jun 2013 13:55:13 +0000 (09:55 -0400)]
Change a pair of TESTS = to TEST +=
Ryan Lortie [Sat, 1 Jun 2013 02:33:22 +0000 (22:33 -0400)]
GSettings tests: reverse installed test complexity
Remove the complications that were introduced in an attempt to make the
gsettings and gschema-compile tests function as installed tests. These
tests are designed (in large part for gsettings and entirely for
gschema-compile) to test the in-tree tools and should not be testing the
system versions.
In the future we may want to move the use of the in-tree tools from the
gsettings testcase into the Makefile and install the resulting files,
allowing this testcase to run against those files, installed.
Ryan Lortie [Thu, 30 May 2013 04:07:32 +0000 (00:07 -0400)]
Rework the build system for a new tests approach
Perform a substantial cleanup of the build system with respect to
building and installing testcases.
First, Makefile.decl has been renamed glib.mk and substantially
expanded. We intend to add more stuff here in the future, like canned
rules for mkenums, marshallers, resources, etc.
By default, tests are no longer compiled as part of 'make'. They will
be built when 'make check' is run. The old behaviour can be obtained
with --enable-always-build-tests.
--disable-modular-tests is gone (because tests are no longer built by
default). There is no longer any way to cause 'make check' to be a
no-op, but that's not very useful anyway.
A new glibtests.m4 file is introduced. Along with glib.mk, this
provides for consistent handling of --enable-installed-tests and
--enable-always-build-tests (mentioned above).
Port our various test-installing Makefiles to the new framework.
This patch substantially improves the situation in the toplevel tests/
directory. Things are now somewhat under control there. There were
some tests being built that weren't even being run and we run those now.
The long-running GObject performance tests in this directory have been
removed from 'make check' because they take too long.
As an experiment, 'make check' now runs the testcases on win32 builds,
by default. We can't run them under gtester (since it uses a pipe to
communicate with the subprocess) so just toss them in TESTS. Most of
them are passing on win32.
Things are not quite done here, but this patch is already a substantial
improvement. More to come.
Ryan Lortie [Thu, 30 May 2013 04:04:05 +0000 (00:04 -0400)]
Remove a bunch of lingering g_thread_init()
After this patch, there is but one remaining use of g_thread_init(),
which is in tests/slice-threadinit.c, a testcase dedicated to testing
the functionality of gslice across a g_thread_init() boundary.
This testcase is pretty meaningless these days... probably we should
delete it.
Ryan Lortie [Thu, 30 May 2013 03:49:30 +0000 (23:49 -0400)]
Some final g_test_build_filename() porting
This should be the last users that need to be ported.
For some of the oldschool non-gtester-ified tests, we call g_test_init()
from main() because it is necessary in order to use
g_test_build_filename().
Ryan Lortie [Thu, 30 May 2013 03:43:26 +0000 (23:43 -0400)]
Move a pair of gobject tests to tests/gobject/
testgobject.c and timeloop-closure.c are the only two tests in the
toplevel tests/ directory that depend on gobject, so move them to
tests/gobject/ along with the other gobject tests.
Both of these were in noinst_PROGRAMS and not TESTS, so keep them that
way when we move them.
Matthias Clasen [Sat, 1 Jun 2013 01:24:21 +0000 (21:24 -0400)]
Split off the gdbus-overflow test
It is unrealiable under load, and frequently fails in the
ostree tests. See https://bugzilla.gnome.org/show_bug.cgi?id=701105
Matthias Clasen [Fri, 31 May 2013 21:23:29 +0000 (17:23 -0400)]
Fix a typo
Ryan Lortie [Thu, 30 May 2013 17:50:17 +0000 (13:50 -0400)]
Bump version.
William Jon McCann [Tue, 29 Jan 2013 23:46:43 +0000 (00:46 +0100)]
Fix property example in gobject tutorial
https://bugzilla.gnome.org/show_bug.cgi?id=692848
Ryan Lortie [Thu, 30 May 2013 03:30:46 +0000 (23:30 -0400)]
Remove org.gtk.test.gschema
This is the old non-xml schema file format that we were playing around
with at one time. Nothing is using this file anymore.
Ryan Lortie [Thu, 30 May 2013 01:49:53 +0000 (21:49 -0400)]
icon deserialisation: fix uninitialised variable
Deserialising an emblemed icon would make uninitialised use of a
variable in the error case. Fix that.
Ryan Lortie [Thu, 30 May 2013 01:33:04 +0000 (21:33 -0400)]
docs/: ignore gtester Makefile targets
Mark 'test', 'test-report', 'perf-report' and 'full-report' as PHONY in
docs/Makefile.am to prevent recursion of gtester into the documentation
subdirectories. Stop including Makefile.decl from these directories
since it is no longer necessary.
This will clear up the warnings about EXTRA_DIST being defined once in
gtk-doc.make and again in Makefile.decl.