[cpullvm] - Enable LIBCXX testing for aarch64/arm/riscv if LIBC tests are enabled#323
Conversation
|
@jonathonpenix Could you please review and add other reviewers as you see fit. |
|
At a glance, it looks like this is headed in the right direction, thanks Pawan! Few misc. thoughts: The libc++abi/libunwind tests are also included under the broader "enable libc++ tests". Right now they're running as we just run all enabled tests: cpullvm-toolchain/qualcomm-software/scripts/test.sh Lines 20 to 24 in 8f6aeba I'm fine if we enable this stuff incrementally, but I think we have a few options to do so. Things that make the most sense to me:
@pawan-nirpal-031 do you know/remember how long the libc++ tests were taking to run on your local machine? Arm has these split out as they apparently take a long time to run, so we might want to do # 2 above even if we resolve build/test failures. |
|
I am not 100% sure how this ends up working, but are we correctly setting These prevent some of the really slow tests from running. |
|
They are already turned off in @pawan-nirpal-031, let's focus on fixing the issues first. We can merge the fixes without enabling the tests. Before activating the tests, we may need to split them into separate runs, as they seem to still take considerable time even with long/large tests disabled. |
|
@apazos Yes I think that would be preferable. I've fixed the tests, some of them have to be unsupported due to memory limitations set to 2MB IIRC, those tests run into memory issues and I suppose aren't meant for embedded. Long double tests have to be xfailed through and through. But I will update this PR and we can discuss on the approach more. |
yet to get a hold on this one : libcxx/test/std/strings/c.strings/no_c8rtomb_mbrtoc8.verify.cpp |
|
Besides tests failing, there are several ways to disable tests to control the time it takes to run the tests. Bringing them up here so we select the most appropriate one depending on the tests running time and the tests failing, so we can progressively enable them as we fix the issues:
We can consider enabling tests for libc++ in parts, as done in ATfe, they skip ninja check-cxx which takes long, see ATfE /embedded/scripts/test.sh
For example, if you only enable ninja check-cxxabi or ninja check-unwind or both, are there failures? |
|
@apazos Thanks for the detailed description, Yes I feel incrementally enabling would be the best option, ninja check-cxx are the ones that I am focusing on this PR. I imagine we don't want any source changes apart from changes in qualcomm-sotfware/* is that right? If yes I don't think there's much we can do to disable failing tests that need source changes, I'm wrestling with some riscv32* tests that are need support from upstream, Do you think we can push some of these libcxx source changes upstream first? Or we can disable the tests now and then start upstreaming fixes into libcxx? |
|
We have no custom LLVM changes in qualcomm-software and it keeps up with latest LLVM tip. |
|
@apazos @jonathonpenix @lenary I have worked libcxx into a different test_libcxx.sh test script file similar to ATFE, All the tests locally pass, however I am omitting check unwind, abi and picolibc tests. The ETA for the libcxx tests locally is around 6-6:30 hours. The failure now seems to be purely CI timeout. |
|
@pawan-nirpal-031 this patch will have to be further cleaned up as some of these changes you are pushing in a separate PR. Also, might make sense to combine the xfailed test patch with the patch that enables the tests. |
Hi @apazos I'm sorry I didn't quite understand, you said we were only going to push the fixes and defer the enablement to a later PR. I will clean up the infra changes alright. Then as per me this PR should have xfails.py (fixes) and the separation of test_libcxx.sh. So if we also push the xfails to the enablement patch, this is just a CI change patch which separates the ninja check, is that what we intend to achieve? Apologies for the confusion. |
Enable LIBCXX tests for aarch64/arm/riscv arch, if the corresponding LIBC tests are enabled.
Signed-off-by: Pawan Nirpal pnirpal@qti.qualcomm.com