267 Commits

Author SHA1 Message Date
Matthias Clasen
7c045e3423 Correct to docs for g_strcmp0
Don't promise to return -1 or 1 - we fall back to strcmp which
does not guarantee this.
https://bugzilla.gnome.org/show_bug.cgi?id=685037
2012-09-30 13:40:48 -04:00
Colin Walters
6e64ba58b9 Switch all open() calls to use g_open()
Because it now handles EINTR.  And we should do so.  While most people
use Linux, which tries very hard to avoid propagating EINTR back up
into userspace, it can still happen.

https://bugzilla.gnome.org/show_bug.cgi?id=682833
2012-08-28 13:56:59 -04:00
Dan Winship
0c0cdfd9c4 gtestutils: add g_test_add_data_func_full()
Like g_test_add_data_func(), but includes a GDestroyNotify for the
test data.

https://bugzilla.gnome.org/show_bug.cgi?id=682560
2012-08-27 07:31:13 -04:00
Matthias Clasen
bf3262dd93 GTest: Improve --help output
https://bugzilla.gnome.org/show_bug.cgi?id=550433
2012-08-16 21:33:04 -04:00
Matthias Clasen
8db4b949b8 Always use '/' in test paths
It does not make much sense to use a platform-dependent
directory separator in these strings, since they are not
filesystem paths.

https://bugzilla.gnome.org/show_bug.cgi?id=673216
2012-04-06 20:52:15 -04:00
Dieter Verfaillie
8e740f726f Fix malformed GTK-Doc comment blocks: add missing colons.
Found these thanks to improved gobject-introspection GTK-Doc
comment block/annotation parser from:
https://bugzilla.gnome.org/show_bug.cgi?id=672254

https://bugzilla.gnome.org/show_bug.cgi?id=673385
2012-04-05 10:23:39 -03:00
Robert Ancell
4143842eb4 Add missing allow-none annotations for function parameters.
Found using:
find . -name '*.c' | xargs grep 'or %NULL' | grep ' \* @' | grep -v '@error' | grep -v allow-none
2012-03-31 20:34:28 +11:00
Alexander Larsson
f23e7c3ef9 Fix the tests on win32
There was some unix-specific pathname handling in the test utils
which broke the css tests on win32.
2012-03-20 10:20:18 +01:00
Simon McVittie
2fe964eeb1 Mention g_test_undefined() when documenting assert_failed, assert_stderr
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666116
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Colin Walters <walters@verbum.org>
2012-01-05 15:47:50 +00:00
Simon McVittie
993de34a77 Add undefined/no-undefined mode options to GTester
https://bugzilla.gnome.org/show_bug.cgi?id=666116
2011-12-27 17:51:11 -05:00
Simon McVittie
5cb29d7909 Clarify documentation of fast/slow/thorough and quiet/verbose tests
It turns out that there is no middle setting between fast and
slow/thorough, but there *is* a middle setting between quiet and verbose.

https://bugzilla.gnome.org/show_bug.cgi?id=666116
2011-12-27 17:51:04 -05:00
Stef Walter
7e92997539 documentation fixes
Fixes for gtk-doc warnings.

http://bugzilla.gnome.org/show_bug.cgi?id=66469

https://bugzilla.gnome.org/show_bug.cgi?id=664699
2011-12-13 23:01:51 -05:00
Carlos Garcia Campos
4ce5a11daf gtester: Add command line option to skip tests
https://bugzilla.gnome.org/show_bug.cgi?id=664809
2011-11-27 14:33:47 +01:00
Matthias Clasen
793ff83527 Move test docs inline 2011-10-01 22:00:41 -04:00
Ryan Lortie
37c740d509 Don't #include <glib/gslice.h> from gmem.h
It looks like this was done just to help people port from gmem to
gslice, but nothing in this header actually requires gslice.h to be
included.
2011-09-18 22:07:18 -04:00
Ryan Lortie
3b25e975b3 gtk-doc fixups for glib/ 2011-09-05 11:30:58 -04:00
Matthias Clasen
dc38967fd3 Don't call close on invalid fds
If an fd is -1, don't call close() on it, since that leads to
EBDAF and complaints from valgrind.

