Skip to content

Conversation

@omjavaid
Copy link
Contributor

@omjavaid omjavaid commented Aug 26, 2025

This PR adds support for running the LLVM test-suite on Windows buildbots using ClangBuilder. The changes ensure that the correct executable paths and file extensions are used when running Python and LNT scripts on Windows.

This depends on llvm/llvm-project#155226 which adds llvm-lit.cmd wrapper to make llvm-lit directory runnable on windows.

This commit adds support for running the LLVM test-suite on
Windows buildbots using Clangbuilder. The changes ensure that
the correct executable paths and file extensions are used when
running Python and LNT scripts on Windows.

This depends on #55226 which adds llvm-lit.cmd wrapper to make
llvm-lit directory runnable on windows.
Copy link
Contributor

@DavidSpickett DavidSpickett left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@omjavaid omjavaid merged commit 60d2141 into llvm:main Aug 29, 2025
3 checks passed
omjavaid added a commit that referenced this pull request Aug 29, 2025
This PR adds a new buildbot to run LLVM testsuite on windows. It adds a
new builder and worker pair. The testsuite will run after the first
stage build skipping the ninja check step as we cover that on other
buildbots. This will primarily be the builder to test that ensures LNT
and LLVM testsuite are running without regressions on windows. We will
later build on it to add support for test more as our Windows hardware
availability improves.

This depends on #575 and llvm/llvm-project#155226.
python = util.Interpolate('%(prop:builddir)s/test/sandbox/bin/python')
lnt = util.Interpolate('%(prop:builddir)s/test/sandbox/bin/lnt')
lnt_setup = util.Interpolate('%(prop:builddir)s/test/lnt/setup.py')
python = InterpolateToPosixPath('%(prop:builddir)s/test/sandbox/Scripts/python')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not correct for Linux:

/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/sandbox/Scripts/python -m pip install setuptools
 in dir /home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/sandbox (timeout 1200 secs)
 watching logfiles {}
 argv: [b'/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/sandbox/Scripts/python', b'-m', b'pip', b'install', b'setuptools']
 environment:
  HOME=/home/tcwg-buildbot
  HOSTNAME=linaro-clang-aarch64-lld-2stage
  LANG=en_US.UTF-8
  LOGNAME=tcwg-buildbot
  MAIL=/var/mail/tcwg-buildbot
  NO_STOP_MESSAGE=1
  PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
  PWD=/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/sandbox
  SHELL=/bin/bash
  SHLVL=0
  SUDO_COMMAND=/bin/bash -c buildbot-worker restart --nodaemon /home/tcwg-buildbot/worker
  SUDO_GID=0
  SUDO_UID=0
  SUDO_USER=root
  TERM=xterm
  USER=tcwg-buildbot
  _=/usr/bin/buildbot-worker
 using PTY: False
Upon execvpe b'/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/sandbox/Scripts/python' [b'/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/sandbox/Scripts/python', b'-m', b'pip', b'install', b'setuptools'] in environment id 251397130647040
:Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/twisted/internet/process.py", line 397, in _fork
    self._execChild(path, uid, gid, executable, args, environment)
  File "/usr/lib/python3/dist-packages/twisted/internet/process.py", line 468, in _execChild
    os.execvpe(executable, args, environment)
  File "/usr/lib/python3.10/os.py", line 584, in execvpe
    _execvpe(file, args, env)
  File "/usr/lib/python3.10/os.py", line 598, in _execvpe
    exec_func(file, *argrest)
FileNotFoundError: [Errno 2] No such file or directory: b'/home/tcwg-buildbot/worker/clang-aarch64-lld-2stage/test/sandbox/Scripts/python'
program finished with exit code 1
elapsedTime=0.048819

Needs to be /bin:

$ ./worker/clang-aarch64-lld-2stage/test/sandbox/bin/python
Python 3.10.12 (main, May 27 2025, 17:12:29) [GCC 11.4.0] on linux

vvereschaka pushed a commit to vvereschaka/llvm-zorg that referenced this pull request Sep 25, 2025
This PR adds support for running the LLVM test-suite on Windows
buildbots using ClangBuilder. The changes ensure that the correct
executable paths and file extensions are used when running Python and
LNT scripts on Windows.

This depends on llvm/llvm-project#155226 which adds llvm-lit.cmd wrapper
to make llvm-lit directory runnable on windows.
vvereschaka pushed a commit to vvereschaka/llvm-zorg that referenced this pull request Sep 25, 2025
This PR adds a new buildbot to run LLVM testsuite on windows. It adds a
new builder and worker pair. The testsuite will run after the first
stage build skipping the ninja check step as we cover that on other
buildbots. This will primarily be the builder to test that ensures LNT
and LLVM testsuite are running without regressions on windows. We will
later build on it to add support for test more as our Windows hardware
availability improves.

This depends on llvm#575 and llvm/llvm-project#155226.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants