Commit Graph

24967 Commits

Author SHA1 Message Date
Philip Withnall
58f54e8303 tests: Reduce wakeup interval in gdbus-threading
When checking that the connection has the expected number of refs, the
test would block on a `GMainContext` iteration for up to 3s before
waking up and failing (if the refcount was still not as expected).

This check was written in the expectation that changing the refcount of
the connection would only happen due to dispatching a source on
`GMainContext` — hence the `GMainContext` would wake up as the refcount
changed.

That’s probably not actually true though. It might be the case that the
connection’s refcount is changed on from the GDBus worker thread, which
would not cause any wakeups on the main thread’s `GMainContext`.

In this case, the `GMainContext` iteration in
`assert_connection_has_one_ref()` would block for the full 3s, and then
wake up and notice the refcount is correct (then the test would
proceed).

That’s fine, apart from the fact that `test_threaded_singleton()` does
this 1000 times. If the slow case is hit on a significant number of
those test runs, the test will take around 3000s to complete, which is
significantly more than meson’s test timeout of 360s. So the test fails
with something like:
```
220/266 glib:gio+slow / gdbus-threading         TIMEOUT 360.07 s

--- command ---
G_TEST_SRCDIR='/builds/GNOME/glib/gio/tests' GIO_MODULE_DIR='' G_TEST_BUILDDIR='/builds/GNOME/glib/_build/gio/tests' /builds/GNOME/glib/_build/gio/tests/gdbus-threading
--- stdout ---
\# random seed: R02S83fe8de22db4d4f376e6d179e2bdd601
1..3
\# Start of gdbus tests
ok 1 /gdbus/delivery-in-thread
ok 2 /gdbus/method-calls-in-thread
\# GLib-GIO-DEBUG: refcount of 0x5602de913660 is not right (3 rather than 1) in test_threaded_singleton(), sleeping
\# GLib-GIO-DEBUG: refcount of 0x5602de913660 is not right (3 rather than 1) in test_threaded_singleton(), sleeping
\# GLib-GIO-DEBUG: refcount of 0x5602de913c60 is not right (3 rather than 1) in test_threaded_singleton(), sleeping
\# GLib-GIO-DEBUG: refcount of 0x5602de913c60 is not right (3 rather than 1) in test_threaded_singleton(), sleeping
\# GLib-GIO-DEBUG: refcount of 0x5602de913260 is not right (3 rather than 1) in test_threaded_singleton(), sleeping
\# GLib-GIO-DEBUG: refcount of 0x5602de913260 is not right (3 rather than 1) in test_threaded_singleton(), sleeping
```

From this log, it can be seen that the sleep is happening on a different
`GMainContext` every other time, so the test *is* making progress.

Assuming this is a correct diagnosis (it’s a lot of guessing), this
commit tries to fix the test by adding a wakeup timeout to the
`GMainContext` in `assert_connection_has_one_ref()`, which will wake it
up every 50ms to re-check the exit condition.

This polling approach has been taken because it doesn’t seem feasible to
make sure that every `g_object_ref()`/`g_object_unref()` call on a
`GDBusConnection` causes the main context to wake up.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2022-04-12 14:39:43 +01:00
Philip Withnall
fd79c8742b Merge branch 'onceinit_test' into 'main'
Move tests/onceinit.c to glib/tests/onceinit.c

See merge request GNOME/glib!2601
2022-04-12 12:00:27 +00:00
Simon McVittie
bb04fdc013 Merge branch 'wip/pwithnall/fix-bsd-spawn-test' into 'main'
tests: Make a string comparison on an error string more relaxed

See merge request GNOME/glib!2597
2022-04-11 15:16:20 +00:00
Emmanuel Fleury
49ecdd1dba Move tests/onceinit.c to glib/tests/onceinit.c
Related to issue #1434
2022-04-11 15:26:40 +02:00
Emmanuel Fleury
91dddb0641 Convert onceinit.c to glib test framework 2022-04-11 15:26:33 +02:00
Aleksandr Melman
382244631c Update Russian translation 2022-04-09 15:34:12 +00:00
Yuri Chornoivan
51c7215c50 Update Ukrainian translation 2022-04-08 11:43:26 +00:00
Philip Withnall
3515170461 tests: Make a string comparison on an error string more relaxed
It currently fails on FreeBSD with:
```
Bail out! GLib:ERROR:../glib/tests/spawn-test.c:111:test_spawn_basics: assertion failed (erroutput == "sort: cannot read: non-existing-file.txt: No such file or directory\n"): ("sort: No such file or directory\n" == "sort: cannot read: non-existing-file.txt: No such file or directory\n")
```

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2022-04-08 12:25:59 +01:00
Philip Withnall
690e64afef Merge branch 'unicode-normalize-test' into 'main'
Move test tests/unicode-normalize.c to glib/tests/

