Commit Graph

408 Commits

Author SHA1 Message Date
Matthias Clasen
308678a613 Add convert-test here.
2005-08-08  Matthias Clasen  <mclasen@redhat.com>

	* tests/Makefile.am: Add convert-test here.

	* tests/convert-test.c: Add the beginning of a testsuite
	for g_convert() and friends.
2005-08-08 05:30:20 +00:00
Manish Singh
f1e1727ce7 remove unused n_threads variable.
2005-08-05  Manish Singh  <yosh@gimp.org>

        * tests/refcount/closures.c: remove unused n_threads variable.
2005-08-06 00:33:49 +00:00
Manish Singh
47f88c486b Shut up CVS 2005-08-06 00:32:33 +00:00
Tor Lillqvist
352a0e6c0b tests/refcount/objects.c tests/refcount/properties.c Use g_usleep()
2005-08-02  Tor Lillqvist  <tml@novell.com>

	* tests/refcount/objects.c
	* tests/refcount/properties.c
	* tests/refcount/signals.c: Use g_usleep() instead of sleep() for
	portability.
2005-08-02 06:55:38 +00:00
Tim Janik
10a3867a6e test high contention on closure reference counts to trigger and catch
Mon Aug  1 23:33:47 2005  Tim Janik  <timj@imendio.com>

        * tests/refcount/closures.c: test high contention on closure
        reference counts to trigger and catch non-atomic updates.

        * tests/refcount/objects.c:
        * tests/refcount/objects2.c:
        * tests/refcount/properties.c:
        * tests/refcount/properties2.c:
        * tests/refcount/signals.c:
        fixed up test and threading fundamentals. variables accessed from all
        threads need to be volatile. context switches are enforced by using
        g_thread_yield(), not g_usleep(1) which may result in busy waits on
        some platforms. for testcode, always consider all warnings and
        critical messages fatal. issue the currently running program on
        stdout. improved progress indicators.

        * tests/refcount/properties.c:
        * tests/refcount/objects.c:
        don't overdo the number of testing threads to keep the testing machine
        usable, 2 threads can produce as much contention as 20 if executing the
        same code.

        * tests/refcount/signals.c: only start 1 thread per object. GObject
        doesn't provide mutually exclusive object access, but only mutually
        exclusive reference count modification.

        * tests/Makefile.am: added closures test.
2005-08-01 21:47:15 +00:00
Tor Lillqvist
7787e71d8b Minor simplification in safe_strcmp_filename(). 2005-08-01 19:25:37 +00:00
Tor Lillqvist
7aa2e37f5e Ugh, fix braino. 2005-08-01 19:23:10 +00:00
Tor Lillqvist
d5a989875b Make it pass on Win32. (from_uri_tests[]): Take into consideration that on
2005-08-01  Tor Lillqvist  <tml@novell.com>

	* tests/uri-test.c: Make it pass on Win32.
	(from_uri_tests[]): Take into consideration that on Win32 we don't
	return "localhost" hostnames.
	(safe_strcmp_filename): New function that considers slash and
	backslash equal on Win32.
	(run_roundtrip_tests): Use safe_strcmp_filename().
2005-08-01 19:17:35 +00:00
Manish Singh
6394b31435 use G_CALLBACK for signal connections.
2005-07-20  Manish Singh  <yosh@gimp.org>

        * tests/refcount/signals.c: use G_CALLBACK for signal connections.
2005-07-20 20:46:58 +00:00
Manish Singh
f4bc0cb520 Shut up CVS 2005-07-20 20:44:28 +00:00
Matthias Clasen
8ac11176ab Don't get stuck in here if immediate is TRUE. (#310954, Hong Jen Yee)
2005-07-20  Matthias Clasen  <mclasen@redhat.com>

	* glib/gthreadpool.c (g_thread_pool_free): Don't get
	stuck in here if immediate is TRUE.  (#310954,
	Hong Jen Yee)

	* tests/threadpool-test.c (main): Test immediate == TRUE.
