[all-commits] [llvm/llvm-project] fb80b6: Make it possible for lit.site.cfg to contain relat...

Nico Weber via All-commits all-commits at lists.llvm.org
Thu Apr 2 10:53:21 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: fb80b6b2d58c476747a3206bd4371b787108591b
      https://github.com/llvm/llvm-project/commit/fb80b6b2d58c476747a3206bd4371b787108591b
  Author: Nico Weber <thakis at chromium.org>
  Date:   2020-04-02 (Thu, 02 Apr 2020)

  Changed paths:
    M clang/test/CMakeLists.txt
    M clang/test/Unit/lit.site.cfg.py.in
    M clang/test/lit.site.cfg.py.in
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/test/CMakeLists.txt
    M llvm/test/Unit/lit.site.cfg.py.in
    M llvm/test/lit.site.cfg.py.in
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    M llvm/utils/gn/secondary/llvm/test/BUILD.gn

  Log Message:
  -----------
  Make it possible for lit.site.cfg to contain relative paths, and use it for llvm and clang

Currently, all generated lit.site.cfg files contain absolute paths.

This makes it impossible to build on one machine, and then transfer the
build output to another machine for test execution. Being able to do
this is useful for several use cases:

1. When running tests on an ARM machine, it would be possible to build
   on a fast x86 machine and then copy build artifacts over after building.

2. It allows running several test suites (clang, llvm, lld) on 3
   different machines, reducing test time from sum(each test suite time) to
   max(each test suite time).

This patch makes it possible to pass a list of variables that should be
relative in the generated lit.site.cfg.py file to
configure_lit_site_cfg(). The lit.site.cfg.py.in file needs to call
`path()` on these variables, so that the paths are converted to absolute
form at lit start time.

The testers would have to have an LLVM checkout at the same revision,
and the build dir would have to be at the same relative path as on the
builder.

This does not yet cover how to figure out which files to copy from the
builder machine to the tester machines. (One idea is to look at the
`--graphviz=test.dot` output and copy all inputs of the `check-llvm`
target.)

Differential Revision: https://reviews.llvm.org/D77184




More information about the All-commits mailing list