See merge request GNOME/glib!2586
2022-04-08 10:54:57 +00:00
Philip Withnall
be96ea9222 Merge branch 'wip/format_size_value_units' into 'main'
gutils: Add flags to g_format_size_full() to return only value or only units

See merge request GNOME/glib!2545
2022-04-08 10:54:45 +00:00
Philip Withnall
900b945988 Merge branch 'spawn_test' into 'main'
Move tests/spawn-test.c -> glib/tests/spawn-test.c

See merge request GNOME/glib!2575
2022-04-08 10:38:36 +00:00
Milan Crha
05a8ef6647 gutils: Add flags to g_format_size_full() to return only value or only units
This allows to split the formatted size into the value and into the units,
when can be shown differently in the UI.

Relate to https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1391
2022-04-08 11:36:03 +01:00
Charles Monzat
b9cbb61563 Update French translation 2022-04-08 10:21:58 +00:00
Emmanuel Fleury
b25eb3808d Move unicode-normalize test from tests/ to glib/tests/
Helps issue #1434
2022-04-08 11:27:13 +02:00
Emmanuel Fleury
2c37b92dfa Enable and convert tests/unicode-normalize.c to glib test framework 2022-04-08 11:24:43 +02:00
Fran Dieguez
8e5c72953b Update Galician translation 2022-04-07 21:36:07 +00:00
Emmanuel Fleury
762ed2e82b Move tests/spawn-test.c -> glib/tests/spawn-test.c
Related to issue #1434
2022-04-07 18:36:45 +02:00
Emmanuel Fleury
5a7a69bd99 Convert tests/spawn-test.c to glib test framework 2022-04-07 18:36:14 +02:00
Philip Withnall
a7aa029a11 Merge branch 'dup-socket' into 'main'
gio/tests: DuplicateHandle() is inappropriate for SOCKET

See merge request GNOME/glib!2592
2022-04-07 11:22:55 +00:00
Marc-André Lureau
2a925f273b gio/tests: DuplicateHandle() is inappropriate for SOCKET 2022-04-07 11:22:55 +00:00
Sebastian Dröge
3e9a5d40b2 Merge branch 'ci-expire-artifacts' into 'main'
ci: Expire CI artifacts after 1 week

See merge request GNOME/glib!2594
2022-04-07 10:12:55 +00:00
Sebastian Dröge
86a24bb19a Merge branch 'wip/pwithnall/converter-stream-debugging' into 'main'
tests: Remove an incorrect assertion in converter-stream

See merge request GNOME/glib!2591
2022-04-06 13:15:01 +00:00
Philip Withnall
f68943dcf2 ci: Expire CI artifacts after 1 week
The default is 30 days, but we don’t need them around that long. This
should free up some disk space on the GitLab/CI runner systems.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2022-04-06 12:54:54 +01:00
Sebastian Dröge
c80ff2474f Merge branch 'wip/pwithnall/2625-clang-cxx' into 'main'
gatomic: Add a C++ variant of g_atomic_int_compare_and_exchange()

Closes #2625

See merge request GNOME/glib!2578
2022-04-06 10:08:35 +00:00
Daniel Mustieles
be555e247a Updated Spanish translation 2022-04-06 08:21:56 +02:00
Philip Withnall
e2426dd74d Merge branch 'list-store-equal-full' into 'main'
gio: Add g_list_store_find_with_equal_func_full()

Closes #2447

See merge request GNOME/glib!2549
2022-04-05 18:02:15 +00:00
Jason Francis
a85246af3b gio: Add g_list_store_find_with_equal_func_full()
Fixes: #2447
2022-04-05 18:34:39 +01:00
Philip Withnall
aec5d17d77 tests: Remove an incorrect assertion in converter-stream
While the assertion always turned out to be true on Linux, it frequently
caused spurious test failures on FreeBSD.

After some remote debugging, I *think* the cause is as written up in the
comment in the code in this commit. However, I cannot be certain, as the
more debugging messages I added, the harder the failure was to
reproduce; and I don’t have access to a FreeBSD machine.

This fixes failures like:
```
Bail out! GLib-GIO:ERROR:../gio/tests/converter-stream.c:1043:test_converter_pollable: assertion failed (error == NULL): Resource temporarily unavailable (g-io-error-quark, 27)
```

It’s succeeded 1000 times in a row on the FreeBSD CI now; previously
it was failing one time in three:
https://gitlab.gnome.org/GNOME/glib/-/jobs/1936395.

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2022-04-05 18:19:23 +01:00
Philip Withnall
59751e86fd Merge branch 'signal-group-connect-object' into 'main'
gobject: Add g_signal_group_connect_closure

