Page MenuHomePhabricator

[runtimes] Officially deprecate the legacy testing configuration system
ClosedPublic

Authored by ldionne on May 26 2022, 8:25 AM.

Details

Reviewers
None
Group Reviewers
Restricted Project
Restricted Project
Restricted Project
Commits
rG719bf2d9d9fd: [runtimes] Officially deprecate the legacy testing configuration system
Summary

Add a warning and tweak the release note to explain that the deprecation
targets libc++, libc++abi and libuwnind as well.

Also, as a fly-by, ensure that our CI runs the legacy testing configuration
for libc++, libc++abi and libunwind. This doesn't matter too much since
it's deprecated, but we might as well test it properly.

Diff Detail

Event Timeline

ldionne created this revision.May 26 2022, 8:25 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptMay 26 2022, 8:25 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne requested review of this revision.May 26 2022, 8:25 AM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptMay 26 2022, 8:25 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
Herald added a reviewer: Restricted Project. · View Herald Transcript

@vvereschaka I was going through the CMake caches looking for variables that implied usage of the legacy testing configuration system, and clang/cmake/caches/CrossWinToARMLinux.cmake seems to contain several of those. Just making sure you don't miss this.

Hi @ldionne. Got it, thank you! I'll check our cmake cache file out and remove any deprecated variables.

Hi @ldionne. Got it, thank you! I'll check our cmake cache file out and remove any deprecated variables.

FWIW, my expectation is that you would need a special configuration file to run your tests, and you'd configure CMake with something like:

-DLIBCXX_TEST_CONFIG="cross-win-linux.cfg.in" \
-DLIBCXXABI_TEST_CONFIG="cross-win-linux.cfg.in" \
-DLIBUNWIND_TEST_CONFIG="cross-win-linux.cfg.in"

Where cross-win-linux.cfg.in can be based on libcxx/test/configs/llvm-libc++-shared.cfg.in (and similarly for libc++abi and libunwind).

ldionne updated this revision to Diff 432358.May 26 2022, 12:30 PM

Rebase. I will ship this if CI passes, since it's effectively non-breaking. It's just a heads up.

@ldionne ,
I have checked out our cmake cache for win-to-linux cross builds and I found that we already use the "new-style" test configuration files all libs accordingly: llvm-libc++-static.cfg.in, llvm-libc++abi-static.cfg.in and llvm-libunwind-static.cfg.in. It works fine for the builds currently.
We provide <lib>_TARGET_INFO=libcxx.test.target_info.LinuxRemoteTI and <lib>_EXECUTOR cmake vars only for these configurations.
Actually, the tests work without <lib>_TARGET_INFO also, but because there is still an appropriate parameter I did keep them there just in case.

So, it looks fine for now I guess.

@ldionne ,
I have checked out our cmake cache for win-to-linux cross builds and I found that we already use the "new-style" test configuration files all libs accordingly: llvm-libc++-static.cfg.in, llvm-libc++abi-static.cfg.in and llvm-libunwind-static.cfg.in. It works fine for the builds currently.
We provide <lib>_TARGET_INFO=libcxx.test.target_info.LinuxRemoteTI and <lib>_EXECUTOR cmake vars only for these configurations.
Actually, the tests work without <lib>_TARGET_INFO also, but because there is still an appropriate parameter I did keep them there just in case.

So, it looks fine for now I guess.

Oh, awesome, thanks for checking! I have an upcoming patch that will remove some of your CMake variables. I'll ping you on the patch when I update it.

It will only land after we branch for LLVM 15.

ldionne accepted this revision as: Restricted Project, Restricted Project, Restricted Project.May 27 2022, 10:16 AM
This revision was not accepted when it landed; it landed in state Needs Review.May 27 2022, 10:17 AM
This revision was automatically updated to reflect the committed changes.