dejagnu
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Driving DejaGNU from Linux for testing arm-none-eabi toolchain executed


From: Torbjorn SVENSSON
Subject: Driving DejaGNU from Linux for testing arm-none-eabi toolchain executed on Windows
Date: Fri, 2 Oct 2020 15:29:09 +0000

Hello,

I've downloaded the source package of GCC from Arm 
(https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads).
This package builds a cross toolchain for arm-none-eabi. If I run the scripts 
on a Linux system without any modifications, it builds one toolchain for a 
Linux host, and one for a Windows host. So far so good.

To run the DejaGNU test suite for the Linux build, I simply enter the build 
structure and run 'make check....' as usual and it works.
To run the DejaGNU test suite for the Windows build, I copied the entire build 
tree to a Windows system and then start the same 'make check...' command there. 
While this works, it's quite slow and I have to "hack" the build by touching 
all files to ensure nothing is built when I try to launch the test suite.

Is it possible to run DejaGNU on a Linux system for the Windows tests too, but 
use scp/ssh, or something similar, to connect to the Windows system to run the 
toolchain binaries?

I'm thinking something like this:
1. Build the toolchain using the Arm provided scripts
2. Copy the source tree to the Windows system. (Is this needed for includes to 
work...?)
3. Copy the "install-mingw" (build output) structure to the Windows system.
4. Launch the DejaGNU suite on the Linux system and configure it to connect to 
the Windows system for every invocation of the toolchain.

Is this possible? If so, how do I configure DejaGNU to do this?
To make it a bit easier, assume that SSH is running on the Windows system and 
that I'm able to connect from the Linux system to the Windows system without 
any password.
I'm also not sure that step 2 is needed above. I see that DejaGNU will try to 
upload the source code for the test case, but what about include statements? 
How does DejaGNU know what resources that are needed for a particular test case?

To give some performance figures:
Running all the g++ tests for Cortex-M4 with FPU and using QEMU as a simulator 
takes about 35min for me.
Running the same set of test with the same target on Windows with the same 
hardware takes about 8h!

To reduce the risk of introducing different QEMU results on Linux and Windows, 
I have created a simulator script that transfers the built binary to the Linux 
system and executes QEMU on the Linux system.

Kind regards,
Torbjörn



reply via email to

[Prev in Thread] Current Thread [Next in Thread]