Commit Graph

31 Commits

Author SHA1 Message Date
Matthias Clasen
ab328469f5 Silence automake
automake doesn't like INCLUDES anymore.
2013-02-02 22:54:15 -05:00
Ryan Lortie
c2055f22f4 gtype: disallow adding interfaces after the fact
Add a check to prevent adding an interface to a class that has already
had its class_init done.

This is an incompatible change but it is suspected that there are not
many users of this functionality.  Two known exceptions are pygobject
(fixed in bug 686149) and our own testsuite (affected tests have been
temporarily disabled by this patch).

Once we confirm that nobody else is using this functionality we can
remove a rather large amount of code for dealing with this case.

https://bugzilla.gnome.org/show_bug.cgi?id=687659
2013-01-04 21:20:04 +01:00
Rico Tzschichholz
efa7b5f1e7 Revert "gtype: disallow adding interfaces after the fact"
This reverts commit d6a075b0d8.
2013-01-04 20:25:46 +01:00
Ryan Lortie
5df1edaf70 gtype: disallow adding interfaces after the fact
Add a check to prevent adding an interface to a class that has already
had its class_init done.

This is an incompatible change but it is suspected that there are not
many users of this functionality.  Two known exceptions are pygobject
(fixed in bug 686149) and our own testsuite (affected tests have been
temporarily disabled by this patch).

Once we confirm that nobody else is using this functionality we can
remove a rather large amount of code for dealing with this case.

https://bugzilla.gnome.org/show_bug.cgi?id=687659
2012-12-18 21:37:07 +01:00
Rico Tzschichholz
d1ab41c940 Revert "gtype: disallow adding interfaces after the fact"
This reverts commit d6a075b0d8.
2012-12-18 21:23:13 +01:00
Ryan Lortie
d6a075b0d8 gtype: disallow adding interfaces after the fact
Add a check to prevent adding an interface to a class that has already
had its class_init done.

This is an incompatible change but it is suspected that there are not
many users of this functionality.  Two known exceptions are pygobject
(fixed in bug 686149) and our own testsuite (affected tests have been
temporarily disabled by this patch).

Once we confirm that nobody else is using this functionality we can
remove a rather large amount of code for dealing with this case.

https://bugzilla.gnome.org/show_bug.cgi?id=687659
2012-11-05 13:20:28 -05:00
Colin Walters
f6da43f56c build: Ensure we #include header files for glib-genmarshal code
Otherwise we fail with -Werror=missing-prototypes.

https://bugzilla.gnome.org/show_bug.cgi?id=687385
2012-11-01 20:12:01 -04:00
Ryan Lortie
fd382156b8 tests: disable deprecation warnings for tests
We need to test deprecated functions, so don't warn us for doing so.
2011-10-13 10:51:35 -04:00
Matthias Clasen
bf1027f826 Move ifaceproperties test to gobject/tests/ 2010-12-27 23:49:12 -05:00
Ryan Lortie
b3b7ea8e22 Replace -I with $(glib_INCLUDES) and friends
Stop using ad hoc -I in all of our Makefile.am.  Use the new variables
instead.
2010-08-06 13:10:34 -04:00
paul
9f6faaffb6 Add $(top_builddir)/glib to includes
This is required to find glibconfig.h during srcdir != builddir builds
2010-08-05 09:08:34 -04:00
Christian Persch
1b8ee5196e Sprinkle some $(AM_V_GEN) around to make the build more silent. 2010-06-15 22:01:02 -04:00
Ryan Lortie
3e30e8a87e make tests not dynamic link against /lib/libglib
For some reason, even though the tests are linked against libgobject.la
and libgobject.la mentions libglib.la as a dependency, the tests are
running against the system glib instead of the in-tree one.

Adding the libglib.la file as an explicit LDFLAG fixes it.
2010-02-10 11:35:01 -05:00
Alexander Larsson
f4d9789fcf Add gobject performance tests for threaded code
This measures how much things like lock contention affects the gobject
code.
2009-10-02 21:02:48 +02:00
Alexander Larsson
b1f94af095 Add performance tests for GObject primitives
These are basic performance test for a couple of basic gobject
primitives:

* construction of simple objects. Simple is a bare gobject derived
  class with no properties, signals or interfaces.

* construction of complex objects. Complex is a gobject subclass
  with construct properties, normal properties, signals, and
  implements an interface.

