Commit Graph

547 Commits

Author SHA1 Message Date
Tim Janik
d5c4370813 prevent race covered by g_once_init_enter(), by checking for previous
Tue Aug 14 02:06:10 2007  Tim Janik  <timj@imendio.com>

        * glib/gthread.c (g_once_init_enter_impl): prevent race covered
        by g_once_init_enter(), by checking for previous initializations
        before entering initialisation branch.

        * tests/onceinit.c: added multi-thread/multi-initializer stress test
        using unoptimized g_once_init_enter_impl().



svn path=/trunk/; revision=5701
2007-08-14 00:05:52 +00:00
Tim Janik
e0dffd03fb fixed array size typo.
Mon Aug 13 14:30:15 2007  Tim Janik  <timj@imendio.com>

        * tests/onceinit.c (main): fixed array size typo.



svn path=/trunk/; revision=5699
2007-08-13 12:30:08 +00:00
Tim Janik
1ce6d47e3a test g_once_init_*() before and after g_thread_init() and test concurrency
Mon Aug 13 14:21:44 2007  Tim Janik  <timj@imendio.com>

        * tests/onceinit.c: test g_once_init_*() before and after
        g_thread_init() and test concurrency resolution.



svn path=/trunk/; revision=5698
2007-08-13 12:25:21 +00:00
Matthias Clasen
28f781501e Handle restricted characters by converting them to numeric character
2007-08-08  Matthias Clasen  <mclasen@redhat.com>

        * glib/gmarkup.c (append_escaped_text): Handle restricted
        characters by converting them to numeric character
        entities.  (#464145, Andreas Monitzer)

        * tests/markup-escape-test.c: Add tests for restricted
        characters and numeric character entities.


svn path=/trunk/; revision=5684
2007-08-09 02:06:04 +00:00
Tim Janik
f2fa3c8593 beautified output somewhat. fixed long sleeps by reducing sleep
Thu Jul 12 17:31:08 2007  Tim Janik  <timj@imendio.com>

        * tests/slice-concurrent.c: beautified output somewhat. fixed long
        sleeps by reducing sleep accumulating and using randomized re-scheduling
        (which works on UP and SMP). increased possible blocksizes.



svn path=/trunk/; revision=5631
2007-07-12 15:35:26 +00:00
Tim Janik
223754f627 added GSLice test from Stefan Westerfeld, bug #433314.
Thu Jul 12 17:26:05 2007  Tim Janik  <timj@imendio.com>

        * tests/slice-concurrent.c: added GSLice test from Stefan Westerfeld,
        bug #433314.



svn path=/trunk/; revision=5630
2007-07-12 15:26:47 +00:00
Tim Janik
964d75ebe3 migrate per-thread magazine caches from single-thread scenario to first
Thu Jul 12 15:46:40 2007  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: migrate per-thread magazine caches from single-thread
        scenario to first thread using GSlice after g_thread_init(); based on
        a patch by Tor Lillqvist, fixes #331853.
        removed warning about g_thread_init() being called after other glib
        functions (in particular g_slice* calls), because GSlice can cope
        with this now and the rest of glib is believed to cope as well.

        * tests/slice-threadinit.c: new test program which tests GSlice working
        across g_thread_init() calls.



svn path=/trunk/; revision=5629
2007-07-12 15:07:52 +00:00
Loïc Minier
e9e1d9d45f Output newlines after thousand iterations of the inner-loop of the
2007-07-09  Loïc Minier  <lool@dooz.org>

       * tests/refcount/closures.c: (main): Output newlines after thousand
       iterations of the inner-loop of the closures test; this helps having
       smaller lines and continuously outputting new lines.  (#447048).

svn path=/trunk/; revision=5609
2007-07-09 07:42:30 +00:00
Mathias Hasselmann
ed4d216d2b Introduce g_string_overwrite(_len)? for overwriting parts of strings (#368686, Samuel Cormier-Iijima)
svn path=/trunk/; revision=5563
2007-06-15 11:54:21 +00:00
Matthias Clasen
d154485bc7 Add support for a number of special directories, as defined by the
2007-06-04  Matthias Clasen  <mclasen@redhat.com>

        Add support for a number of special directories, as
        defined by the xdg-user-dirs specification.  (#432651,
        Bastien Nocera, Emmanuele Bassi, Michael Natterer)

        * glib/glib.symbols:
        * glib/gutils.[hc]: Add the GUserDirectory enum and
        g_get_user_special_dir(), with implementations based
        on the xdg-user-dirs spec and on native interfaces
        for Win32 and Carbon.

        * configure.in: Add Carbon checks.

        * tests/tetsglib.c: Test g_get_user_special_dir().


svn path=/trunk/; revision=5528
2007-06-04 14:54:49 +00:00
Yevgen Muntyan
1db61c07d2 fixed g_regex_fetch_named* for cases when (?J) is used inside a pattern
2007-06-03  Yevgen Muntyan  <muntyan@tamu.edu>

	* glib/gregex.c: fixed g_regex_fetch_named* for cases when (?J)
	is used inside a pattern (#442265, comment #12).
	* tests/regex-test.c: Test it.


svn path=/trunk/; revision=5526
2007-06-03 06:05:23 +00:00
Yevgen Muntyan
904c42896f New functions: g_regex_ref(), g_regex_unref() which replaces
2007-06-03  Yevgen Muntyan  <muntyan@tamu.edu>

	* glib/gregex.c:
	* glib/gregex.h: New functions: g_regex_ref(), g_regex_unref() which
	replaces g_regex_free(); g_match_info_get_regex(), g_match_info_get_string();
	g_regex_check_replacement().
	Made g_match_info_expand_references() accept NULL; changed GRegexEvalCallback
	to take only arguments which are likely to be actualy used.

	* docs/reference/glib/glib-sections.txt:
	* glib/glib.symbols: Added new functions.

	* tests/regex-test.c: Test them.

	* docs/reference/glib/tmpl/gregex.sgml: Updated GRegexEvalCallback docs.


svn path=/trunk/; revision=5524
2007-06-03 05:48:17 +00:00
Marco Barisione
0fc6c7288a Fix g_regex_fetch_named() and g_regex_fetch_named_pos() when
2007-05-29  Marco Barisione <marco@barisione.org>

	* glib/gregex.c: Fix g_regex_fetch_named() and
	g_regex_fetch_named_pos() when G_REGEX_DUPNAMES is used  (#434358,
	Yevgen Muntyan and #419376, Marco Barisione, patch by Yevgen Muntyan)

svn path=/trunk/; revision=5518
2007-05-29 09:32:34 +00:00
Matthias Clasen
8f88ba6ffa Allow G_OPTION_ARG_CALLBACK for G_OPTION_REMAINING. (#437297, Dave Benson)
2007-05-11  Matthias Clasen  <mclasen@redhat.com>

        * glib/goption.c: Allow G_OPTION_ARG_CALLBACK for
        G_OPTION_REMAINING.  (#437297, Dave Benson)

        * tests/option-test.c: Add a test for this.



svn path=/trunk/; revision=5487
2007-05-11 18:53:57 +00:00
Matthias Clasen
9d3c408fbe Stop unused threads before the last test, to make the test terminate
* tests/threadpool-test.c: Stop unused threads before
        the last test, to make the test terminate reliably.



svn path=/trunk/; revision=5477
2007-05-03 04:48:10 +00:00
Matthias Clasen
a793051fda Split GRegex into GRegex and GMatchInfo. (#419368, Marco Barisione)
2007-04-30  Matthias Clasen  <mclasen@redhat.com>

        * glib/glib.symbols:
        * glib/gregex.[hc]: Split GRegex into GRegex and GMatchInfo.
        (#419368, Marco Barisione)

        * tests/regex-test.c: Adapt.


svn path=/trunk/; revision=5468
2007-04-30 16:02:26 +00:00
Michael Natterer
325bd373d4 don't free or modify static strings, dup them when needed and clear the
2007-04-24  Michael Natterer  <mitch@imendio.com>

	* gobject/gparamspecs.c (param_string_validate): don't free or
	modify static strings, dup them when needed and clear the
	G_VALUE_NOCOPY_CONTENTS flag. Fixes bug #432895.

	* tests/gobject/paramspec-test.c: test all GParamSpecString
	validations with static and allocated strings.


svn path=/trunk/; revision=5454
2007-04-24 13:36:58 +00:00
Emmanuele Bassi
db8642a56c Add g_hash_table_get_keys() and g_hash_table_get_values(), API to retrieve
2007-04-11  Emmanuele Bassi  <ebassi@gnome.org>

	* glib/ghash.[ch]: Add g_hash_table_get_keys() and
	g_hash_table_get_values(), API to retrieve the keys
	and values inside an hash table in list form. (#413133)

	* glib/glib.symbols: Update symbols.

	* tests/hash-test.c: Exercise newly added functions.

svn path=/trunk/; revision=5444
2007-04-11 13:09:38 +00:00
Matthias Clasen
ab74710386 Handle missing $RANDOM
svn path=/trunk/; revision=5435
2007-03-23 06:27:58 +00:00
Chris Wilson
033e54e8a4 Track whether the last key=value pair in a group is a blank line and
2007-03-22  Chris Wilson  <chris@chris-wilson.co.uk>

	* glib/gkeyfile.c: Track whether the last key=value pair in a group
	is a blank line and during to_data() only insert a new blank line
	betweens group in its absence. This allows the beautification of the
	GKeyFile and prevents newlines being inserted indefinitely. (#420686)

	* tests/keyfile-test.c (test_reload_idempotency): Test that after a 
	single beautification pass, g_key_file_to_data() does not alter its
	input data.


svn path=/trunk/; revision=5431
2007-03-22 08:58:59 +00:00
Hans Breuer
770b29bad2 define PCRE_STATIC to reflect the inclusion of pcre as LIB, not
2007-03-17  Hans Breuer  <hans@breuer.org>

	* glib/makefile.msc.in glib/pcre/makefile.msc 
	  glib/update-pcre/update.sh : define PCRE_STATIC to reflect the 
	inclusion of pcre as LIB, not stand-alone DLL. Also set NEWLINE=-1
	to match any newline by default, use of ../../build/win32/make.msc

	* glib/gregex.h : minimal includes of <glib/*.H> instead of <glib.h>

	* glib/gnulib/makefile.msc : make use of ../../build/win32/make.msc

	* tests/regex-test.c(verbose): don't pass a string containing '%' 
	as first parameter to g_print ()
	(test_match) : for the unexpected case output pattern and string
	escaped

	* tests/child-test.c tests/slice-color.c : fix c99ism
	* tests/slice-test.c : fix c99ism and gccism
	* tests/mapping-test.c tests/base-64-tests.c : don't 
	#include <unistd.h> unconditionally
	* tests/option-test.c : use G_GINT64_CONSTANT() instead of direct LL

	* tests/makefile.msc.in : more tests build


svn path=/trunk/; revision=5423
2007-03-17 09:49:09 +00:00
Matthias Clasen
45b2988d05 Don't export the consistency check function
svn path=/trunk/; revision=5422
2007-03-17 04:25:40 +00:00
Marco Barisione
0196d63975 Add GRegex for regular expression matching. (#50075)
2007-03-15  Marco Barisione <marco@barisione.org>

	Add GRegex for regular expression matching.  (#50075)

	* configure.in: Handle GRegex compilation.

	* glib/gregex.c:
	* glib/gregex.h: Code for GRegex.

	* glib/Makefile.am:
	* glib/makefile.msc.in: Updated makefiles.

	* glib/pcre/*: Internal copy of PCRE.

	* glib/update-pcre/*: Stuff to automatically update the internal PCRE
	to a newer version.

	* tests/regex-test.c:
	* tests/Makefile.am:
	* tests/makefile.msc.in: Add tests for GRegex.

svn path=/trunk/; revision=5408
2007-03-15 13:01:31 +00:00
Matthias Clasen
2a867b1fca Return negative values. (#416062)
2007-03-08  Matthias Clasen  <mclasen@redhat.com>

        * glib/gstrfuncs.c (g_strtoll): Return negative values.
        (#416062)

        * tests/strtoll-test.c: Add more testcases.



svn path=/trunk/; revision=5390
2007-03-09 03:40:43 +00:00
Matthias Clasen
085042c6d7 Apply a patch by Loïc Minier to fix building with -Wl,-z,defs. (#149144)
2007-03-06  Matthias Clasen  <mclasen@Redhat.com>

        * tests/Makefile.am: Apply a patch by Loïc Minier
        to fix building with -Wl,-z,defs.  (#149144)



svn path=/trunk/; revision=5367
2007-03-06 05:01:45 +00:00
Soren Sandmann
f13d070e20 For move, test moving between two sequences. Add test for swap.
2007-02-16  Soren Sandmann <sandmann@redhat.com>

	* tests/sequence-test.c: For move, test moving between two
	sequences. Add test for swap.

	* glib/gsequence.c: Replace splay tree with a treap.
	(check_node): Add checks for the treap invariants.


svn path=/trunk/; revision=5337
2007-02-16 06:00:08 +00:00
Soren Sandmann
5fa8f600f5 Force an arbitrary order on otherwise identical items.
2007-02-07  Soren Sandmann <sandmann@daimi.au.dk>

	* tests/sequence-test.c (compare_items): Force an arbitrary order
	on otherwise identical items. 

	* glib/gsequence.c: Add comment discussing splay trees vs. other trees. 
	* glib/gsequence.c (is_end): Add fast path for the common case
	when the node is not actually the end node.


svn path=/trunk/; revision=5328
2007-02-08 02:22:52 +00:00
Soren Sandmann
840d9bab26 Don't prohibit access until after the g_sequence_move_range() call. Bug
2007-02-05  Soren Sandmann <sandmann@daimi.au.dk>

	* glib/gsequence.c (g_sequence_sort_iter): Don't prohibit access
	until after the g_sequence_move_range() call.  Bug 404759,
	Christian Persch.

       * tests/sequence-test.c: Formatting fix.


svn path=/trunk/; revision=5325
2007-02-06 04:49:41 +00:00
Soren Sandmann
576a5d4127 Add a new 'real_sequence' field. (g_sequence_new): Initialize
2007-02-03  Soren Sandmann <sandmann@daimi.au.dk>

        * glib/gsequence.c (struct _GSequence): Add a new 'real_sequence'
        field.
        (g_sequence_new): Initialize real_sequence to the sequence
        (g_sequence_sort_iter): Set real_sequence of the temporary
        sequence to the real sequence.
        (g_sequence_sort_changed_iter): Same
        (g_sequence_insert_sorted_iter): Same
        (g_sequence_search_iter): Same
        (g_sequence_iter_get_sequence): Return real_sequence

        * tests/sequence-test.c (compare_iters): Insert assertions that
        the iters point to the sequence being manipulated.


svn path=/trunk/; revision=5323
2007-02-04 03:39:57 +00:00
Soren Sandmann
674c4df418 New files implementing GSequence, a list implemented using a binary tree.
2007-02-03  Soren Sandmann <sandmann@daimi.au.dk>

	* glib/gsequence.[ch]: New files implementing GSequence, a list
	implemented using a binary tree.
	* glib/glib.h, glib/glib.symbols: Update for GSequence.
	* docs/reference: Add documentation for GSequence
	* tests: Add sequence-test.c, a thorough test of all of 
	the GSequence API.


svn path=/trunk/; revision=5322
2007-02-03 23:24:50 +00:00
Matthias Clasen
912027f0df Some file list updates (#398069, Owen Taylor)
2007-01-19  Matthias Clasen  <mclasen@redhat.com>

        Some file list updates (#398069, Owen Taylor)

        * docs/Changes-2.0.txt
        * docs/reference/README.cvs-commits
        * glib.spec.in: Remove obsolete files

        * tests/Makefile.am:
        * glib/libcharset/Makefile.am:
        * gobject/Makefile.am:
        * Makefile.am: Add some missing files to EXTRA_DIST

        * tests/timeloop-basic.c: Make it build
        * HACKING: Small updates


svn path=/trunk/; revision=5302
2007-01-19 15:50:30 +00:00
Matthias Clasen
38b9221961 Rework the handling of invalid keys/groups again. We are back to being
2007-01-12  Matthias Clasen  <mclasen@redhat.com>

        * glib/gkeyfile.c: Rework the handling of invalid
        keys/groups again. We are back to being liberal about
        what we accept, and only reject things that would lead
        to non-rereadable keyfiles.

        * tests/keyfile-test.c: Adapt tests.



svn path=/trunk/; revision=5254
2007-01-12 20:25:57 +00:00
Behdad Esfahbod
46dae95f4a Fix tests on x86_64.
2007-01-04  Behdad Esfahbod  <behdad@gnome.org>

        * tests/bit-test.c (builtin_bit_nth_lsf1), (builtin_bit_nth_lsf2),
        (builtin_bit_nth_msf): Fix tests on x86_64.


svn path=/trunk/; revision=5216
2007-01-05 03:31:54 +00:00
Behdad Esfahbod
048efdfbd5 Fix bug in g_bit_nth_lsf (#371631) and use __builtin_clzl for
2007-01-03  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use 
        __builtin_clzl for g_bit_storage if available (#371670).

        * tests/Makefile.am:
        * tests/bit-test.c: New test, to test g_bit_* operations against
        naive and builtin implementations.


svn path=/trunk/; revision=5200
2007-01-03 20:08:53 +00:00
Michael Natterer
feb07512f0 removed all .cvsignore files. SVN doesn't need them.
2007-01-03  Michael Natterer  <mitch@imendio.com>

	* removed all .cvsignore files. SVN doesn't need them.


svn path=/trunk/; revision=5198
2007-01-03 11:22:36 +00:00
Matthias Clasen
d7b7c44e40 Define G_DEFINE_DYNAMIC_TYPE and and _EXTENDED variant. (#334437)
2006-12-29 Matthias Clasen  <mclasen@redhat.com>

        * gtypemodule.h: Define G_DEFINE_DYNAMIC_TYPE and
        and _EXTENDED variant.  (#334437)
2006-12-29 06:12:11 +00:00
Tim Janik
1bd8993451 implemented static debugging hash-tree to validate slice adresses and
Thu Dec 28 12:50:31 2006  Tim Janik  <timj@imendio.com>

        * glib/gslice.h, glib/gslice.c: implemented static debugging
        hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
        use abort() to exit in mem_error() to allow catching of these in gdb.
        abort programs with a descriptive error message if g_thread_init() is
        called after GSlice was in use. previously this just silently corrupted
        the magazines.

        * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte
        pointer alignment on 64bit systems and request smaller slice sizes
        on 32bit systems.

        * tests/slice-test.c: support '~' option flag to introduce slice
        allocation/release corruption with a significant probability. this
        allowes testing of G_SLICE=debug-blocks.
2006-12-28 11:50:43 +00:00
Matthias Clasen
98d552e0cd Consistently use gsize rather than size_t. (#333310, Morten Welinder)
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * glib/gconvert.[hc]:
        * glib/gfileutils.c:
        * glib/giochannel.c:
        * glib/goption.c:
        * glib/gspawn.c:
        * glib/gunicollate.c:
        * glib/gutils.c:
        * tests/timeloop-basic.c:
        Consistently use gsize rather than size_t.  (#333310,
        Morten Welinder)
2006-12-28 04:48:06 +00:00
Matthias Clasen
ca7dc0e94c Silently skip tests if we can't set LC_COLLATE to en_US. (#336438)
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * tests/run-collate-tests.sh:
        * tests/unicode-collate.c: Silently skip tests if
        we can't set LC_COLLATE to en_US.  (#336438)
2006-12-24 21:47:05 +00:00
Matthias Clasen
01f78fa7f5 Accept '/', '+' and '.' in key names, since gnome-vfs uses mime types as
2006-12-19  Matthias Clasen  <mclasen@redhat.com>

        * glib/gkeyfile.c (g_key_file_is_key_name): Accept
        '/', '+' and '.' in key names, since gnome-vfs uses
        mime types as keys in some cache.

2
2006-12-19 21:08:32 +00:00
Matthias Clasen
330e9ffc1b Try a different fix for bug 346373.
2006-12-18  Matthias Clasen  <mclasen@redhat.com>

        * tests/Makefile.am: Try a different fix for bug 346373.
2006-12-18 14:50:36 +00:00
Matthias Clasen
52ef9438ca Accept '@' in locale names.
2006-12-18  Matthias Clasen  <mclasen@redhat.com>

        * glib/gkeyfile.c: Accept '@' in locale names.
2006-12-18 14:13:34 +00:00
Matthias Clasen
6b52690bb5 Tighten up the check for allowed key and group names. (#343191, Tommi
2006-12-18  Matthias Clasen  <mclasen@redhat.com>

        * glib/gkeyfile.c: Tighten up the check for allowed
        key and group names.  (#343191, Tommi Komulainen)

        * tests/keyfile-test.c: Test handling of key and group names.
2006-12-18 07:29:56 +00:00
Matthias Clasen
81aee2e13e Don't use $RANDOM if the shell doesn't have it. (#346373, Thomas Klausner)
* tests/Makefile.am: Don't use $RANDOM if the shell doesn't
        have it.  (#346373, Thomas Klausner)
2006-12-18 05:02:37 +00:00
Matthias Clasen
c01a364fb4 Don't use diff -u (#380801, Marek Rouchal)
2006-12-17  Matthias Clasen  <mclasen@redhat.com>

        * tests/run-markup-tests.sh: Don't use diff -u  (#380801,
        Marek Rouchal)
2006-12-17 18:01:15 +00:00
Matthias Clasen
966872d789 If the group is already there, make it current. (#385910, Joe Halliwell)
2006-12-14  Matthias Clasen  <mclasen@redhat.com>

        * glib/gkeyfile.c (g_key_file_add_group): If the group
        is already there, make it current.  (#385910, Joe Halliwell)

        * tests/keyfile-test.c: Add a test for duplicate groups/keys.
2006-12-14 23:19:28 +00:00
Tor Lillqvist
256ba23b98 makefile.mingw gmodule/makefile.mingw.in glib/makefile.mingw.in
2006-11-05  Tor Lillqvist  <tml@novell.com>

	* makefile.mingw
	* gmodule/makefile.mingw.in
	* glib/makefile.mingw.in
	* gobject/makefile.mingw.in
	* gthread/makefile.mingw.in
	* tests/makefile.mingw.in: Remove from CVS. Haven't been
	maintained or distributed for long.
2006-11-05 15:42:42 +00:00
Sebastian Wilhelmi
38c633aed6 Compile errorcheck-mutex-test with thread libraries explicitly. (#74748,
2006-10-15  Sebastian Wilhelmi  <seppi@seppi.de>

        * tests/Makefile.am: Compile errorcheck-mutex-test with thread
        libraries explicitly. (#74748, Javier Villavicencio)
2006-10-15 12:18:25 +00:00
Matthias Clasen
9c19905b0e portability fix 2006-10-08 19:59:26 +00:00
Tim Janik
aa4c932630 added test program which demonstrates and checks singleton construction.
Wed Aug 16 13:59:07 2006  Tim Janik  <timj@gtk.org>

        * tests/gobject/Makefile.am:
        * tests/gobject/singleton.c: added test program which demonstrates
        and checks singleton construction.
2006-08-16 12:11:03 +00:00