GNOME Bugzilla – Bug 795234
Fix Jenkins CI build failures for network tests
Last modified: 2018-04-13 17:51:18 UTC
Currently some of the networking tests (network-address.c and socket.c) are partially failing when running on GitLab CI on jenkins.gnome.org (provided by AWS) but not when run on progress.gnome.org (hosted by us). This is probably due to differences in how they have their networking configured — AWS networking is locked down a bit more. I’ve got some patches which might fix this by skipping tests where appropriate, but they need testing.
Created attachment 370895 [details] [review] tests: Add more debug output to the network-address test Trying to diagnose why some of the resolver tests fail on AWS. Signed-off-by: Philip Withnall <withnall@endlessm.com>
Created attachment 370896 [details] [review] tests: Skip GSocket tests if setting up a server fails There are various reasons why setting up a server might fail; it reliably fails on AWS with IPv6 addresses (are we binding to the right address?). Since we’re trying to test GSocket as a client, skip tests where that happens. Signed-off-by: Philip Withnall <withnall@endlessm.com>
Review of attachment 370895 [details] [review]: Okay
Review of attachment 370896 [details] [review]: Makes sense.
Both pushed; let's see what the CI does now. Attachment 370895 [details] pushed as d990f86 - tests: Add more debug output to the network-address test Attachment 370896 [details] pushed as 6751424 - tests: Skip GSocket tests if setting up a server fails
https://gitlab.gnome.org/GNOME/glib/-/jobs/23660 That fixed the socket test. Just the network-address test to fix now. Unfortunately those g_test_message() calls aren’t resulting in any additional output to the test logs. I’ll for the GLib repository and push some test commits in a throwaway branch to debug further.
The network-address failure is this, for address `fe80::42%1`: Error resolving ?fe80::42%1?: Address family for hostname not supported (g-resolver-error-quark, 2)
Created attachment 370898 [details] [review] tests: Drop a slightly suspect GResolver test This test will only work on machines which have IPv6 enabled and have a local IPv6 interface with ID 1. On machines which don’t (such as AWS servers, which we run CI tests on), the GResolver tests will fail with G_RESOLVER_ERROR_INVALID. We can’t differentiate this kind of failure (where we’d want to skip the test) from an actual failure (where we’d want to fail the test), so the only other option is to drop this particular test vector. I don’t think it’s a significant loss. This is the last fix needed to get our CI tests working reliably on jenkins.gnome.org. Signed-off-by: Philip Withnall <withnall@endlessm.com>
Review of attachment 370898 [details] [review]: :+1:
Pushed to master, thanks. This should fix the CI failures; I will reopen this bug if we get the same failure show up again. Attachment 370898 [details] pushed as ad50fdb - tests: Drop a slightly suspect GResolver test