* run-time type check of complex objects

* signal emissions

Lots of care is taken to try to make the results reproducible. Each
test is run for multible "rounds", where we try to make each round be
"not too short" in order to be significant wrt timer accuracy, but
also "not to long" to make the probability of some other random event
happening on the system (interrupts, other process scheduled, etc)
during the round less likely.
The current target round time is 4 msecs, which was picked without
rigour, but seems small wrt e.g. scheduler time.

For each test we then run the calculated round size for 60 seconds,
and then report the performance based on the minimal time of one
round. The model here is that any random stuff that happens during a
round can only slow it down, there is nothing that can make it go
faster, so the minimal time is the best estimate of how fast one round
goes.

The result is not ideal, even on a "idle" system the results vary
from round to round, but the variation seems to be less than 1%.
So, any performance difference reported by this test over 1% is
probably statistically significant.

Additionally the tests can be run with or without threads being
initialized. The script tests/gobject/run-performance.sh makes
it easy to produce a performance report for the current checkout.

https://bugzilla.gnome.org/show_bug.cgi?id=557100
2009-10-02 21:02:23 +02:00
21:06:47 Tim Janik
1e55738f31 initialize automake variables EXTRA_DIST and TEST_PROGS for unconditional
2007-11-21 21:06:47  Tim Janik  <timj@imendio.com>

	* Makefile.decl: initialize automake variables EXTRA_DIST and
	TEST_PROGS for unconditional appending via += in other makefiles.
	define recursive test targets: test, test-report, perf-report,
	full-report, as described here:
      http://mail.gnome.org/archives/gtk-devel-list/2007-November/msg00000.html

	* Makefile.am:
	* build/win32/vs8/Makefile.am, build/win32/dirent/Makefile.am:
	* build/win32/Makefile.am, build/Makefile.am:
	* docs/Makefile.am, docs/reference/Makefile.am:
	* docs/reference/glib/Makefile.am, docs/reference/gobject/Makefile.am:
	* gmodule/Makefile.am, tests/Makefile.am:
	* tests/refcount/Makefile.am, tests/gobject/Makefile.am:
	* glib/update-pcre/Makefile.am, glib/libcharset/Makefile.am:
	* glib/tests/Makefile.am, glib/pcre/Makefile.am:
	* glib/gnulib/Makefile.am, gobject/Makefile.am, m4macros/Makefile.am:
	* gthread/Makefile.am, glib/Makefile.am:
	include $(top_srcdir)/Makefile.decl, adapted EXTRA_DIST assignments.

	* glib/tests/Makefile.am: removed example testing rules.

	* glib/tests/testing.c: conditionalized performance and slow tests.

	* glib/gtestutils.h:
	* glib/gtestutils.c: work around g_test_config_vars not changing its
	exported value after value assignments, aparently due to symbol aliases.

	* glib/gtester.c: fixed off-by-one error which produced junk in logs.

	* configure.in: check for python >= 2.4 and provide $PYTHON for scripts.


svn path=/trunk/; revision=5914
2007-11-21 20:09:46 +00:00
Matthias Clasen
ab74710386 Handle missing $RANDOM
svn path=/trunk/; revision=5435
2007-03-23 06:27:58 +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
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
Tim Janik
a7e1f29f03 added test code from Behdad Esfahbod, see #337128.
Tue May  2 15:00:00 2006  Tim Janik  <timj@gtk.org>

        * tests/gobject/deftype.c: added test code from Behdad Esfahbod,
        see #337128.
2006-05-02 13:01:10 +00:00
Matthias Clasen
c773a618e3 Add paramspec-test
2006-02-18  Matthias Clasen  <mclasen@redhat.com>

	* tests/gobject/Makefile.am: Add paramspec-test

	* tests/gobject/paramspec-test.c: Some GParamSpec tests.
2006-02-18 21:07:18 +00:00
Matthias Clasen
9948add142 broken commit 2005-12-05 16:39:34 +00:00
Matthias Clasen
320711e224 Add it here.
2005-08-09  Matthias Clasen  <mclasen@redhat.com>

	* tests/gobject/Makefile.am (test_programs): Add it here.

	* tests/gobject/gvalue-test.c: Beginning of a test suite
	for GValue.
2005-08-09 19:20:33 +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
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
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
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
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