https://bugzilla.gnome.org/show_bug.cgi?id=657593
2011-08-29 15:21:15 -04:00
Ryan Lortie
5dbc12e9f1 Replace @Varargs with @...
to make gtk-doc happy.
2011-07-22 15:47:24 +02:00
Matthias Clasen
3d3659c1b6 Documentation additions
Add Since tags to recently introduced test function typedefs.
https://bugzilla.gnome.org/show_bug.cgi?id=649506
2011-05-06 07:14:48 -04:00
Matthias Clasen
ba5c9bd39f Remove extraneous decorations
Since in a doc comment takes no leading '@'.
2011-05-03 19:15:46 -04:00
Benjamin Otte
d5dc79c0b0 API: testutils: Add g_test_fail()
This allows tests to fail in a nonfatal way and the test runner can
continue if invoked with -k.

https://bugzilla.gnome.org/show_bug.cgi?id=647826
2011-04-18 14:52:29 +02:00
Benjamin Otte
9a12103259 testutils: Sprinkle code with newlines
Readable code ftw!
2011-04-18 14:49:51 +02:00
Benjamin Otte
d259d50afd testutils: Return number of bad tests from g_test_run_suite_internal()
In particular do not return a boolean disguised as an int.
2011-04-18 14:49:51 +02:00
Benjamin Otte
62e68ceec8 testutils: Remove unused variable 2011-04-18 14:49:51 +02:00
Benjamin Otte
19fdb18ef8 testutils: Return a boolean from g_test_case_run()
Return value is intened to be TRUE for success, FALSE for failure.
Currently we return TRUE all the time.
Previously the test returned 0 all the time.
2011-04-18 14:49:51 +02:00
Ryan Lortie
7791fce38a Fix some glib docs warnings
Remove some symbols from glib-sections.txt that gtk-doc has no idea
about.

Add proper callback typedefs for GTester (gtk-doc dislikes inline
function types).

Fix some other minor issues.
2010-07-12 16:56:52 -04:00
Ryan Lortie
2e53e50244 glib/: fully remove galias hacks 2010-07-07 19:34:35 -04:00
Milan Bouchet-Valat
b116838da3 Improve documentation for g_strcmp0()
Be more explicit about the handling of two NULL pointers.

https://bugzilla.gnome.org/show_bug.cgi?id=622480
2010-06-23 14:35:42 +02:00
Sven Herzberg
6c02c99df0 don't treat debug/info/message as fatal messages by default
* glib/gtestutils.c: don't treat non-fatal messages as errors
* glib/tests/.gitignore: silence
* glib/tests/Makefile.am: updated
* glib/tests/protocol.c: add a test for the message treatment
2010-06-21 12:34:44 +02:00
Matthias Clasen
a0c044b5c6 Make g_assertion_message_error take a const GError*
This was requested in bug 620265.
2010-06-06 16:42:06 -04:00
Javier Jardón
21302a741c Clean Glib header #include issues: gtestutils 2010-05-06 17:42:09 +02:00
Ryan Lortie
1d55cfb51e don't #include <glib.h> from other public headers
fix up some problems that were hidden by that
2010-01-30 00:01:26 -05:00
Martin Pitt
3658727cfa always use our own internal assertion message symbol
Re-using glibc's __abort_msg symbol causes linking problems, since the symbol
is declared private. Always use our own__glib_abort_msg symbol to store
assertion messages, to avoid compatibility and linking problems.

