This is an archive of the discontinued LLVM Phabricator instance.

[libcxx] [test] Skip the get/put long_double_ru_RU tests on Glibc < 2.27
ClosedPublic

Authored by mstorsjo on Mar 4 2022, 12:55 AM.

Details

Summary

Those older versions used a different monetary decimal separator.
To avoid unnecessary churn to support that, just skip the test
on those older versions. (Up until recently, the whole test was
XFAILed on all versions of glibc.)

Diff Detail

Event Timeline

mstorsjo created this revision.Mar 4 2022, 12:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 4 2022, 12:55 AM
mstorsjo requested review of this revision.Mar 4 2022, 12:55 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 4 2022, 12:55 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
uabelho accepted this revision.Mar 4 2022, 1:03 AM

Thanks! The tests pass for me now with glibc 2.17

Thanks! The tests pass for me now with glibc 2.17

Great! I'll wait for a libc++ approver still before pushing.

Thanks! The tests pass for me now with glibc 2.17

Great! I'll wait for a libc++ approver still before pushing.

SOunds good!

Quuxplusone added a subscriber: ldionne.
Quuxplusone added inline comments.
libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
61–69

This smells like the wrong way to do it, but I suppose we don't have an llvm-lit feature flag for this. Ping @ldionne — what do you think is the right approach here?

mstorsjo added inline comments.Mar 4 2022, 8:22 AM
libcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
61–69

Yeah it's not the ideal fix unfortunately... We don't have a flag with the glibc version at that level. (And if we had, would we need to do e.g. // UNSUPPORTED: glibc-2.11, glibc-2.12, glibc-2.13, glibc-2.14, ...?)

mstorsjo updated this revision to Diff 413257.Mar 5 2022, 2:40 PM

Add a "bug" feature to check for, for the older glibc versions. We don't have the glibc versions as features to check for directly as XFAIL: glibc-2.26 etc (which would require massive expressions for all possibly relevant older versions - the issue manifested on RHEL with glibc 2.17), but we can easily check for the specific behaviour we expect.

mstorsjo updated this revision to Diff 413312.Mar 6 2022, 2:12 PM

Fix the no-localization CI configuration

I've verified that the current patch solves the problem we see with glibc 2.17

ldionne accepted this revision.Mar 8 2022, 1:47 PM

@uabelho Just out of curiosity, what's the system you're running on that has glibc 2.27?

I would like to put a bound on what systems are supported by our test suite, to avoid unreasonable workarounds. I don't necessarily this one is unreasonable, however it's important to have an explicit support window to keep things under control.

This revision is now accepted and ready to land.Mar 8 2022, 1:47 PM

@uabelho Just out of curiosity, what's the system you're running on that has glibc 2.27?

It's RHEL 7 (and it's glibc 2.17).