Commit Graph

291 Commits

Author SHA1 Message Date
George Lebl
80591652ff Add the init_by_array functionality from the reference implementation of
Fri Dec 19 11:49:21 2003  George Lebl <jirka@5z.com>

        * glib/grand.c
          glib/grand.h (g_rand_new) (g_rand_new_with_seed)
          (g_rand_new_with_seed_array) (g_rand_set_seed_array):  Add
          the init_by_array functionality from the reference implementation
          of the mersenne twister (mt19937ar.c) and change the naming
          to fit with the rest of the grand API.  New functions are
          g_rand_new_with_seed_array, g_rand_set_seed_array.  This is only
          reliable/tested for the 2.2 version of the seeding as that's what
          the reference implementation uses.  Also modify g_rand_new to
          get 4 longs from /dev/urandom since that will always be available
          anyway and we get more entropy and if /dev/urandom is unavailable
          use also 4 longs for seeding using secs, usecs, getpid and getppid.
          For version 2.0 use only a simple seed again but be more careful
          about seeding with secs/usecs in this case.

        * glib/grand.c
          glib/grand.h (g_rand_copy):  Add g_rand_copy function to copy the
          current state of the random number generator.

        * glib/grand.c (g_rand_new):  Add testing for EINTR when reading
          from /dev/urandom

        * tests/rand-test.c: add testing of the array seeding stuff against
          the reference implementation, plus add statistical sanity check
          to see that the values outputted are truly kind of random.  And
          check that g_rand_copy truly copies the state by checking a few
          terms.
2004-01-10 01:38:55 +00:00
Tim Janik
ba482c66c3 added convenience macros G_IMPLEMENT_INTERFACE() and G_DEFINE_TYPE() plus
Fri Jan  9 15:34:15 2004  Tim Janik  <timj@gtk.org>

        * gtype.h: added convenience macros G_IMPLEMENT_INTERFACE() and
        G_DEFINE_TYPE() plus variants.
