4791 Commits

Author SHA1 Message Date
Ryan Lortie
f062fae4d6 GOptionContext: add memory-friendly parse mode
Add g_option_context_parse_strv() that obeys the normal memory conventions for
dealing with a strv instead of assuming that we're dealing with the 'argv'
parameter to main().

This will help for using GOptionContext with GApplication.

https://bugzilla.gnome.org/show_bug.cgi?id=721947
2014-01-10 12:32:35 -05:00
Dan Winship
86497649bb Document g_test_run() order better, and how it changed
But also note that the ordering is strictly an aesthetic/convenience
thing, and that tests should not be written to depend on it.

https://bugzilla.gnome.org/show_bug.cgi?id=721624
2014-01-07 12:32:35 -05:00
Claudio Saavedra
0e109fceab glib/tests: fix build 2014-01-07 11:33:14 +02:00
Chun-wei Fan
6bd30a4cb9 glib/tests/keyfile.c: Use g_close()
Use g_close() instead, as close() is really found in io.h on Windows, not
unistd.h as on Unix, and hence unistd.h is not universally available.

https://bugzilla.gnome.org/show_bug.cgi?id=719344
2014-01-07 13:36:31 +08:00
Chun-wei Fan
8bb81e7024 glib/tests/date.c: Fix the tests on non-English Windows
The names of the month (and abbreviations) are specific to the Windows
system locale, so we need to use SetThreadLocale() to set the locale of
the running program to en-US so that it will parse "March" and "Sept" etc.
correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=719344
2014-01-07 13:35:16 +08:00
Rico Tzschichholz
b3253fe025 glib/tests: Fix non-debug build of slice test
In addition to e013cf9cad56e919af2f057eb52d58371483a6f8
2014-01-04 18:46:52 -05:00
Jasper St. Pierre
33f81cc509 tests/keyfile: Fix build 2014-01-04 01:40:27 -05:00
Chun-wei Fan
3fd6edab66 Fix the Keyfile Test on Windows
Windows will not allow one to write to a temp file opened by g_mkstemp()
by opening another fd associated with it before one closes the fd that
is returned by g_mkstemp(), which will cause the test_save test to fail.

Fix this by using a variable to store the fd from g_mkstemp() and checking
it, and call close() on that variable before attempting to call
g_key_file_save_to_file() on the temp file as that will attempt to open
another fd (which would not work) associated with that temp file.

https://bugzilla.gnome.org/show_bug.cgi?id=719344
2014-01-04 10:42:28 +08:00
Ryan Lortie
1867fc210f unix signals: stop using atomics
They are not required here.  See the discussion in the bug report.

https://bugzilla.gnome.org/show_bug.cgi?id=711090
2014-01-02 20:38:40 -05:00
Matthias Clasen
d25b655bf5 Make symlink test work installed
We can't assume that the location used for G_TEST_DIST paths
is writable, so just create the symlink in the current directory
instead.
2014-01-01 23:28:23 -05:00
Matthias Clasen
d91023fb4c Drop locale-dependent timeval tests 2014-01-01 22:39:32 -05:00
Matthias Clasen
6106e38c8e Make timeval tests independent of the environment
Some of the tested formats are locale-dependent, so unset
the TZ environment variable before testing them.
2014-01-01 21:41:16 -05:00
Ryan Lortie
76584e7ae3 Fix races in unix signal dispatch
Fix some races introduced in be2c7b83c4a9c9d3aa76b1499c27ab19e0f4e470
while keeping the property that multiple handlers for the same unix
signal all get dispatched.

Also fix the behaviour of the source checking for pending signals when
it's created.  No matter what we do here (clear the pending flag or not)
there is something that can go wrong.

If we clear the flag, we may prevent other sources from being
dispatched.  If we don't clear it, we may end up dispatching the same
source twice (if we manage to dispatch it from its own thread before the
GLib worker has a chance to run).

Instead, run the full dispatch procedure when a new source is added.  It
actually doesn't matter what thread this runs in since the lock is held.