2005-07-20 17:06:02 +00:00
Matthias Clasen
39ea11ce6b Make refcounting threadsafe by using atomic operations. (#166020, Wim
2005-07-15  Matthias Clasen  <mclasen@redhat.com>

	Make refcounting threadsafe by using atomic
	operations.  (#166020, Wim Taymans)

	* gobject.c: Use a recursive lock to protect the
	notify queue.
	(g_object_unref): Get rid of g_object_last_unref and
	do the last unref handling in g_object_unref.
	(g_object_ref, g_object_unref): Use atomic operations.

	* gsignal.c (struct _HandlerMatch): Use a full integer
	for the ref_count field.
	(handler_ref, handler_unref_R): Use atomic operations.

	* gparam.c (g_param_spec_ref, g_param_spec_unref):
	Use atomic operations instead of a lock to make the
	refcounting threadsafe.

	* gclosure.c (g_closure_ref, g_closure_unref): Use atomic
	operations. This is more complicated here, since the
	refcount is stored in a bitfield, so we also have
	to access all other bitfield members atomically.

	* gsignal.c (handlers_find): Read the meta_marshal flag
	of the closure atomically.

	* tests/Makefile.am (SUBDIRS): Add tests/refcount

	* configure.in: Add tests/refcount

	* tests/refcount/properties.c: Test property changes
	from multiple threads.

	* tests/refcount/signals.c: Test signal emission from
	multiple threads.

	* tests/refcount/objects.c: Test refcounting from
	multiple threads.

	* tests/refcount/objects2.c:
	* tests/refcount/properties2.c: Tests to measure the
	overhead of threadsafe refcounting.

	* glib/giochannel.c (g_io_channel_ref, g_io_channel_unref):
	Use atomic operations to make refcounting
	threadsafe.  (#166020, Wim Taymans)
2005-07-15 16:51:10 +00:00
Matthias Clasen
7221f500f5 Make the tests silent on success.
2005-07-14  Matthias Clasen  <mclasen@redhat.com>

	* tests/spawn-test.c:
	* tests/uri-test.c:
	* tests/thread-test.c:
	* tests/queue-test.c:
	* tests/mainloop-test.c:
	* tests/iochannel-test.c:
	* tests/gio-test.c:
	* tests/child-test.c: Make the tests silent on success.
2005-07-14 05:20:14 +00:00
Matthias Clasen
58dd4814b2 Add and implement a new flag to turn off the automatic <groupname>-
2005-07-12  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.h (G_OPTION_FLAG_NOALIAS):
	* glib/goption.c: Add and implement a new flag
	to turn off the automatic <groupname>- prefixing
	for conflict resolution of long option names. (#171840,
	Adam McLaurin)

	All optional callback arguments  (#308886, Pawel
	Sliwowski)

	* glib/goption.h (G_OPTION_FLAG_OPTIONAL_ARG):
	* glib/goption.c: Add and implement a new flag
	to indicate that a callback *optionally* takes another
	argument.

	* tests/option-test.c: Add tests for optional arguments.
2005-07-12 18:56:25 +00:00
Matthias Clasen
9d6e10125b Don't reverse the order of multiline comments.
2005-07-01  Matthias Clasen  <mclasen@redhat.com>

	* glib/gkeyfile.c (g_key_file_get_key_comment):
	(g_key_file_get_top_comment): Don't reverse the order of multiline
	comments.
	(g_key_file_get_group_comment): Actually get the group comment.

	* tests/keyfile-test.c (test_comments): Test that comments are
	handled properly.  (#309263, Mikael Magnusson)
2005-07-01 18:54:25 +00:00
Matthias Clasen
61b7337092 Test that comments are handled properly. (#309263, Mikael Magnusson)
2005-07-01  Matthias Clasen  <mclasen@redhat.com>

	* tests/keyfile-test.c (test_comments): Test that comments are
	handled properly.  (#309263, Mikael Magnusson)
2005-07-01 15:56:03 +00:00
Matthias Clasen
399b0456ce 2.7.1 2005-06-30 21:01:58 +00:00
Manish Singh
31ce06c550 Shut up CVS 2005-06-27 21:18:38 +00:00
Tor Lillqvist
ef48ce636b libtool installs/uninstalls the import library, no need to do it
2005-06-26  Tor Lillqvist  <tml@novell.com>

	* glib/Makefile.am: libtool installs/uninstalls the import
	library, no need to do it ourselves. Do still install/uninstall
	the .def file, though.

	* glib/gmappedfile.c: Add Win32 implementation.
	(g_mapped_file_free): Don't mention writable shared mappings in
	the doc comment. Free the GMappedFile struct.

	* tests/mapping-test.c (main): No kill() or SIGUSR1 on Win32, use
	a flag file instead to stop the child. Use g_usleep() instead of
	sleep().
2005-06-26 18:04:08 +00:00
Matthias Clasen
748c230205 Add an mmap() wrapper called GMappedFile. (#148218, David Schleef, Behdad
2005-06-24  Matthias Clasen  <mclasen@redhat.com>

	Add an mmap() wrapper called GMappedFile. (#148218,
	David Schleef, Behdad Esfahbod)

	* glib/gmappedfile.[hc]: New files.

	* configure.in: Check for mmap.

	* glib/Makefile.am: Add new files.

	* glib/glib.symbols: Add new functions.

	* glib/glib.h: Include gmappedfile.h

	* tests/mapping-test.c: Tests for GMappedFile.

	* tests/Makefile.am: Add new file.
2005-06-25 03:38:32 +00:00
Matthias Clasen
58f83683e9 Don't leak memory here.
2005-06-23  Matthias Clasen  <mclasen@redhat.com>

	* tests/keyfile-test.c (test_group_remove): Don't leak
	memory here.

	* glib/gkeyfile.c (g_key_file_load_from_data_dirs): Don't
	leak output_path.  (#308546, Kjartan Maraas)
2005-06-23 16:28:55 +00:00
Matthias Clasen
a6312099c7 Add some language-binding friendly variants 2005-06-23 05:50:53 +00:00
Tor Lillqvist
b8c119f901 glib/gfileutils.c glib/gfileutils.h glib/glib.symbols Rename g_makepath()
2005-06-22  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c
	* glib/gfileutils.h
	* glib/glib.symbols
	* tests/testglib.c: Rename g_makepath() to g_mkdir_with_parents().
2005-06-22 18:55:33 +00:00
Tor Lillqvist
1833a93ddd New function. Creates a directory including intermediate parent
2005-06-22  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c (g_makepath): New function. Creates a
	directory including intermediate parent directories as
	needed. (#60509)

	* glib/gfileutils.h: Declare it.

	* glib/glib.symbols: Add it.

	* tests/testglib.c: Test it.
2005-06-22 09:43:37 +00:00
Tor Lillqvist
477989f555 New function. Returns the machine's name, or one of its names. Document
2005-06-22  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (g_get_host_name): New function. Returns the
	machine's name, or one of its names. Document that it is
	best-effort only, and not guaranteed to be unique or anything.
	(g_get_any_init): Get the host name here. On Unix use
	gethostname(), on Windows use GetComputerName(). (#5200)

	* glib/gutils.h
	* glib/glib.symbols: Add here, too.

	* tests/testglib.c: Test it.
2005-06-22 08:54:28 +00:00
Matthias Clasen
3a7a096682 Add G_OPTION_FLAG_NO_ARG and G_OPTION_FLAG_FILENAME to allow greater
2005-06-18  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.h:
	* glib/goption.c: Add G_OPTION_FLAG_NO_ARG and
	G_OPTION_FLAG_FILENAME to allow greater control of
	G_OPTION_ARG_CALLBACK options. (#302632, Dan Winship)

	* tests/option-test.c: test callback args
2005-06-18 04:55:26 +00:00
Matthias Clasen
604ad5fa3d 2.7.0 2005-06-10 15:48:25 +00:00
Matthias Clasen
4c4f106344 Return an error if an option is missing its argument. (#305576, Björn
2005-05-27  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (parse_short_option, parse_long_option):
	Return an error if an option is missing its argument.  (#305576,
	Björn Lindqvist)

	* tests/option-test.c (missing_arg_test): Add a testcase.
2005-05-27 18:30:34 +00:00
Matthias Clasen
0c04a92b2b Check the return values of g_tree_remove().
2005-05-17  Matthias Clasen  <mclasen@redhat.com>

	* tests/tree-test.c (main): Check the return values of
	g_tree_remove().

	* glib/gtree.c (g_tree_remove, g_tree_steal): Return
	a boolean indicating wether the key was found.  (#302545,
	Matthew F. Barnes)
2005-05-17 15:33:36 +00:00
Manish Singh
645cd59cb8 Shut up CVS 2005-05-09 18:21:02 +00:00
Matthias Clasen
6e60dd8489 Add a testcase.
2005-05-06  Matthias Clasen  <mclasen@redhat.com>

	* tests/option-test.c: Add a testcase.

	* glib/goption.c (g_option_context_parse): Treat '-'
	on its own as a non-option argument.  (#168008, Tim Musson,
	Thomas Leonard and others)
2005-05-06 20:10:52 +00:00
Owen Taylor
2ae1a46b4c Add g_object_add/remove_toggle_ref() functions to get notification when a
2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * gobject.[ch] gobject.symbols: Add
        g_object_add/remove_toggle_ref() functions to get notification
        when a reference count is the last remaining reference; this
        enables better memory management for language bindings.
        (http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/gdataset.[ch] glib/gdatasetprivate.h: Add
        g_datalist_set/unset_flags(), g_datalist_get_flags() functions
        to squeeze some bits into a GDataSet... this is needed for
        efficient implementation of toggle references in GObject.

        * tests/gobject/references.c tests/gobject/Makefile.am:
        Add a test case for weak and toggle references.

        * glib/gfileutils.[ch]: Rename g_file_replace() back
        to g_file_set_contents().

        * glib/glib.symbols: Update.

2005-05-05  Owen Taylor  <otaylor@redhat.com>

        * glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
        Update

        * gobject/tmpl/objects.sgml: Document toggle-references.
2005-05-05 14:57:29 +00:00
Matthias Clasen
8e9a4d50df Add tests for g_date_get_iso8601_week_of_year().
2005-03-28  Matthias Clasen  <mclasen@redhat.com>

	* tests/date-test.c:
	* tests/testgdate.c: Add tests for
	g_date_get_iso8601_week_of_year().

	* glib/gdate.c (g_date_get_iso8601_week_of_year):
	Fix the calculation.  (#169858, Jon-Kare Hellan)
2005-03-28 05:22:56 +00:00
Tor Lillqvist
446c1f1aa8 Minor printout change, now identical as in glib-2-6 branch. 2005-03-20 20:08:23 +00:00
Tor Lillqvist
20378332ae Print more detailled output from the timer tests. Don't print home
2005-03-20  Tor Lillqvist  <tml@novell.com>

	* tests/testglib.c (main): Print more detailled output from the
	timer tests. Don't print home directory twice. Test
	g_win32_error_message().

	* tests/spawn-test.c (run_tests): On Win32, run netstat instead of
	ipconfig. On Windows XP collecting output from ipconfig doesn't
	seem to work for some reason.
2005-03-20 10:43:38 +00:00
Manish Singh
a145c9ed09 delete a bunch of dead code.
Sun Mar 13 22:01:17 2005  Manish Singh  <yosh@gimp.org>

        * tests/array-test.c: delete a bunch of dead code.
2005-03-14 06:01:51 +00:00
Sven Neumann
420410f035 include <gstdio.h>.
2005-03-10  Sven Neumann  <sven@gimp.org>

	* tests/file-test.c: include <gstdio.h>.
2005-03-10 17:12:35 +00:00
Sven Neumann
aec8923fa6 delay memory allocation until after the first read. Saves a bunch of
2005-03-10  Sven Neumann  <sven@gimp.org>

	* glib/gfileutils.c (get_contents_stdio): delay memory allocation
	until after the first read. Saves a bunch of reallocs. Also
	increased the buffer size to 4096 bytes. (bug #165954)

	* tests/file-test.c (test_get_contents): added a (very basic) test
	for g_file_get_contents().
2005-03-10 12:56:01 +00:00
Matthias Clasen
db0d5b6b61 Set LANGUAGE instead of LC_ALL to shield against LANGUAGE being set in the
2005-02-23  Matthias Clasen  <mclasen@redhat.com>

	* tests/keyfile-test.c (test_locale_string): Set LANGUAGE
	instead of LC_ALL to shield against LANGUAGE being set in
	the environment.  (#168311, Suren A. Chilingaryan)
2005-02-24 03:54:42 +00:00
Matthias Clasen
348da88e27 Don't write out of bounds.
2005-02-08  Matthias Clasen  <mclasen@redhat.com>

	* glib/gkeyfile.c (g_key_file_parse_value_as_string): Don't
	write out of bounds.

	* glib/goption.c (g_option_context_parse): Fix a
	one-too-short memory allocation.  (#166609, Nicolas Laurent)

	* tests/Makefile.am (TESTS_ENVIRONMENT): Add tests with
	MALLOC_CHECK_.

	* tests/option-test.c: Add a test for unkown short options.
2005-02-08 15:14:31 +00:00
Matthias Clasen
4a2773ee7b Add test case for key removal.
2005-02-01  Matthias Clasen  <mclasen@redhat.com>

	* tests/keyfile-test.c (test_key_remove): Add test case for
	key removal.

	* glib/gkeyfile.c (g_key_file_remove_key): Actually remove
	the key from the list of pairs.  (#165980, David Hoover)
2005-02-02 03:25:00 +00:00
Matthias Clasen
df59e8e19b Add test case for group removal.
2005-02-01  Matthias Clasen  <mclasen@redhat.com>

	* tests/keyfile-test.c (test_group_remove): Add test case for
	group removal.

	* glib/gkeyfile.c (g_key_file_remove_group): Don't segfault
	if the group doesn't exist.  (#165887, Mathias Hasselmann)
2005-02-01 14:10:46 +00:00
Matthias Clasen
396253b84d Some more unit tests.
2005-01-30  Matthias Clasen  <mclasen@redhat.com>

	* tests/keyfile-test.c: Some more unit tests.
2005-01-30 06:33:10 +00:00
Matthias Clasen
5d549e5bdb Let $srcdir default to .
2005-01-24  Matthias Clasen  <mclasen@redhat.com>

	* tests/run-markup-tests.sh: Let $srcdir default to .
2005-01-24 17:35:44 +00:00
Matthias Clasen
39a681995c Add a test with a long entity name.
2005-01-24  Matthias Clasen  <mclasen@redhat.com>

	* tests/markups/fail-40.gmarkup: Add a test with a long entity
	name.

	* glib/gmarkup.c (unescape_text_state_inside_entity_name): Don't
	copy the entity name into a short buffer of fixed length. Instead,
	compare it in place with strncmp(), and do a full strdup() in the
	error path.  (#165100, Simon Budig)
2005-01-24 17:25:37 +00:00
Manish Singh
c9d1c167f4 Shut up cvs 2005-01-21 23:28:48 +00:00
Matthias Clasen
3db329a613 Don't interpret leading zeros as octal. The specification requires %f
2005-01-20  Matthias Clasen  <mclasen@redhat.com>

	* glib/gkeyfile.c (g_key_file_parse_value_as_integer): Don't
	interpret leading zeros as octal. The specification requires
	%f parsing, and %f doesn't allow octal.

	* tests/keyfile-test.c: Add some more tests.
2005-01-20 17:16:47 +00:00
Matthias Clasen
9775edea89 Add some more tests.
2005-01-20  Matthias Clasen  <mclasen@redhat.com>

	* tests/keyfile-test.c: Add some more tests.

	* glib/gkeyfile.c (g_key_file_get_keys): Return keys in
	the order found in the file, rather than the opposite.
	(g_key_file_parse_value_as_string): Fix error reporting.
2005-01-20 15:31:55 +00:00
Matthias Clasen
92a710ba28 Accept \r\n as line end. (#163030, Bastian Nocera)
2005-01-19  Matthias Clasen  <mclasen@redhat.com>

	* glib/gkeyfile.c (g_key_file_parse_data): Accept \r\n as
	line end.  (#163030, Bastian Nocera)
	(g_key_file_load_from_data): Make -1 work as a size.

	* tests/keyfile-test.c: Some unit tests for the keyfile
	parser.

	* tests/Makefile.am (test_programs): Add keyfile-test.
2005-01-19 14:14:27 +00:00
Matthias Clasen
9d8c5bc757 Add some tests for '--' stripping.
2004-12-20  Matthias Clasen  <mclasen@redhat.com>

	* tests/option-test.c: Add some tests for '--'
	stripping.

	* glib/goption.c (g_option_context_parse): Don't
	strip '--' if it would be needed by a second option
	parser.  (#161701)
2004-12-20 21:09:16 +00:00