llvm-project/libcxx/test/std/utilities/smartptr/unique.ptr
Louis Dionne 7a6aaf9b23 [libc++] Remove workaround for .fail.cpp tests that don't have clang-verify markup
By renaming .fail.cpp tests that don't need clang-verify to .compile.fail.cpp,
the new test format will not try to compile these tests with clang-verify,
and the old test format will work just the same. However, this allows
removing a workaround that requires parsing each test looking for
clang-verify markup.

After this change, a .fail.cpp test should always have clang-verify markup.
When clang-verify is not supported by the compiler, we will just check that
these tests fail to compile. When clang-verify is supported, these tests
will be compiled with clang-verify whether they have markup or not (so
they should have markup, or they will fail).

This simplifies the test suite and also ensures that all of our .fail.cpp
tests provide clang-verify markup. If it's impossible for a test to have
clang-verify markup, it can be moved to a .compile.fail.cpp test, which
are unconditionally just checked for compilation failure.
2020-04-15 10:53:37 -04:00
..
unique.ptr.class [libc++] Do not force the use of -Werror in verify tests 2020-03-26 07:54:45 -04:00
unique.ptr.create [libc++] Remove workaround for .fail.cpp tests that don't have clang-verify markup 2020-04-15 10:53:37 -04:00
unique.ptr.dltr [libc++] Remove workaround for .fail.cpp tests that don't have clang-verify markup 2020-04-15 10:53:37 -04:00
unique.ptr.special Add include for 'test_macros.h' to all the tests that were missing them. Thanks to Zoe for the (big, but simple) patch. NFC intended. 2019-05-31 18:35:30 +00:00
README.TXT

README.TXT

Test Naming and Directory Structure
===================================

The directory structure for the unique_ptr class templates differs from the
normal test directory naming conventions (e.g. matching the stable name in the standard).

Instead of having a [unique.ptr.single] and [unique.ptr.runtime] directory,
each containing their own tests, a single directory, "unique.ptr.class",
contains both sets of tests.

This allows the common behavior of the two unique_ptr specializations to be
tested in the same place without duplication.

Tests specific to [unique.ptr.single] have the suffix ".single.pass.cpp"
and those specific to [unique.ptr.runtime] are named "*.runtime.pass.cpp".
Tests for both specializations are named normally.