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.)
Details
- Reviewers
uabelho • Quuxplusone Mordante ldionne - Group Reviewers
Restricted Project - Commits
- rG9286a8238b94: [libcxx] [test] XFAIL the get/put long_double_ru_RU tests on Glibc < 2.27
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
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? |
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, ...?) |
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.
@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 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?