426 Commits

Author SHA1 Message Date
Matthias Clasen
7df7c53557 Add another GCond test
This test shows how to implement a barrier using a GCond.
2011-10-02 19:09:24 -04:00
Matthias Clasen
6d2b2ccaa0 Add tests for GPrivate and GStaticPrivate 2011-10-02 16:51:32 -04:00
Ryan Lortie
406f7d2b39 mutex testcase: add a performance test
Add a reasonable performance test for uncontended and contended cases.
2011-10-02 00:13:18 -04:00
Simon McVittie
c48a0d8813 markup-subparser test: use a real GError domain
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=660371
2011-09-30 13:17:27 +01:00
Dan Winship
0f4b278a4b update .gitignores 2011-09-28 12:20:09 -04:00
Ryan Lortie
6bd959b727 glib tests: Compile new thread tests on win32
They accidentally got added inside of a 'if OS_UNIX'.  Move them out.
2011-09-26 09:05:53 -04:00
Stef Walter
5a95e19a46 gvariant: Add g_variant_get_fixed_array()
Using g_variant_new_from_data() for creating new byte arrays is non-obvious.
This patch adds a g_variant_new_fixed_array() function.

https://bugzilla.gnome.org/show_bug.cgi?id=659923
2011-09-25 07:57:26 +02:00
Matthias Clasen
df9e5c2435 Fix an uninialized variable warning 2011-09-24 19:01:02 -04:00
Matthias Clasen
cf9623767a Add a testcase for bug 659866
Mere inclusion of glib headers should not require you to define
any XYZ_SOURCE macros.
2011-09-24 00:39:59 -04:00
Matthias Clasen
e1f68c1292 Add a test for GCond 2011-09-23 23:38:26 -04:00
Matthias Clasen
a118313599 Add a nontrivial read-write lock test 2011-09-23 22:07:32 -04:00
Matthias Clasen
158a0366be Add GOnce tests 2011-09-23 21:19:53 -04:00
Matthias Clasen
dd002113f1 Make the rec mutex test a little more verbose 2011-09-23 21:11:10 -04:00
Matthias Clasen
cf020d8250 Add a non-trivial GRWLock test
This one tests that the writer lock behaves like a mutex.
Adapted from the corresponding test in GMutex.
2011-09-23 07:25:07 -04:00
Matthias Clasen
0a9885ebd8 Add a non-trivial GRecMutex test
Adapted from the corresponding GMutex test.
2011-09-23 07:25:07 -04:00
Matthias Clasen
de39df9dc1 Remove an unused variable 2011-09-23 07:25:06 -04:00
Matthias Clasen
798a7d5abe Add some more rw lock tests
These test some simple mixed reader/writer api usage.
2011-09-23 06:31:59 -04:00
Matthias Clasen
81b3708184 Add a mutex test
This tests that mutexes do what they are supposed to do.
Copied from a similar test for bitlocks in gthread/tests/bitlock.c.
2011-09-23 06:31:59 -04:00
Matthias Clasen
4f3026ea23 Add headers 2011-09-22 22:45:47 -04:00
Matthias Clasen
ff13913537 Add basic tests for GRWLock
Just basic api usage, no functional test cases yet.
2011-09-22 22:45:47 -04:00
Matthias Clasen
295af777e4 Add trivial tests for GMutex and GRecMutex
Not testing any mutual exclusion with threads yet, just
basic api use. This is already enough to reveal g_rec_mutex_trylock
as broken...
2011-09-22 21:58:54 -04:00
Ryan Lortie
19e7026fe7 GDateTime test: fix a race
We have a GDateTime test that compares the time now (as per the libc) to
the time now (as per GDateTime).  The problem is that the time could
change between those two "now"s.
2011-09-21 20:23:03 -04:00
Philip Van Hoof
ca154c399b GMappedFile: Add API to create from an existing file descriptor
At Tracker we want to mmap files using O_NOATIME. With GMappedFile this is at
the moment impossible. For that reason I added the constructor new_from_fd to
the GMappedFile type.