Also fix the test case to work with out of tree builds (such as "make
distcheck"), and re-enable it.

https://bugzilla.gnome.org/show_bug.cgi?id=594872
2010-01-26 11:22:31 +01:00
Martin Pitt
da66897950 Support storing assertion messages into core dump
Crash interception/debugging systems like Apport or ABRT capture core dumps for
later crash analysis. However, if a program exits with an assertion failure,
the core dump is not useful since the assertion message is only printed to
stderr.

glibc recently got a patch which stores the message of assert() into the
__abort_msg global variable.
(http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=48dcd0ba)
That works fine for programs which actually use the standard C assert() macro.

This patch adds the same functionality for glib's assertion tests. If we are
building against a glibc which already has __abort_msg (2.11 and later, or
backported above git commit), use that, otherwise put it into our own field
__glib_assert_msg.

Usage:

  $ cat test.c
  #include <glib.h>

  int main() {
      g_assert(1 < 0);
      return 0;
  }

  $ ./test
  **ERROR:test.c:5:main: assertion failed: (1 < 0)
  Aborted (Core dumped)

  $ gdb --batch --ex 'print (char*) __abort_msg' ./test core
  [...]
  $1 = 0x93bf028 "ERROR:test.c:5:main: assertion failed: (1 < 0)"

https://bugzilla.gnome.org/show_bug.cgi?id=594872
2009-12-23 15:51:11 +00:00
Christian Dywan
278ac0a45d Bug 579050 Allow making selected critical and warning messages non-fatal
Implement g_test_log_set_fatal_handler which is a function similar to
g_log_set_default_handler but for use in unit tests where certain
errors have to be ignored because it is not possible to fix or avoid
them otherwise. A unit test is added.
2009-09-10 16:45:49 +02:00
Matthias Clasen
cc1dc5ce20 Improve docs
svn path=/trunk/; revision=7805
2009-01-13 02:24:46 +00:00
Christian Dywan
215c04ce6c Bug 558513 – g_warn_if_fail FIXME in gtestutils
* glib/gtestutils.c (g_test_log_send):
Turn g_assert into g_warn_if_fail as advised

svn path=/trunk/; revision=7637
2008-10-31 09:56:19 +00:00
Dan Winship
5c53925ed0 Bug 553447 $(Q#|(B g_assert_no_error()
* glib/gtestutils.h (g_assert_no_error, g_assert_error): Macros to
	assert that a GError is not set, or else is set to a particular
	error.

	* glib/gtestutils.c (g_assertion_message_error): utility for
	those macros

	* glib/tests/keyfile.c:
	* tests/asyncqueue-test.c:
	* tests/bookmarkfile-test.c:
	* tests/convert-test.c:
	* tests/file-test.c: Use g_assert_error/g_assert_no_error

svn path=/trunk/; revision=7555
2008-09-27 01:43:29 +00:00
Matthias Clasen
8f85da0b5e Add required includes
svn path=/trunk/; revision=7452
2008-09-10 22:39:05 +00:00
Christian Dywan
2201cae29a Bug 550433 – g_test_init doesn't recognize --help
* glib/gtestutils.c (parse_args): Add detailed --help output

svn path=/trunk/; revision=7442
2008-09-08 08:25:29 +00:00
12:41:26 Tim Janik
6011a022d9 changed assertion messages, so older emacsen can also detect failing
2008-08-15 12:41:26  Tim Janik  <timj@imendio.com>

	* glib/gtestutils.c: changed assertion messages, so older emacsen
	can also detect failing source file and line, fixes:
	Bug 502498 – Test framework assertion failures should follow gcc error format


svn path=/trunk/; revision=7358
2008-08-15 10:44:57 +00:00
Matthias Clasen
b0c9ea5ca3 Move docs around
svn path=/trunk/; revision=7041
2008-06-15 00:49:30 +00:00
Matthias Clasen
52e1e9304a Documentation fixups
svn path=/trunk/; revision=7024
2008-06-12 06:18:14 +00:00
Matthias Clasen
8882576e90 hex, I mean it
svn path=/trunk/; revision=7019
2008-06-11 22:00:06 +00:00
Matthias Clasen
ce40942306 Bug 528667 – Typos in testing module documentation
* glib/gtestutils.c: Fix typos in the documentation.


svn path=/trunk/; revision=6899
2008-05-17 05:52:36 +00:00
Matthias Clasen
ba16f88961 Fix a doc typo. (#524742, Hiroyuki Ikezoe)
2008-03-30  Matthias Clasen  <mclasen@redhat.com>

        * glib/gtestutils.c: Fix a doc typo. (#524742, Hiroyuki Ikezoe)



svn path=/trunk/; revision=6771
2008-03-31 03:17:54 +00:00
Matthias Clasen
0d77163892 Add Since: markers to docs. (#518556, Jerry Yu)
2008-02-25  Matthias Clasen  <mclasen@redhat.com>

        * glib/gtestfuncs.c: Add Since: markers to docs.  (#518556,
        Jerry Yu)

svn path=/trunk/; revision=6592
2008-02-25 18:24:30 +00:00
Matthias Clasen
7c7cd785f5 Documentation updates
svn path=/trunk/; revision=6561
2008-02-23 05:06:18 +00:00
Tor Lillqvist
87d23f18ec Change the g_error() to g_message() to avoid stopping on warnings. At
2008-02-20  Tor Lillqvist  <tml@novell.com>

	* glib/gtestutils.c (g_test_trap_fork) [Win32]: Change the
	g_error() to g_message() to avoid stopping on warnings. At least
	now testglib runs to completion and the old tests in it get
	exercised even if the newfangled ones don't.
	(g_test_trap_assertions) [Win32]: Bypass on Windows.


svn path=/trunk/; revision=6542
2008-02-19 22:53:58 +00:00
Matthias Clasen
92aaf63ec0 Fix a typo
svn path=/trunk/; revision=6499
2008-02-11 17:35:44 +00:00