[all-commits] [llvm/llvm-project] ec46cf: [libcxx] Simplify back-deployment testing

Louis Dionne via All-commits all-commits at lists.llvm.org
Thu Sep 10 05:17:57 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ec46cfefe80d58cdc7068ad4e4f8efde6d94d835
      https://github.com/llvm/llvm-project/commit/ec46cfefe80d58cdc7068ad4e4f8efde6d94d835
  Author: Louis Dionne <ldionne at apple.com>
  Date:   2020-09-10 (Thu, 10 Sep 2020)

  Changed paths:
    M libcxx/docs/DesignDocs/AvailabilityMarkup.rst
    M libcxx/test/configs/legacy.cfg.in
    M libcxx/utils/ci/macos-backdeployment.sh
    M libcxx/utils/libcxx/test/config.py
    M libcxx/utils/libcxx/test/target_info.py
    M libcxxabi/test/lit.site.cfg.in
    M libunwind/test/lit.site.cfg.in

  Log Message:
  -----------
  [libcxx] Simplify back-deployment testing

The needs of back-deployment testing currently require two different
ways of running the test suite: one based on the deployment target,
and one based on the target triple. Since the triple includes all the
information we need, it's better to have just one way of doing things.

Furthermore, `--param platform=XXX` is also supersedded by using the
target triple. Previously, this parameter would serve the purpose of
controling XFAILs for availability markup errors, however it is possible
to achieve the same thing by using with_system_cxx_lib only and using
.verify.cpp tests instead, as explained in the documentation changes.

The motivation for this change is twofold:
1. This part of the Lit config has always been really confusing and
   complicated, and it has been a source of bugs in the past. I have
   simplified it iteratively in the past, but the complexity is still
   there.
2. The deployment-target detection started failing in weird ways in
   recent Clangs, breaking our CI. Instead of band-aid patching the
   issue, I decided to remove the complexity altogether by using target
   triples even on Apple platforms.

A follow-up to this commit will bring the test suite in line with
the recommended way of handling availability markup tests.




More information about the All-commits mailing list