https://bugzilla.gnome.org/show_bug.cgi?id=659754
2011-09-22 00:01:56 +02:00
Ryan Lortie
3d4102776e Add GRWLock 2011-09-21 16:09:03 -04:00
Matthias Clasen
bb1ada7791 Fix a merge accident 2011-09-18 22:14:44 -04:00
Matthias Clasen
1e82f73f8b Fix g_ascii_formatd tests
The test was not changing to the locales it was looping over.
2011-09-18 14:51:30 -04:00
Matthias Clasen
f18eab2ac7 GMappedFile: return an error when trying to map a device
Previously, we were returning an empty buffer for all filenames
where fstat() gives a size of 0. But this is only appropriate
for regular files.

Also improve the documentation around this issue. Based on a
patch by Ryan Lortie.

Conflicts:

	glib/tests/mappedfile.c

https://bugzilla.gnome.org/show_bug.cgi?id=659212
2011-09-17 20:03:00 -04:00
Matthias Clasen
6274386e52 Only use gcc-specific options when the compiler is gcc
The -Wstrict-aliasing option that we use to compile atomic
tests does not exist with compilers other than gcc, so
don't pass it to those.
https://bugzilla.gnome.org/show_bug.cgi?id=652272
https://bugzilla.gnome.org/show_bug.cgi?id=656152
2011-09-04 20:06:53 -04:00
Dan Winship
749fa587bc fix a few warnings on non-Linux
mostly #ifdeffing functions that are only called by #ifdeffed code
2011-09-04 17:50:41 -04:00
Ryan Lortie
2d7051e3a3 g_date_time_format: improve support for alt digits
Improve a few situations where g_date_time_format() was getting the
padding wrong when displaying alt digits (eg: Arabic numerals) for
formatting time.

We now depend on nl_langinfo (_NL_CTYPE_OUTDIGITn_WC) to do the
conversion, which is very likely glibc-specific, but our previous method
relied on a glibc-specific printf() feature, so no harm done there.

Add a configure check for nl_langinfo (_NL_CTYPE_OUTDIGITn_WC).

Uncomment a few testcases that were failing previously.

https://bugzilla.gnome.org/show_bug.cgi?id=658107
2011-09-03 23:06:18 -04:00
Matthias Clasen
f091c6a99b gdatetime: Fix locale-changing code
As pointed out by Ryan Lortie, the code didn't actually ever
switch back to the old locale.

https://bugzilla.gnome.org/show_bug.cgi?id=658104
2011-09-02 23:37:12 -04:00
Ryan Lortie
bdb34e3217 GDateTime: test _format against strftime()
Test g_date_time_format() against strftime().  This test found quite a
few cases of incorrect behaviour on our part (fixes already committed
for those).
2011-09-02 21:08:35 -04:00
Ryan Lortie
dcbfeb579a GDateTime test: plug a couple of leaks 2011-09-02 21:05:53 -04:00
Ryan Lortie
1b04f0d973 g_date_time_format: rip out non-working %W format
Our implementation of %W is incorrect.  Nobody should want to use this
format anyway and the implementation is non-trivial, so rip it out
rather than fixing it.

Remove the testcase for %W as well.
2011-09-02 21:05:40 -04:00
Ryan Lortie
65fe8b73c5 g_date_time_format: fix padding for some formats
%e is supposed to be space-padded and %W is supposed to be 0-padded

Adjust the testcase accordingly since it expects the wrong behaviour.
2011-09-02 21:05:23 -04:00
Ryan Lortie
b4591aa3dc GDateTime test: don't test removed %N 2011-09-02 21:05:23 -04:00
Ryan Lortie
ab8938c64d Revert "gdatetime: Add g_date_time_source_new()"
This reverts three commits:

 - 1feb752996b404965a2f58b29a569a273d4374fa
 - 5763c631473539746646697e6a775f6eacaa08e2
 - 21a538934091e1449e0479daf066fa20df2dc2ef

https://bugzilla.gnome.org/show_bug.cgi?id=655129
2011-08-31 12:56:28 -04:00
Ryan Lortie
c0eb77bfc8 unix signal watch: make API match other sources
Change the unix signal watch API to match other sources in both
available functions, names of those functions and order of the
parameters to the _full function.

https://bugzilla.gnome.org/show_bug.cgi?id=657705
2011-08-30 19:22:54 -04:00
Colin Walters
1feb752996 gdatetime: Add g_date_time_source_new()
Several different codebases in GNOME want to implement wall clocks.
While we could pretty easily share a private library, it's not a
substantial amount of code, and GLib already has a lot of the
necessary system-specific detection and handling infrastructure.

Note this initial implementation just wakes up once a second in the
cancel_on_set case; we'll add the Linux-specific handling in a
subsequent commit.

https://bugzilla.gnome.org/show_bug.cgi?id=655129
2011-08-29 10:24:08 -04:00
Colin Walters
5b68b49b20 GTimeZoneMonitor: Revert addition of this class
The main rationale for adding it was to avoid having gnome-shell
mmap'ing /etc/localtime once a second.  However, we can just as easily
run inotify there, and given no one else was clamoring for a way to
detect when the time zone changes, I don't see a need for public API
here - at least not yet.

In the bigger picture, I just don't believe that the vast majority of
applications are going to go out of their way to instantiate and keep
around a random GTimeZoneMonitor class.  And if they do, it's has the
side effect that for other bits of code in the process, local GDateTime
instances may start varying again!

So, if code can't rely on local GDateTime instances being in a
consistent state anyways, let's just do that always.  The
documentation now says that this is the case.  Applications have
always been able to work in a consistent local time zone by
instantiating a zone and then using it for GDateTime constructors.

We fix the "gnome-shell stats /etc/localtime once a second" issue by
using timerfd (in glib) and inotify (in gnome-shell).

https://bugzilla.gnome.org/show_bug.cgi?id=655129
2011-08-22 11:12:37 -04:00
Stef Walter
acbcb8f7e3 hmac: Implementation of HMAC in glib
This implements g_hmac_xxx() functionality using the standard checksum
functions supported by glib.

HMAC is a secure way to hash a key and a password. Many other
approaches fraught with append and prepend issues.

Includes test cases defined in relevant RFCs

https://bugzilla.gnome.org/show_bug.cgi?id=652480
2011-08-14 09:27:45 +02:00
Matthias Clasen
655299a057 gdatetime: Add a test for %OM 2011-08-13 15:48:47 -04:00
Matthias Clasen
be93370605 Remove a gccism
Pointed out in bug 656152.
2011-08-13 15:29:29 -04:00
Ryan Lortie
44e85f7364 GDateTime test: 1970 doesn't exist on Windows
It is not safe to call the system library mktime() function on Windows
with a date in the 70s.  Use 1990 instead.
2011-07-26 13:38:04 +02:00
Dan Winship
b8a0475e7a update .gitignore 2011-07-24 12:41:11 -04:00
Colin Walters
8b061e023c Revert addition of g_key_file_has_key_full
Per IRC discussion, we can just ask bindings to use
g_key_file_get_value() to test for the existence of a key.

I left the "fixed" code in the source tree as static because it makes
more sense to me.
2011-07-22 10:56:54 -04:00
Behdad Esfahbod
b30ca6e5a5 Bug 655076 - Our normalization code misses some Full_Composition_Exclusion=True. 2011-07-21 16:07:18 -04:00
Behdad Esfahbod
9bcb3d7457 Add g_unicode_script_from_iso15924()
And adjust g_unicode_script_to_iso1592().
2011-07-20 22:12:03 -04:00
Behdad Esfahbod
7e03b28870 Bug 648271 - Add g_unicode_script_to_iso15924()
Add g_unicode_script_to_iso15924() and tests.
2011-07-20 19:13:19 -04:00
Ryan Lortie
afd1e36970 Change GLib size units policy
This commit changes GLib size units policy.  We now prefer SI units and
allow for use of proper IEC units where desired.

g_format_size_for_display() which incorrectly mixed IEC units with SI
suffixes is left unmodified, but has been deprecated.

g_format_size() has been introduced which uses SI units and suffixes.

g_format_size_full() has also been added which takes a flags argument to
allow for use of IEC units (with correct suffixes).  It also allows for
a "long format" output which includes the total number of bytes.  For
example: "238.5 MB (238,472,938 bytes)".
2011-07-20 20:06:35 +02:00