See merge request GNOME/glib!2521
2022-04-05 16:32:12 +00:00
Jason Francis
2a842b1173 gobject: Add g_signal_group_connect_closure 2022-04-05 15:32:20 +01:00
Simon McVittie
28add9abfe Merge branch 'test-dbus-exit-on-close' into 'main'
tests: Don’t exit gdbus-method-invocation test early on connection close

See merge request GNOME/glib!2589
2022-04-05 14:23:53 +00:00
Simon McVittie
04e5f93e38 Merge branch 'version-bump' into 'main'
build: Post-release version bump to 2.73.0

See merge request GNOME/glib!2577
2022-04-05 14:20:14 +00:00
Philip Withnall
82ad0510d2 tests: Don’t exit gdbus-method-invocation test early on connection close
There’s (deliberately) a bit of race in implementing/handling
`CloseBeforeReturning()` in `gdbus-method-invocation.c`. If the server
closes the D-Bus connection early, the client may exit with `SIGTERM` if
`GDBusConnection:exit-on-close` is set. We don’t want that, as the test
is trying to check that the default handling of a D-Bus method return
after a connection has closed works.

See https://gnome.pages.gitlab.gnome.org/-/glib/-/jobs/1935191/artifacts/_build/meson-logs/testlog.txt

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2022-04-05 14:43:16 +01:00
Philip Withnall
c9ef0bf0eb Merge branch 'group-msvc-flags-together' into 'main'
Move msvc warnings in meson.build file

See merge request GNOME/glib!2584
2022-04-05 12:49:22 +00:00
Philip Withnall
e5316bb5ab Merge branch 'issue-2628' into 'main'
glib/win32: fix spawn from GUI regression

See merge request GNOME/glib!2582
2022-04-05 12:13:03 +00:00
Philip Withnall
bae0a3c751 Merge branch 'badcel/gunixfdlist-only-unix' into 'main'
GUnixFDList: Include only in unix build

See merge request GNOME/glib!2585
2022-04-05 12:12:19 +00:00
Loïc Le Page
8bb923f22a Move msvc warnings in meson.build file
Move msvc warnings in meson.build file from line 24 to line 469 to group
them next to gcc/clang warnings. So it is easier to see warnings flags
for all platforms at once.
2022-04-05 14:09:42 +02:00
Philip Withnall
259c86909f Merge branch 'fix-trashing-sandboxed-directories' into 'main'
Fix trashing sandboxed directories

Closes #2629

See merge request GNOME/glib!2583
2022-04-05 11:58:33 +00:00
Philip Withnall
14717e4f41 Merge branch 'cleanup-warnings-split-9' into 'main'
Cleanup warnings split 9

See merge request GNOME/glib!2498
2022-04-05 11:19:51 +00:00
badcel
c9874f817b
GUnixFDList: Include only in unix build 2022-04-04 20:30:22 +02:00
Philip Withnall
295c2a70d1 Merge branch 'unicode-encoding-test' into 'main'
Move tests/unicode-encoding.c to glib/tests/unicode-encoding.c

See merge request GNOME/glib!2581
2022-04-04 17:23:48 +00:00
Emmanuel Fleury
795952cb8d Move tests/unicode-encoding.c to glib/tests/unicode-encoding.c
Related to issue #1434
2022-04-04 18:51:30 +02:00
Emmanuel Fleury
43759ca951 Convert tests/unicode-encoding.c to glib test framework 2022-04-04 18:51:24 +02:00
Loic Le Page
c6a5021f48 Fix redefinition of local variable in gio/gdbusobjectmanagerclient.c 2022-04-04 17:39:59 +01:00
Loic Le Page
5223863922 Fix redefinition of local variable in gio/gdbusserver.c 2022-04-04 17:39:59 +01:00
Loic Le Page
19280e2166 Fix non-initialized variable in gio/tests/date.c 2022-04-04 17:39:59 +01:00
Loic Le Page
af69d438ed Fix unused variable and remove finalize vfunc in gio/tests/gdbus-example-proxy-subclass.c
G_GNUC_UNUSED does perfectly its job with gcc compiler but the warning
still remains with msvc compiler.

Once the unused variable removed, the finalize vfunc can be removed as
it's doing the same job as the parent function.
2022-04-04 17:39:59 +01:00
Loic Le Page
4e3f704d49 Fix global variable name hidden by local variables in gio/tests/pollable.c 2022-04-04 17:39:58 +01:00
Loic Le Page
25ab7f1e74 Fix global variable name hidden by local variables in gio/tests/proxy.c 2022-04-04 17:39:42 +01:00
Loic Le Page
13710c3699 Fix global variable name hidden by local variables in gio/tests/resolver.c 2022-04-04 17:39:42 +01:00