https://bugzilla.gnome.org/show_bug.cgi?id=711090
2014-01-01 19:19:59 -05:00
Matthias Clasen
f9f7ad2557 Improve gutils.c test coverage 2014-01-01 17:59:22 -05:00
Matthias Clasen
3de604d438 Improve GDate test coverage 2014-01-01 17:59:22 -05:00
Matthias Clasen
5e6d86877d Improve GIOChannel test coverage 2014-01-01 17:59:22 -05:00
Matthias Clasen
5ec36cd02a Improve hostutils test coverage 2014-01-01 17:59:22 -05:00
Matthias Clasen
baceea9582 Improve GVariant test coverage 2014-01-01 17:59:22 -05:00
Matthias Clasen
ec0d6d7812 Test stdio wrappers 2014-01-01 17:59:22 -05:00
Matthias Clasen
93dad4808e Trivial typo fix 2014-01-01 17:59:22 -05:00
Matthias Clasen
90aa4ed0a0 Improve charset test coverage 2014-01-01 17:59:22 -05:00
Matthias Clasen
4f0a13effc Add tests for g_malloc 2014-01-01 17:59:22 -05:00
Matthias Clasen
58cdf0b474 Drop memory-related trap variables
These are just more lo-tech conditional breakpoint wannabes.
Debuggers can be trusted to support conditional breakpoints
nowadays.
2014-01-01 17:59:22 -05:00
Matthias Clasen
6d3b83a8c1 Improve GAsyncQueue test coverage 2014-01-01 17:59:22 -05:00
Matthias Clasen
9a2c8d89c7 Improve test coverage of g_utf8_collate_key_for_filename
The existing tests were accidentally using the same test data
twice. Fix that, and add another set of tests that exercise
the filename collation special cases.
2014-01-01 17:59:22 -05:00
Matthias Clasen
32e0499c56 Add tests for g_spaced_primes_closest 2014-01-01 17:59:22 -05:00
Matthias Clasen
4989cb4dde Improve GOptionContext test coverage 2014-01-01 17:59:22 -05:00
Matthias Clasen
d6bd36c699 Improve GBookmarkFile test coverage 2014-01-01 17:59:22 -05:00
Matthias Clasen
14359e17c9 GBookmarkFile: Streamline error handling a bit 2014-01-01 17:59:22 -05:00
Matthias Clasen
228a2c82f6 GBookmarkFile: Remove dead code
The icon element is actually parsed further up, and this
case is never hit, so remove it.
2014-01-01 17:59:22 -05:00
Matthias Clasen
0f746070d8 Make a bookmark testfile roundtrippable
This will be used in new tests in the following commit.
2014-01-01 17:59:22 -05:00
Matthias Clasen
95f13ded92 Trivial formatting fixes 2014-01-01 17:59:21 -05:00
Matthias Clasen
d264d32d3b Improve glib-unix test coverage 2014-01-01 17:59:21 -05:00
Matthias Clasen
6814f7ebd9 Improve GHashTable test coverage 2014-01-01 17:59:21 -05:00
Matthias Clasen
95d4856760 Add a test for g_markup_parse_context_get_element_stack 2014-01-01 17:59:21 -05:00
Matthias Clasen
27e352985b Remove broken attempt at parsing date-only
g_time_val_from_iso8601 was attempting to parse strings
having only a date, but failed to actually set the timeval
despite returning TRUE. Since the docs state that the function
only parses strings containing a date and a time, just return
FALSE in this case.

Also remove an incomplete testcase for this behaviour that was
just checking the boolean return value, but not timeval.
2014-01-01 17:59:21 -05:00
Matthias Clasen
cc8c1541c9 Improve mainloop test coverage 2014-01-01 17:59:21 -05:00
Matthias Clasen
24d992f8a1 Add tests for GTimer and GTimeVal 2014-01-01 17:59:21 -05:00
Matthias Clasen
2ded47e955 Improve GTree test coverage 2014-01-01 17:59:21 -05:00
Matthias Clasen
6e23e6c641 Improve logging test coverage 2014-01-01 17:59:21 -05:00
Matthias Clasen
cdb14a194e Improve testing test coverage
In particular, test the just-fixed g_test_trap_reached_timeout.
2014-01-01 17:59:21 -05:00
Matthias Clasen
3343bc3385 Fix g_test_trap_reached_timeout
The function was returning the opposite of what the
documentation says.
2014-01-01 17:59:21 -05:00
Matthias Clasen
e013cf9cad Improve GSlice test coverage 2014-01-01 17:59:21 -05:00
Matthias Clasen
19ad8dbfa6 Improve GNode test coverage 2014-01-01 17:59:21 -05:00
Matthias Clasen
6fe85aee8d Improve fileutils test coverage
Add some tests for g_file_read_link.
2014-01-01 17:59:21 -05:00
Matthias Clasen
f16753cfe0 Unify error reporting in gfileutils.c
Use the set_file_error helper function in more places,
saving some 50 lines.
2014-01-01 17:59:21 -05:00
Ryan Lortie
56fb675d86 GVariant: add way to print context of parse errors
This was a feature intended from the very beginning that somehow never
got written.  It's a way to replace these sort of error messages out of
the GVariant parser:

  1-2,10-15:unable to find a common type

with something in the style of the Vala compiler:

  unable to find a common type:
    [1, 2, 3, 'str']
     ^        ^^^^^

https://bugzilla.gnome.org/show_bug.cgi?id=715028
2013-12-22 11:41:19 -05:00
Ryan Lortie
3f41e49285 Use POSIX-specified <poll.h> over <sys/poll.h>
POSIX specifies that <poll.h> is the correct header to include for
poll(), so let's do that instead.

https://bugzilla.gnome.org/show_bug.cgi?id=141251
2013-12-22 11:33:07 -05:00
Murray Cumming
eeac91f866 GVariant: Add g_variant_parse_error_quark()
Most GErrors, such as GSomethingError, have a function to get
their quark that looks like g_something_error_quark(),
so bindings (such as gtkmm) would expect GVariantParseError
to have g_variant_parse_error_quark(). Instead this had
g_variant_parser_get_error_quark().
This deprecates the old function and adds the correct one,
making life easier for gtkmm (and maybe others).

https://bugzilla.gnome.org/show_bug.cgi?id=708212
2013-12-22 11:27:16 -05:00
Dan Winship
fab0805b81 Make g_test_run() return 77 if all tests are skipped
Change g_test_run() to return 1 on failure (rather than the number of
failed tests), and 77 if all tests are skipped (since automake and
some other test harnesses recognize that status code).

Previously g_test_run() returned the number of failed tests, but this
behavior was not documented, and at any rate, prior to 2.39,
g_test_run() would normally not return at all if an error occurred.

https://bugzilla.gnome.org/show_bug.cgi?id=720263
2013-12-18 10:09:46 -05:00