<div dir="rtl"><div dir="ltr">You can use</div><div dir="ltr"><br></div><div dir="ltr"><font face="courier new, monospace">#ifndef __ANDROID__</font></div><div dir="ltr"><br></div><div dir="ltr">around the whole or part of tests that should fail on ANDROID. See here:</div>
<div dir="ltr"><br></div><div dir="ltr"><a href="http://sourceforge.net/p/predef/wiki/OperatingSystems/">http://sourceforge.net/p/predef/wiki/OperatingSystems/</a><br></div><div dir="ltr"><br></div><div dir="ltr"> <br></div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote"><div dir="ltr">2014-05-29 13:26 GMT+03:00 William Chan (陈智昌) <span dir="ltr"><<a href="mailto:willchan@chromium.org" target="_blank">willchan@chromium.org</a>></span>:</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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 (<a href="https://code.google.com/p/android/issues/detail?id=57313#c2" target="_blank">https://code.google.com/p/android/issues/detail?id=57313#c2</a>). So I'd like to disable tests that rely on this. An example of such a test is <a href="http://llvm.org/svn/llvm-project/libcxx/trunk/test/re/re.alg/re.alg.match/basic.pass.cpp" target="_blank">http://llvm.org/svn/llvm-project/libcxx/trunk/test/re/re.alg/re.alg.match/basic.pass.cpp</a>, which does something like:<div>
<br></div><div><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap"> 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"));</pre></div><div><br></div><div>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?</div>
<div><br></div><div>Cheers.</div></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>