[all-commits] [llvm/llvm-project] dd18fa: [lit] Support running tests on Windows without Gnu...

zjturner via All-commits all-commits at lists.llvm.org
Mon Aug 3 13:48:25 PDT 2020


  Branch: refs/heads/LitFixes
  Home:   https://github.com/llvm/llvm-project
  Commit: dd18fa1d7e71e7bc546251a3a68dac114c5c7526
      https://github.com/llvm/llvm-project/commit/dd18fa1d7e71e7bc546251a3a68dac114c5c7526
  Author: Zachary Turner <zturner at roblox.com>
  Date:   2020-08-03 (Mon, 03 Aug 2020)

  Changed paths:
    M llvm/utils/lit/lit/llvm/config.py

  Log Message:
  -----------
  [lit] Support running tests on Windows without GnuWin32.

Historically, we have told contributors that GnuWin32 is a pre-requisite
because our tests depend on utilities such as sed, grep, diff, and more.
However, Git on Windows includes versions of these utilities in its
installation.  Furthermore, GnuWin32 has not been updated in many years.
For these reasons, it makes sense to have the ability to run llvm tests
in a way that is both:
  a) Easier on the user (less stuff to install)
  b) More up-to-date (The verions that ship with git are at least as
     new, if not newer, than the versions in GnuWin32.

We add support for this here by attempting to detect where Git is
installed using the Windows registry, confirming the existence of
several common Unix tools, and then adding this location to lit's PATH
environment.


  Commit: ee5ed9d11e77f02631ed782f4ed8f6e872047b02
      https://github.com/llvm/llvm-project/commit/ee5ed9d11e77f02631ed782f4ed8f6e872047b02
  Author: Zachary Turner <zturner at roblox.com>
  Date:   2020-08-03 (Mon, 03 Aug 2020)

  Changed paths:
    M llvm/utils/lit/lit/util.py

  Log Message:
  -----------
  Allow lit.util.which() to find executables with extension.

LLVM usually specifies executable names without extension so that
they work portably across platforms.  Occasionally, if you're writing
something platform specific, you might want to specify the extension.
For example, you might want to write a test that invokes a batch file.
It's awkward to say foo when the file is really called foo.bat, but
in this case lit.util.which() currently won't find it because it will
construct the filename foo.bat.bat.


Compare: https://github.com/llvm/llvm-project/compare/dd18fa1d7e71%5E...ee5ed9d11e77


More information about the All-commits mailing list