From ee7a0bf265499a87948e152e9d3a1bedcb9e896c Mon Sep 17 00:00:00 2001 From: Howard Hinnant Date: Tue, 31 Jul 2012 21:30:28 +0000 Subject: [PATCH] Andrew Morrow: Attached is a writeup of the current state of the libc++ test suite on Linux. There are a few tests that are listed as failing here for which I have a patch in the works. I'll be sending those along soon. There are others where I know what is going on but don't yet have a solution, and I've included some notes for those. Several still need to be investigated, mostly in localization and the regex test suite. I think that many of these failures are due to locale implementation variations that make the expected test results not match the actual results. I'm not sure what the best way to make the tests accomodate this sort of variation might be. The failures in the unique_ptr test suite are very new and are caused by a clang crash which I've not yet looked into. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@161079 91177308-0d34-0410-b5e6-96231b3b80d8 --- www/index.html | 5 +- www/results.Linux.html | 138 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 www/results.Linux.html diff --git a/www/index.html b/www/index.html index 121804c00..6ac5ac00d 100644 --- a/www/index.html +++ b/www/index.html @@ -120,8 +120,9 @@ against clang++ with -std=c++11 on Apple's OS X.

- A Windows port is underway. Here are - recent test results. + Ports to other platforms are underway. Here are recent test + results for Windows + and Linux.

diff --git a/www/results.Linux.html b/www/results.Linux.html new file mode 100644 index 000000000..bb4a5950d --- /dev/null +++ b/www/results.Linux.html @@ -0,0 +1,138 @@ + + + + results.Linux + + +
+
+All failures in the libc++ test suite will be documented here. Last
+run was with Clang (pre-3.2) on Debian unstable x86_64 with eglibc
+2.13 and kernel 3.2.0-3-amd64. The ABI library used was libc++abi.
+
+depr/
+ depr.c.headers/
+  math_h.pass.cpp: Fails a static assert that the return type of
+   isnan(double) and isinf(double) is a bool.
+ uchar_h.pass.cpp:
+   My libc doesn't seem to provide uchar.h yet.
+ exception.unexpected/
+  set.unexpected/
+   get_unexpected.pass.cpp: This seems to be a problem with libc++abi:
+    its default unexpected handler does not call the terminate handler?
+   set_unexpected.pass.cpp: idem.
+diagnostics/
+ syserr/
+  syserr.errcat/
+   syserr.errcat.objects/
+    system_category.pass.cpp: Always maps back to generic category
+     when it should stay system category, because the implementation
+     dependson ELAST, which Linux lacks.
+input.output/
+ iostream.format/
+  ext.manip/
+   get_time.pass.cpp: Local representation is 'Sat 31 Dec 2061
+    11:55:59 PM EST' which does not match the expected result in the
+    test.
+   put_time.pass.cpp: idem.
+  output.streams/
+   ostream.formatted/
+    ostream.inserters.arithmetic/
+     pointer.pass.cpp: Local representation of NULL is '(nil)' which
+      the test does not expect. Patch in progress.
+language.support/
+ support.start.term/
+  quick_exit.pass.cpp: Fails because it doesn't know about
+   std::at_quick_exit. Interestingly my libc does seem to know about
+   std::[at_]quick_exit, so this needs some investigation.
+localization/
+ locale.categories/
+  category.collate/
+   locale.collate.byname/
+    compare.pass.cpp: In the C local, sorting order seems OK, but not
+     in the "" and en UTF8 locals. Needs investigation.
+  category.ctype/
+   locale.codecvt/
+    locale.codecvt.members/
+     wchar_t_out.pass.cpp: Needs investigation.
+   locale.ctype.byname/
+    is_1.pass.cpp: Fails because of bug in ctype_byname::do_[scan_]is
+     for non is-mask platforms. Patch in progress.
+    scan_is.pass.cpp: idem.
+    widen_1.pass.cpp: Fails due to not converting some out of bounds
+     characters the same way as expected. Needs investigation.
+    widen_many.pass.cpp: idem.
+  category.monetary/
+   locale.money.get/
+    locale.money.get.members/
+     get_long_double_ru_RU.pass.cpp: Needs investigation.
+     get_long_double_zh_CN.pass.cpp: idem.
+    locale.money.put.members/
+     put_long_double_ru_RU.pass.cpp: idem.
+     put_long_double_zh_CN.pass.cpp: idem.
+   locale.moneypunct.byname/
+    decimal_point.pass.cpp: Expects ',' for RU, but gets '.'.
+    thousands_sep.pass.cpp: idem.
+  category.numeric/
+   locale.nm.put/
+    facet.num.put.members/
+     put_long_double.pass.cpp: Fails due to getting '+nan' rather
+      than just 'nan'.
+  category.time/
+   locale.time.get.byname/
+    get_date.pass.cpp: Needs investigation.
+    get_date_wide.pass.cpp: idem.
+    get_monthname.pass.cpp: idem.
+    get_monthname_wide.pass.cpp: idem.
+    get_one.pass.cpp: idem.
+    get_one_wide.pass.cpp: idem.
+    get_weekday.pass.cpp: idem.
+    get_weekday_wide.pass.cpp: idem.
+   locale.time.put.byname/
+    put1.pass.cpp: idem.
+   locale.time.put/
+    locale.time.put.members/
+     put2.pass.cpp: idem.
+  facet.numpunct/
+   locale.numpunct.byname/
+    grouping.pass.cpp: idem.
+    thousands_sep.pass.cpp: idem.
+numerics/
+ c.math/
+  cmath.pass.cpp: Fails for same reason as depr/depr.c.headers/math_h.pass.cpp
+re/
+ re.alg/
+  re.alg.match/
+   awk.pass.cpp: Needs investigation.
+   basic.pass.cpp: idem.
+   ecma.pass.cpp: idem.
+   extended.pass.cpp: idem.
+  re.alg.search/
+   awk.pass.cpp: idem.
+   basic.pass.cpp: idem.
+   ecma.pass.cpp: idem.
+   extended.pass.cpp: idem.
+ re.traits/
+  lookup_collatename.pass.cpp: idem.
+strings/
+ c.strings/
+  cuchar.pass.cpp: Can't find cuchar header
+  version_cuchar.pass.cpp: idem.
+thread/
+ thread.threads/
+  thread.thread.class/
+   thread.thread.static/
+    hardware_concurrency.pass.cpp: Fails due to
+     std::hardware_concurrency unimplemented for non-BSD
+     systems. Patch in progress.
+utilities/
+ memory/
+  unique.ptr/
+   unique.ptr.runtime/
+    unique.ptr.runtime.ctor/
+     default02.pass.cpp:
+      test previously passed, recently started crashing clang. Needs investigation.
+     pointer02.pass.cpp: idem.
+
+ +