
On Mon, Aug 08, 2022 at 08:19:28PM +0200, Christophe de Dinechin wrote:
Hi Andrea,
I saw your call to Sergio and Marc-André on IRC, and I thought I would spend a few minutes inviestigating.
Thanks, I appreciate that!
I'm trying to enable CI coverage for macOS 12, but I'm running into a couple of issues that I'm not sure how to handle.
Note that the test suite currently passes on macOS 11[1], so these failures have to be a consequence to changes made to macOS that we haven't yet learned how to cope with.
The first one is in vircryptotest:
Encrypt aes265cbc ... Expected ciphertext doesn't match
I've added some debug statements and it looks like the generated data is different every time, which seems like a pretty good indication that virrandommock is not being picked up correctly. This is not the only test program that uses that specific mock though, so I'm not sure what makes it fail when all the others are succeeding.
I believe that the following patch fixes this one:
From: Christophe de Dinechin <christophe@dinechin.org> Date: Mon, 8 Aug 2022 20:14:08 +0200 Subject: [PATCH] tests: Pass the flat_namespace option to the linker
This fixes vircryptotest on macOS 12 (Monterey).
The test relies on library injection (using DYLD_INSERT_LIBRARIES) to replace the normal random functions with functions giving predictable results, defined in virrandommock.c. However, using DYLD_INSERT_LIBRARIES only works when building with flat namespaces.
Adding the -Wl,-flat_namespace option to the linker fixes the problem. The option was already defined in the top-level meson.build, but had been forgotten in the test linker arguments.
Signed-off-by: Christophe de Dinechin <dinechin@redhat.com> Signed-off-by: Christophe de Dinechin <christophe@dinechin.org> --- tests/meson.build | 1 + 1 file changed, 1 insertion(+)
diff --git a/tests/meson.build b/tests/meson.build index bc9d8ccc4c..d6b1bb2bf0 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -28,6 +28,7 @@ tests_dep = declare_dependency( ], link_args: ( libvirt_export_dynamic + + libvirt_flat_namespace + coverage_flags ), ) -- 2.37.1
Could you please check?
Yeah, this seems to help and the change makes sense to me. I wonder why we didn't run into this much earlier though? As I mentioned, the test runs successfully as-is on macOS 11. Plus, many other tests rely on library injection and yet work okay even without this change. Anyway, I'm happy to add my Reviewed-by: Andrea Bolognani <abologna@redhat.com> to this patch and push it. The authorship information looks a bit funky though, with the two S-o-bs... Should I drop the @redhat.com one and only keep the one with your personal email address, matching the commit authorship information? -- Andrea Bolognani / Red Hat / Virtualization