mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 09:16:08 +00:00
[Utils] Refactor update_cc_test_checks.py to use shutil
The package `distutils` is deprecated and removal is planned for Python 3.12. All calls to `distutils.spawn.find_executable` are replaced with local version of `find_executable` which makes use of `shutils.which`. Reviewed By: arichardson, MaskRay Differential Revision: https://reviews.llvm.org/D134015
This commit is contained in:
parent
c39311eb40
commit
01fdc2a3c9
@ -16,11 +16,11 @@ from __future__ import print_function
|
||||
|
||||
import argparse
|
||||
import collections
|
||||
import distutils.spawn
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import shlex
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
@ -140,6 +140,14 @@ def infer_dependent_args(args):
|
||||
args.opt = os.path.join(args.llvm_bin, 'opt')
|
||||
|
||||
|
||||
def find_executable(executable):
|
||||
_, ext = os.path.splitext(executable)
|
||||
if sys.platform == 'win32' and ext != '.exe':
|
||||
executable = executable + '.exe'
|
||||
|
||||
return shutil.which(executable)
|
||||
|
||||
|
||||
def config():
|
||||
parser = argparse.ArgumentParser(
|
||||
description=__doc__,
|
||||
@ -167,7 +175,7 @@ def config():
|
||||
args = common.parse_commandline_args(parser)
|
||||
infer_dependent_args(args)
|
||||
|
||||
if not distutils.spawn.find_executable(args.clang):
|
||||
if not find_executable(args.clang):
|
||||
print('Please specify --llvm-bin or --clang', file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
@ -183,7 +191,7 @@ def config():
|
||||
common.warn('Could not determine clang builtins directory, some tests '
|
||||
'might not update correctly.')
|
||||
|
||||
if not distutils.spawn.find_executable(args.opt):
|
||||
if not find_executable(args.opt):
|
||||
# Many uses of this tool will not need an opt binary, because it's only
|
||||
# needed for updating a test that runs clang | opt | FileCheck. So we
|
||||
# defer this error message until we find that opt is actually needed.
|
||||
|
Loading…
x
Reference in New Issue
Block a user