[libc++] Execute tests from the Lit execution root instead of the test tree
authorLouis Dionne <ldionne@apple.com>
Wed, 1 Apr 2020 22:48:22 +0000 (18:48 -0400)
committerLouis Dionne <ldionne@apple.com>
Thu, 2 Apr 2020 02:17:03 +0000 (22:17 -0400)
commitff09135fc2b7a9696f87a8a8e89be2ef777895d3
tree8dc405917528042348161c73be932bea2f92a12b
parentdf88d80337d5e0ee0e50ca599d6436854951d8fa
[libc++] Execute tests from the Lit execution root instead of the test tree

Instead of executing tests from within the libc++ test suite, we execute
them from the Lit execution directory. However, since some tests have
file dependencies, we must copy those dependencies to the execution
directory where they are executed.

This has the major benefit that if a test modifies a file (whether it
is wanted or not), other tests will not see those modifications. This
is good because current tests assume that input data is never modified,
however this could be an incorrect assumption if some test does not
behave properly.
libcxx/utils/libcxx/test/config.py
libcxx/utils/libcxx/test/executor.py
libcxx/utils/libcxx/test/format.py
libcxx/utils/run.py