[cfe-dev] [libcxx] Current test results on Linux against all supported ABI libraries

Michael van der Westhuizen r1mikey at gmail.com
Thu Feb 7 01:38:19 PST 2013


Hi All,

As I mentioned in a mail to cfe-commits, here are current (r174590 + all patches I mailed to cfe-commits today) libcxx test results for Linux against all supported ABI libraries.

There are 40 failures common to all ABI libraries.  Many of these appear to be related to localisation differences between Linux and Darwin.  Specifically, many tests fail due to the Linux localisations in UTF-8 being multibyte for things like thousands separators (i.e. non-breaking whitespace instead of just a space).  I believe this issue in particular is a known problem.  Now that Daniel has added XFAIL support to the libcxx tests we can probably suppress some of these (or split them to isolate and suppress platform differences better than we do right now).

When building with libc++abi there is one failiure in addition to those in the common set.

When building with libcxxrt there are two failures in addition to those in the common set.

When building with libsupc++ there are 59 failures in addition to those in the common set (this is largely due to lack of dependent EH ABI support).

Now, in detail, the 40 common failures are:
    depr/depr.c.headers/math_h.pass.cpp
    depr/exception.unexpected/set.unexpected/get_unexpected.pass.cpp
    diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    input.output/iostream.format/ext.manip/get_time.pass.cpp
    input.output/iostream.format/ext.manip/put_time.pass.cpp
    language.support/support.start.term/quick_exit.pass.cpp
    localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
    localization/locale.categories/category.ctype/locale.ctype.byname/narrow_1.pass.cpp
    localization/locale.categories/category.ctype/locale.ctype.byname/narrow_many.pass.cpp
    localization/locale.categories/category.ctype/locale.ctype.byname/widen_1.pass.cpp
    localization/locale.categories/category.ctype/locale.ctype.byname/widen_many.pass.cpp
    localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
    localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
    localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_point.pass.cpp
    localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
    localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
    localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
    localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
    localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
    localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
    localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
    localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
    localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
    localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
    localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
    localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
    localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
    localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
    numerics/c.math/cmath.pass.cpp
    re/re.alg/re.alg.match/awk.pass.cpp
    re/re.alg/re.alg.match/basic.pass.cpp
    re/re.alg/re.alg.match/ecma.pass.cpp
    re/re.alg/re.alg.match/extended.pass.cpp
    re/re.alg/re.alg.search/awk.pass.cpp
    re/re.alg/re.alg.search/basic.pass.cpp
    re/re.alg/re.alg.search/ecma.pass.cpp
    re/re.alg/re.alg.search/extended.pass.cpp
    re/re.traits/lookup_collatename.pass.cpp
    strings/c.strings/cuchar.pass.cpp
    strings/c.strings/version_cuchar.pass.cpp

The additional failures over the common set when using libc++abi are:
    depr/exception.unexpected/set.unexpected/set_unexpected.pass.cpp

The additional failures over the common set when using libcxxrt are:
    depr/exception.unexpected/set.unexpected/set_unexpected.pass.cpp
    localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_out.pass.cpp

And the additional failures over the common set when using libsupc++ are:
    language.support/support.exception/exception.terminate/set.terminate/get_terminate.pass.cpp
    language.support/support.exception/except.nested/assign.pass.cpp
    language.support/support.exception/except.nested/ctor_copy.pass.cpp
    language.support/support.exception/except.nested/ctor_default.pass.cpp
    language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp
    language.support/support.exception/except.nested/rethrow_nested.pass.cpp
    language.support/support.exception/except.nested/throw_with_nested.pass.cpp
    language.support/support.exception/propagation/current_exception.pass.cpp
    language.support/support.exception/propagation/exception_ptr.pass.cpp
    language.support/support.exception/propagation/make_exception_ptr.pass.cpp
    language.support/support.exception/propagation/rethrow_exception.pass.cpp
    language.support/support.exception/uncaught/uncaught_exception.pass.cpp
    thread/futures/futures.async/async.pass.cpp
    thread/futures/futures.promise/alloc_ctor.pass.cpp
    thread/futures/futures.promise/default.pass.cpp
    thread/futures/futures.promise/dtor.pass.cpp
    thread/futures/futures.promise/get_future.pass.cpp
    thread/futures/futures.promise/move_assign.pass.cpp
    thread/futures/futures.promise/move_ctor.pass.cpp
    thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
    thread/futures/futures.promise/set_exception.pass.cpp
    thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp
    thread/futures/futures.promise/set_lvalue.pass.cpp
    thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp
    thread/futures/futures.promise/set_rvalue.pass.cpp
    thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp
    thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp
    thread/futures/futures.promise/set_value_const.pass.cpp
    thread/futures/futures.promise/set_value_void.pass.cpp
    thread/futures/futures.promise/swap.pass.cpp
    thread/futures/futures.shared_future/copy_assign.pass.cpp
    thread/futures/futures.shared_future/copy_ctor.pass.cpp
    thread/futures/futures.shared_future/ctor_future.pass.cpp
    thread/futures/futures.shared_future/dtor.pass.cpp
    thread/futures/futures.shared_future/get.pass.cpp
    thread/futures/futures.shared_future/move_assign.pass.cpp
    thread/futures/futures.shared_future/move_ctor.pass.cpp
    thread/futures/futures.shared_future/wait_for.pass.cpp
    thread/futures/futures.shared_future/wait.pass.cpp
    thread/futures/futures.shared_future/wait_until.pass.cpp
    thread/futures/futures.tas/futures.task.members/assign_move.pass.cpp
    thread/futures/futures.tas/futures.task.members/ctor_func_alloc.pass.cpp
    thread/futures/futures.tas/futures.task.members/ctor_func.pass.cpp
    thread/futures/futures.tas/futures.task.members/ctor_move.pass.cpp
    thread/futures/futures.tas/futures.task.members/dtor.pass.cpp
    thread/futures/futures.tas/futures.task.members/get_future.pass.cpp
    thread/futures/futures.tas/futures.task.members/make_ready_at_thread_exit.pass.cpp
    thread/futures/futures.tas/futures.task.members/operator.pass.cpp
    thread/futures/futures.tas/futures.task.members/reset.pass.cpp
    thread/futures/futures.tas/futures.task.members/swap.pass.cpp
    thread/futures/futures.tas/futures.task.nonmembers/swap.pass.cpp
    thread/futures/futures.unique_future/dtor.pass.cpp
    thread/futures/futures.unique_future/get.pass.cpp
    thread/futures/futures.unique_future/move_assign.pass.cpp
    thread/futures/futures.unique_future/move_ctor.pass.cpp
    thread/futures/futures.unique_future/share.pass.cpp
    thread/futures/futures.unique_future/wait_for.pass.cpp
    thread/futures/futures.unique_future/wait.pass.cpp
    thread/futures/futures.unique_future/wait_until.pass.cpp

Michael





More information about the cfe-dev mailing list