2004-01-09 14:40:31 +00:00
Matthias Clasen
e09de99eb5 New function to call a function for each element of a GPtrArray. (#114790)
Fri Dec 26 02:03:58 2003  Matthias Clasen  <maclas@gmx.de>

	* glib/garray.[hc] (g_ptr_array_foreach): New function to
	call a function for each element of a GPtrArray.  (#114790)

	* tests/array-test.c (main): Add a test for g_ptr_array_foreach().
2003-12-26 01:04:12 +00:00
Noah Levitt
45b1590923 Add hangul composition and decomposition to unicode normalization.
2003-12-04  Noah Levitt  <nlevitt@columbia.edu>

	* glib/gunidecomp.c: Add hangul composition and decomposition to
	unicode normalization. (#100456)

	* tests/unicode-normalize.c: Test hangul.
2003-12-04 19:47:52 +00:00
Roozbeh Pournader
6e3b71aec3 Fixed a bad pointer comparison in g_ascii_strtod that came up in fa_IR
Wed Nov 26 16:45:16 2003  Roozbeh Pournader  <roozbeh@sharif.edu>

        * glib/gstrfuncs.c: Fixed a bad pointer comparison in
        g_ascii_strtod that came up in fa_IR locale (#126640, Behdad
        Esfahbod).

        * tests/strtod-test.c: Fixed the tests to catch the above.
2003-11-26 13:22:42 +00:00
Manish Singh
b5ae75aa4a Added G_GSIZE_FORMAT and friends.
Thu Nov 20 15:09:40 2003  Manish Singh  <yosh@gimp.org>

        * configure.in: Added G_GSIZE_FORMAT and friends.

        * tests/printf-test.c
        * tests/testglib.c
        * tests/type-test.c: Add tests for the above.
2003-11-20 23:12:05 +00:00
Manish Singh
2b78955298 Use GUINT_TO_POINTER for g_thread_create data.
Mon Nov 17 17:28:10 2003  Manish Singh  <yosh@gimp.org>

        * tests/thread-test.c (test_g_thread_once): Use GUINT_TO_POINTER
        for g_thread_create data.
2003-11-18 01:29:36 +00:00
Tor Lillqvist
d1a3a46ae8 Fix for MSVC build: Skip strtod-test, use correct glib libraries, with 2.0
2003-11-15  Tor Lillqvist  <tml@iki.fi>

	* tests/makefile.msc.in: Fix for MSVC build: Skip strtod-test, use
	correct glib libraries, with 2.0 in the names. (#126906, John
	Ehresman)
2003-11-15 03:08:57 +00:00
Morten Welinder
3b2f74d188 Handle the case where the to-be-inserted string is a substring of the
2003-11-05  Morten Welinder  <terra@gnome.org>

	* glib/gstring.c (g_string_insert_len): Handle the case where the
	to-be-inserted string is a substring of the target string.
	(g_string_assign): Handle "s = s;".
	(#114260, self.)
2003-11-05 16:24:44 +00:00
Matthias Clasen
c582b7ad60 Change the %e tests to not check for actual string equality, but rather
Tue Oct 28 23:38:30 2003  Matthias Clasen  <maclas@gmx.de>

	* tests/printf-test.c: Change the %e tests to not check for
	actual string equality, but rather equality under g_ascii_strtod(),
	since the number of leading digits in the exponent seems to
	be not exactly prescribed by SUS.
2003-10-28 22:40:51 +00:00
Manish Singh
da2474dd97 shut up cvs 2003-10-27 23:38:05 +00:00
Tor Lillqvist
5d097b8591 Force shared library (DLL) only on Windows. (I don't think that is
2003-10-24  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Force shared library (DLL) only on Windows.
	(I don't think that is controversial?) Remove unnecessary
	AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
	Win32, it is not used by mingw or MSVC headers.

	* config.h.win32.in
	* glibconfig.h.win32.in: Match what configure produces.

	* glib/gconvert.c
	* glib/gutils.c: Mark a couple of functions and variables that
	aren't public as static.

	* glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
	it potentially differently, to silence compiler.

	* glib/glib.def: Add some missing entries.

	* tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
	libtestgobject.

	* tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
	to g_object_set() and _get().
2003-10-24 03:41:22 +00:00
Owen Taylor
dfa8c540a1 === Released 2.3.0 ===
Thu Oct 23 12:38:24 2003  Owen Taylor  <otaylor@redhat.com>

        * === Released 2.3.0 ===

        * tests/gobject/Makefile.am (dist-hook): Remove
        and extra backslash.

        * tests/gobject/Makefile.am (EXTRA_DIST): Add
        testmarshal.list.

        * glib/Makefile.am (libglib_2_0_la_SOURCES): Add
        missing gunicode-private.h.

        * tests/testglib.c (main): Fix a warning.

        * tests/gobject/ifaceinherit.c: Remove check that
        wasn't supposed to work (adding an interface already
        added to the derived class to the base class),
        fix a bug.
2003-10-23 22:42:31 +00:00
Owen Taylor
7f2591cb0b Test for interface properties and GParamSpecOverride.
Tue Oct 14 17:44:38 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/gobject/ifaceproperties.c: Test for interface
        properties and GParamSpecOverride.
2003-10-21 19:15:07 +00:00
Owen Taylor
3e61c90b59 Test case for g_type_add_interface_check().
Thu Oct  2 01:15:46 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/gobject/ifacecheck.c: Test case for
        g_type_add_interface_check().

        * tests/gobject/ifaceinit.c: Add #undef G_DISABLE_ASSERT.
2003-10-02 05:28:00 +00:00
Owen Taylor
27d3ebfde3 Remove some tests that were testing things that weren't supposed to work;
Thu Oct  2 01:11:39 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/gobject/ifaceinherit.c: Remove some tests that
        were testing things that weren't supposed to work; add
        a test for adding an interface first to the child class,
        then to the parent class.
2003-10-02 05:13:21 +00:00
Owen Taylor
49d18d8d41 Tests of interface inheritance and overriding.
Thu Oct  2 00:02:55 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/gobject/Makefile.am test/gobject/ifaceinherit.c:
        Tests of interface inheritance and overriding.
2003-10-02 04:03:57 +00:00
Tor Lillqvist
b514888d16 Use hardcoded name for DLL, as there is no reliable way to determine it at
2003-09-29  Tor Lillqvist  <tml@iki.fi>

	* tests/testglib.c (main): Use hardcoded name for DLL, as there is
	no reliable way to determine it at compile or run time anyway.
2003-09-29 22:40:40 +00:00
Owen Taylor
a2ed74b5e3 .cvsignore update 2003-09-29 14:54:58 +00:00
Owen Taylor
2567305354 Dummy dynamic type module for testing type plugin code and dynamic types.
Thu Sep 25 15:43:08 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/gobject/testmodule.[ch] test/gobject/Makefile.am:
        Dummy dynamic type module for testing type plugin code
        and dynamic types.

        * test/gobject/defaultiface.c: Test of g_default_interface_ref,
        etc.
2003-09-29 14:54:39 +00:00
Owen Taylor
c577a8f05d Add gobject/.
Thu Sep 25 15:01:37 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/Makefile.am (SUBDIRS): Add gobject/.
2003-09-25 19:01:57 +00:00
Owen Taylor
4ec041d593 New directory, framework for automated GObject tests.
Fri Sep 12 16:26:21 2003  Owen Taylor  <otaylor@redhat.com>

        * tests/gobject/ configure.in: New directory, framework
        for automated GObject tests.

        * tests/gobject/override.c: Move testoverride.c
        here, automate.

        * tests/gobject/ifaceinit.c: Move testifaceinit.c here.

        * tests/gobject/accumulator.c: Test signal accumulators,
        including g_signal_accumulator_true_handled.
2003-09-12 20:37:09 +00:00
Owen Taylor
2f4c3d8a6d Add g_markup_printf_escaped(), g_markup_vprintf_escaped().
Thu Sep 11 20:11:05 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmarkup.c: Add g_markup_printf_escaped(),
        g_markup_vprintf_escaped().

        * tests/markup-escape-test.c (main): Test for
        g_markup_escape_text(), g_markup_printf_escaped().
2003-09-12 00:17:02 +00:00
Noah Levitt
8d91ba8c58 Unicode 4.0 special casing. (#114681)
2003-09-10  Noah Levitt  <nlevitt@columbia.edu>

	* glib/gunicodeprivate.h:
	* glib/gunicollate.c:
	* glib/gunidecomp.c:
	* glib/guniprop.c:
	* tests/casemap.txt:
	* tests/gen-casemap-txt.pl: Unicode 4.0 special casing. (#114681)

	* glib/gunicodeprivate.h: Use a private header instead of extern
	function declarations (_g_utf8_normalize_wc,
	_g_unichar_combining_class).
2003-09-10 16:55:36 +00:00
Tim Janik
558507bc5a added support for a "default vtable" per interface, that interface vtables
Tue Sep  2 19:37:21 2003  Tim Janik  <timj@gtk.org>

        * gtype.[hc]: added support for a "default vtable" per interface,
        that interface vtables are initialized from.
        the default vtable is initialized and finalized through class_init,
        class_finalize and class_data from the interfaces GTypeInfo struct.
        (type_data_last_unref_Wm): unload child plugin before unreffing
        parent type.

        testifaceinit.c: minor fixups. fixed up base_init() assertions, since
        with a default vtable, base_init() may be called multiple times.
        added default initializer to iface1.
2003-09-02 17:57:22 +00:00
Manish Singh
7dbe422777 shut up cvs 2003-08-28 02:20:17 +00:00
Matthias Clasen
3155dfd3dc Fix a C99ism. (#120821, Thomas Klausner)
2003-08-28  Matthias Clasen  <maclas@gmx.de>

	* tests/patterntest.c (verbose): Fix a C99ism.  (#120821, Thomas
	Klausner)
2003-08-27 22:27:41 +00:00
Owen Taylor
6bd3d8bcf6 Add a detailed test case for interface initialization, testing the ability
Wed Aug 27 01:25:40 2003  Owen Taylor  <otaylor@redhat.com>

        * Makefile.am testifaceinit.c: Add a detailed test case
        for interface initialization, testing the ability to
        add interfaces during class initialization and the ordering
        of interface base_init, class init, and interface_init.
        (Expected to fail at the moment.)
2003-08-27 05:28:39 +00:00
Tor Lillqvist
55d624d80c Fix #117925 (Dov Grobgeld):
2003-08-16  Tor Lillqvist  <tml@iki.fi>

	Fix #117925 (Dov Grobgeld):

	* glib/gutils.c (g_find_program_in_path, g_basename,
	g_path_get_basename, g_path_is_absolute, g_path_skip_root,
	g_path_get_dirname, g_get_any_init): On Win32, look also for
	slashes ('/') as pathname separators.

	* glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
	contains a pathname separator, include the actual one in the error
	message, instead of always the canonical one.

	(g_build_filename): Separate implementation on Win32 that looks
	for either slash or backslash. Document Unix/Windows differences.

	* tests/testglib.c
	* tests/strfunc-test.c: Test above functionality on Win32.
2003-08-16 19:45:25 +00:00
Matthias Clasen
18042ea064 Remove a test for getenv() behaviour which isn't specified by SUS and
2003-08-08  Matthias Clasen  <maclas@gmx.de>

	* tests/env-test.c (main): Remove a test for getenv() behaviour which isn't specified by SUS
	and doesn't work on Solaris.
2003-08-08 19:28:24 +00:00
Matthias Clasen
96838a7a88 Add tests for '=' in names and values.
2003-08-07  Matthias Clasen  <maclas@gmx.de>

	* tests/env-test.c: Add tests for '=' in names and values.

	* glib/gutils.c (g_setenv, g_unsetenv): Check that the variable name doesn't contain '='. Add a
	declaration for environ.  (#119338)
2003-08-07 21:51:38 +00:00
Matthias Clasen
d695d28b1b Specify test strings in UTF-8, remove all charset conversion. Replace the
2003-08-07  Matthias Clasen  <maclas@gmx.de>

	* tests/patterntest.c: Specify test strings in UTF-8, remove all charset conversion.
	Replace the NOISY define by a cmdline arg --noisy.   (#115757)
2003-08-07 19:39:36 +00:00
Noah Levitt
f1d488de09 Add test for special case not at inital position in the string, the bug
2003-08-06  Noah Levitt  <nlevitt@columbia.edu>

	* tests/casemap.txt:
	* tests/gen-casemap-txt.pl: Add test for special case not at inital
	position in the string, the bug just fixed. (#118957)
2003-08-06 20:28:33 +00:00
Hans Breuer
1fd50a1454 for msvc build
2003-08-05  Hans Breuer  <hans@breuer.org>

	* glib/gnulib/makefile.msc : (new file) for msvc build

	* glib/gnulib/vasnprintf.c : use glib/galloc.h

	* glib/gnulib/printf.h : #include <stdio.h> for FILE*

	* glib/makefile.msc.in : replace trio with gnulib

	* glib/glib.def : updated externals

	* glib/guniprop.c : fix for guniprop.c(582) : error C2082:
	redefinition of formal parameter 'len'
2003-08-05 22:21:19 +00:00
Noah Levitt
479928953b We do handle > BMP now, so test it.
2003-08-04  Noah Levitt  <nlevitt@columbia.edu>

	* tests/unicode-normalize.c: We do handle > BMP now, so test it.
2003-08-05 03:41:34 +00:00
Noah Levitt
2041e1c1e2 s/g_read_link/g_file_read_link/ (#118727)
2003-07-31  Noah Levitt  <nlevitt@columbia.edu>

	* tests/file-test.c: s/g_read_link/g_file_read_link/ (#118727)
2003-07-31 16:56:27 +00:00
Noah Levitt
03e4805ff4 Return nonzero exit status if the test fails. (#118729)
2003-07-31  Noah Levitt  <nlevitt@columbia.edu>

	* tests/unicode-encoding.c: Return nonzero exit status if the test fails. (#118729)
2003-07-31 16:51:52 +00:00
Noah Levitt
3b93b01219 Change instances of U+10ffff to U+10fffd, since that is the last valid
2003-07-31  Noah Levitt  <nlevitt@columbia.edu>

	* tests/utf8.txt: Change instances of U+10ffff to U+10fffd, since that
	is the last valid unicode character. Add check that U+10ffff is
	NOTUNICODE. (#118730)
2003-07-31 16:48:54 +00:00
Noah Levitt
05f99527eb Update Unicode data to 4.0. (#107974)
2003-07-30  Noah Levitt  <nlevitt@columbia.edu>

	* glib/gen-unicode-tables.pl:
	* glib/gunibreak.c:
	* glib/gunibreak.h:
	* glib/gunichartables.h:
	* glib/gunicode.h:
	* glib/gunicomp.h:
	* glib/gunidecomp.c:
	* glib/gunidecomp.h:
	* glib/guniprop.c:
	* tests/casefold.txt:
	* tests/casemap.txt:
	* tests/gen-casefold-txt.pl:
	* tests/gen-casemap-txt.pl: Update Unicode data to 4.0. (#107974)
2003-07-31 02:27:56 +00:00
Matthias Clasen
3c51de64fe Integrate gnulib vasnprintf(). 2003-07-28 23:00:05 +00:00
Matthias Clasen
355eb38190 New function g_read_link(). (#72545)
* glib/gfileutils.h:
	* glib/gfileutils.c: New function g_read_link(). (#72545)
2003-07-28 19:49:47 +00:00
Matthias Clasen
76cc9a77c6 Add tests for g_{get,set,unset}env(). 2003-07-28 19:30:05 +00:00
Matthias Clasen
5eb34aa96e test suite additions. 2003-07-26 09:24:46 +00:00
Hans Breuer
2781d5f6b3 for msvc build
2003-07-20  Hans Breuer  <hans@breuer.org>

	* glib/trio/makefile.msc : (new file) for msvc build

	* glib/glib.def : removed some duplicated entries

	* glib/gscanner.c : add same workaround for MSVC(5.0)
	which does not allow to cast an uint64 to float.
	Same as in gvaluetransform.c
	Also move #include <io.h> behind inclusion of "glib.h"
	which defines the needed G_OS_WIN32

	* glib/makefile.msc.in : added gprintf.obj, trio\trio.lib
	as well as shell32.lib

	* tests/spawn-test.c : include <io.h> on win32
2003-07-20 15:55:09 +00:00
Matthias Clasen
876f907863 Support for one-time initialization functions. (#69668, Sebastian
2003-07-09  Matthias Clasen  <maclas@gmx.de>

	Support for one-time initialization functions.  (#69668, Sebastian Wilhelmi)

	* configure.in: Check whether double checked locking is safe, define g_once() in
	glibconfig.h accordingly.
	* glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl.
	* glib/gthread.c (g_once_impl): Fallback implementation using a mutex if double checked
	locking is unsafe.
	* tests/thread-test.c: Add tests for g_once().
2003-07-08 23:43:48 +00:00
Matthias Clasen
cc777da9c1 Use g_vasprintf() and g_string_append_len(), thus enabling embedded nuls
2003-06-06  Matthias Clasen  <maclas@gmx.de>

	* glib/gstring.c (g_string_append_printf_internal): Use
	g_vasprintf() and g_string_append_len(), thus enabling embedded
	nuls in the result of g_string_printf().  (#92492, Owen Taylor)

	* tests/string-test.c: Add a test for embedded nuls in the
	result of g_string_printf().
2003-06-05 23:04:21 +00:00
Matthias Clasen
25e8ae683e Remain silent when sucessful.
2003-05-28  Matthias Clasen  <maclas@gmx.de>

	* tests/patterntest.c: Remain silent when sucessful.

	* tests/Makefile.am: Add patterntest to make check.  (#113143,
	Zach Frey)
2003-05-27 22:12:40 +00:00
Matthias Clasen
306d5e2b6b Get rid of UNSAFE_DOS_PATH. (acceptable): Align with RFC2396. (#59653)
2003-03-30  Matthias Clasen  <maclas@gmx.de>

	* glib/gconvert.c (UnsafeCharacterSet): Get rid of
	UNSAFE_DOS_PATH.
	(acceptable): Align with RFC2396.  (#59653)

	* tests/uri-test.c: Adjust to the changes above.
2003-03-30 21:24:58 +00:00
James Henstridge
c4391cbf37 require automake 1.7. Add calls to libtoolize and gtkdocize. Clean up some
2003-03-01  James Henstridge  <james@daa.com.au>

    * autogen.sh: require automake 1.7.  Add calls to libtoolize and
    gtkdocize.  Clean up some of the error messages.

    * configure.in: move version declaration to the top of the file
    (before AC_INIT), using M4 macros.
    GLIB_AC_DIVERT_BEFORE_HELP() calls no longer necessary, due to use
    of M4 macro expansion in help messages instead.
    Convert AC_ARG_WITH/AC_ARG_ENABLE calls to use AC_HELP_STRING to
    format help strings.  Use quadrigraphs to get square brackets to
    show correctly.
    Replace gtk-doc checks with a call to GTK_DOC_CHECK() macro.
    Use AC_CONFIG_COMMANDS([glibconfig.h], ...) to output
    glibconfig.h, so that "./config.status glibconfig.h" works.
    Add an extra AC_CONFIG_FILES call listing other files we want
    generated by config.status protected by an "if false" block.  This
    way automake generates the rules needed to rebuild the files for
    us.
    Add quotes in various places.

    * docs/reference/*/Makefile.am: convert to use the common
    gtk-doc.make file.  This localises the complexity to a single
    makefile fragment maintained with gtk-doc itself.

    * */Makefile.am: remove unneeded rules to build win32 files with
    config.status.  Automake now does this for us.
    Replace instances of @FOO@ with $(FOO) where appropriate -- this
    allows automake to do a better job checking the makefile.
    Add some files to DISTCLEANFILES where appropriate

    * Makefile.am: use the DISTCHECK_CONFIGURE_FLAGS variable to
    ensure that --enable-gtk-doc is passed to configure during a
    distcheck.  Remove the custom distcheck, since the standard one
    will now do.

    * gobject/Makefile.am: switch to BUILT_SOURCES, since that now
    works.
2003-03-04 10:10:48 +00:00
Matthias Clasen
37e7e80e5b Add a test for positional parameters in g_snprintf(). Use g_printf()
* tests/string-test.c: Add a test for positional parameters in
	g_snprintf().
	* glib-genmarshal.c, gobject-query.c: Use g_printf() instead of
	system printf.  (#99319)
2002-12-12 23:52:29 +00:00