Skip to content

[libc] Tracking progress for adding hermetic testing on baremetal #145349

@saturn691

Description

@saturn691

Downstream (https://github.com/arm/arm-toolchain/), I have managed to hack together running hermetic testing of unit tests by LLVM.

❯ qemu-system-arm -M mps2-an500 -semihosting -nographic -device loader,file=libc/test/src/stdio/libc.test.src.stdio.printf_test.__hermetic__.__build__ -s -S
[==========] Running 1 test from 1 test suite.
[ RUN      ] LlvmLibcPrintfTest.PrintOut
A simple string with no conversions.
1234567890
1234 and more
[       OK ] LlvmLibcPrintfTest.PrintOut
Ran 1 tests.  PASS: 1  FAIL: 0

In an ideal world, I would like to contribute this upstream, where the embedded build is ran in the post-commit, which in-turn can be used to catch any errors relating to baremetal implementations. In order to do this, I will have to do the following.

However, after a few discussions, it was suggested that that is better done first downstream, with the option to integrate this upstream if it adds enough value.

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions