[libcxx] Start defining lit features for tests depending on availability
authorLouis Dionne <ldionne@apple.com>
Tue, 5 Feb 2019 19:22:38 +0000 (19:22 +0000)
committerLouis Dionne <ldionne@apple.com>
Tue, 5 Feb 2019 19:22:38 +0000 (19:22 +0000)
commit51358e45e23ea0889d11a91c4077bb3af406be55
tree32dcc743c3c83509bc9be77f0a6276bd8588ada4
parent3fdb07258b941eb4f52d5a964f2a67f87d906222
[libcxx] Start defining lit features for tests depending on availability

This patch removes some vendor-specific availability XFAILs from the
test suite. In the future, when a new feature is introduced in the
dylib, an availability macro should be created and a matching lit
feature should be created. That way, the test suite can XFAIL whenever
the implementation lacks the necessary feature instead of being
cluttered by vendor-specific annotations.

Right now, those vendor-specific annotations are still somewhat cluttering
the test suite by being in `config.py`, but at least they are localized.
In the future, we could design a way to define those less intrusively or
even automatically based on the availability macros that already exist
in <__config>.

llvm-svn: 353201
47 files changed:
libcxx/docs/DesignDocs/AvailabilityMarkup.rst
libcxx/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
libcxx/test/std/utilities/any/any.class/any.assign/move.pass.cpp
libcxx/test/std/utilities/any/any.class/any.assign/value.pass.cpp
libcxx/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
libcxx/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
libcxx/test/std/utilities/any/any.class/any.cons/move.pass.cpp
libcxx/test/std/utilities/any/any.class/any.cons/value.pass.cpp
libcxx/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
libcxx/test/std/utilities/any/any.class/any.modifiers/reset.pass.cpp
libcxx/test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp
libcxx/test/std/utilities/any/any.nonmembers/any.cast/any_cast_pointer.pass.cpp
libcxx/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
libcxx/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
libcxx/test/std/utilities/any/any.nonmembers/swap.pass.cpp
libcxx/test/std/utilities/optional/optional.bad_optional_access/default.pass.cpp
libcxx/test/std/utilities/optional/optional.bad_optional_access/derive.pass.cpp
libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value.pass.cpp
libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_const.pass.cpp
libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_const_rvalue.pass.cpp
libcxx/test/std/utilities/optional/optional.object/optional.object.observe/value_rvalue.pass.cpp
libcxx/test/std/utilities/optional/optional.specalg/make_optional.pass.cpp
libcxx/test/std/utilities/variant/variant.bad_variant_access/bad_variant_access.pass.cpp
libcxx/test/std/utilities/variant/variant.get/get_index.pass.cpp
libcxx/test/std/utilities/variant/variant.get/get_type.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.assign/copy.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.ctor/copy.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.ctor/move.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
libcxx/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
libcxx/test/std/utilities/variant/variant.visit/visit.pass.cpp
libcxx/utils/libcxx/test/config.py