From 6cf7c6739f670bb8ae2e1b8cbc56c789a0b0ae0d Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 7 Oct 2020 09:08:57 +0200 Subject: [PATCH] platform/tests: skip test_platform_ip_address_pretty_sort_cmp() on non-amd64 archs The test only works on amd64, because it relies on the memory layout of the structures. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/546 --- src/platform/tests/test-platform-general.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/platform/tests/test-platform-general.c b/src/platform/tests/test-platform-general.c index ee1e247753..703c886e31 100644 --- a/src/platform/tests/test-platform-general.c +++ b/src/platform/tests/test-platform-general.c @@ -555,6 +555,20 @@ test_platform_ip_address_pretty_sort_cmp(gconstpointer test_data) gs_free guint64 *rand_map = NULL; gsize i, j; +#if !defined(__amd64__) + /* The test generates a random array of NMPlatformIPXAddress (by crudely randomizing the memory, + * not the structures themself) and then compares the sorted result with the expected output. + * The sole purpose is to ensure that the sorting order stays stable. + * + * This only works on an architecture for which the test was made, otherwise + * the expected data does not match (due to different layout of the structures + * in memory). + * + * That's fine. Skip the test. */ + g_test_skip("skip test on non-amd64 architecture"); + return; +#endif + /* * First we create a list of addresses filled with (stable) random bytes. * We tweak some fields explicitly (stable randomly), so that we cover all