[all-commits] [llvm/llvm-project] e82f0a: [libc++][Take 2] Create a small DSL for defining L...
Louis Dionne via All-commits
all-commits at lists.llvm.org
Tue Apr 28 07:05:30 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: e82f0a598f86f952910fd80ad3b3d712479cb90a
https://github.com/llvm/llvm-project/commit/e82f0a598f86f952910fd80ad3b3d712479cb90a
Author: Louis Dionne <ldionne at apple.com>
Date: 2020-04-28 (Tue, 28 Apr 2020)
Changed paths:
A libcxx/test/libcxx/selftest/dsl/dsl.sh.py
A libcxx/test/libcxx/selftest/dsl/lit.local.cfg
A libcxx/utils/libcxx/test/dsl.py
Log Message:
-----------
[libc++][Take 2] Create a small DSL for defining Lit features and parameters
This allows defining Lit features that can be enabled or disabled based
on compiler support, and parameters that are passed on the command line.
The main benefits are:
- Feature detection is entirely based on the substitutions provided in
the TestingConfig object, which is simpler and decouples it from the
complicated compiler emulation infrastructure.
- The syntax is declarative, which makes it easy to see what features
and parameters are accepted by the test suite. This is significantly
less entangled than the current config.py logic.
- Since feature detection is based on substitutions, it works really
well on top of the new format, and custom Lit configurations can be
created easily without being based on `config.py`.
This commit is a reapplication of 6d58030c8c7d, which was reverted in
8f24c4b72f3e because it broke Python 3 support. This re-application
supports Python 3.
Differential Revision: https://reviews.llvm.org/D78381
More information about the All-commits
mailing list