On 28-08-2022 00:04, Liliana Marie Prikler wrote:
Am Samstag, dem 27.08.2022 um 22:01 +0200 schrieb Maxime Devos:On 27-08-2022 21:54, Liliana Marie Prikler wrote:* Due to how regularised the Rust build system is, it's feasible to compile tests even when cross-compiling (*), so cross-compiled could run the cross-compiled tests on the system they are cross-compiling for after the cross-compilation to verify their cross-compiled software.How exactly does this work without emulating the system in question?It works by not performing any work except compilation -- Guix' responsibility would only be to cross-compile and install the tests (_not_ running them), you are supposed to install the cross-compiled thing (including tests) on the target system and run the tests on the target system.This doesn't strike me as a rust-specific setup, though. In principle, you should be able to do the same with a C/C++ program, but most of the time "make check" implies both building and running the tests.
The difference between Rust and many C/C++ setups here, is that with Rust it's trivial to only compile and install the tests without running them (currently, antioxidant-build-system compiles+installs and runs the tests in separate phases), whereas in case of C/C++, there usually isn't a convenient '"make install-the-tests-without-running-them" target, rather building and running the tests is combined in a single "make check" as you note.
As I've written previously:
but that does not appear to be the case for C/C++, as you've noted with your comments about "make check" both building and running the tests.Due to how regularised the Rust build system is, it's feasible to compile tests even when cross-compiling (*)
Greetings, Maxime.
OpenPGP_0x49E3EE22191725EE.asc
Description: OpenPGP public key
OpenPGP_signature
Description: OpenPGP digital signature