[PATCH] D84380: [lit] Support running tests on Windows without GnuWin32.

Stella Stamenova via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 2 20:34:43 PDT 2020


stella.stamenova added a comment.

In D84380#2309853 <https://reviews.llvm.org/D84380#2309853>, @aganea wrote:  Maybe if L28 wasn't there, things would work correctly if you already had the required tools in %PATH%? Would you possibly try that please?

> 

I will try it. I'll let you know if it makes a difference.

> Would it possible to share a bit more about your environement? Which python version? Which git version? Can you share the contents of PATH?

It is *mostly* the same as the public buildbot. The only difference is that internally we use VS to build and the buildbot uses ninja. I am not sure why that would cause this though.

Python: 3.6.6
Git: 2.25.0.windows.1
PATH: `C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\Scripts\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\;C:\Windows\system32;C:\Windows;C:\Program Files (x86)\swigwin-3.0.12;C:\Program Files (x86)\GetGnuWin32\gnuwin32\bin;c:\Python27\Scripts\;C:\Program Files\Git\cmd;C:\Program Files\CMake\bin;`

> When the tests become stuck on your machine, can you look at the threads with Process Explorer or with a debugger?
> Does this happen randomly, or all the time?

The tests get stuck every time on all three of the internal bots that we have when looking for tar.exe inside `lld/test/lit.cfg.py` (see line 104). When I look at the current processes, python.exe has tar.exe as a child and tar.exe (from Git\usr\bin) is not exiting. If I manually kill tar.exe, the tests resume but then every test that uses a tool from Git\usr\bin times out when it reaches the tool. That's as far as I've had time to debug this so far.



================
Comment at: llvm/utils/lit/lit/llvm/config.py:24
-            # For tests that require Windows to run.
-            features.add('system-windows')
-
----------------
aganea wrote:
> stella.stamenova wrote:
> > Why did you drop this? My understanding is that this is needed in the tests to determine when to run/not run some of them based on the system.
> It was already there, please see L53.
I didn't think `sys.platform == 'win32'` is equivalent to `platform.system() == 'Windows'`. Is it?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84380/new/

https://reviews.llvm.org/D84380



More information about the llvm-commits mailing list