[cfe-dev] libcxx: Disabling locale-related libc++ tests on Android

William Chan (ι™ˆζ™Ίζ˜Œ) willchan at chromium.org
Thu May 29 03:26:52 PDT 2014


This is my first post here so apologies for any silliness about this
question. Several tests that I've looked at don't work on Android due to
lack of locale support (
https://code.google.com/p/android/issues/detail?id=57313#c2). So I'd like
to disable tests that rely on this. An example of such a test is
http://llvm.org/svn/llvm-project/libcxx/trunk/test/re/re.alg/re.alg.match/basic.pass.cpp,
which does something like:

    std::locale::global(std::locale("cs_CZ.ISO8859-2"));
    {
        std::cmatch m;
        const char s[] = "m";
        assert(std::regex_match(s, m, std::regex("[a[=M=]z]",
                                                 std::regex_constants::basic)));
        assert(m.size() == 1);
        assert(!m.prefix().matched);
        assert(m.prefix().first == s);
        assert(m.prefix().second == m[0].first);
        assert(!m.suffix().matched);
        assert(m.suffix().first == m[0].second);
        assert(m.suffix().second == m[0].second);
        assert(m.length(0) == std::char_traits<char>::length(s));
        assert(m.position(0) == 0);
        assert(m.str(0) == s);
    }
    {
        std::cmatch m;
        const char s[] = "Ch";
        assert(std::regex_match(s, m, std::regex("[a[.ch.]z]",
                   std::regex_constants::basic | std::regex_constants::icase)));
        assert(m.size() == 1);
        assert(!m.prefix().matched);
        assert(m.prefix().first == s);
        assert(m.prefix().second == m[0].first);
        assert(!m.suffix().matched);
        assert(m.suffix().first == m[0].second);
        assert(m.suffix().second == m[0].second);
        assert(m.length(0) == std::char_traits<char>::length(s));
        assert(m.position(0) == 0);
        assert(m.str(0) == s);
    }
    std::locale::global(std::locale("C"));


What's the right way to disable this test for Android? Is there an
appropriate #ifdef I can use? Or should I move the tests out to a separate
file that's not built for Android?

Cheers.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140529/d7ade308/attachment.html>


More information about the cfe-dev mailing list