Skip to content

Commit

Permalink
[clang] Replace find_executable with shutil.which in creduce script
Browse files Browse the repository at this point in the history
distutils is deprecated and shutil.which is the suggested
replacement for this function.

https://peps.python.org/pep-0632/#migration-advice
https://docs.python.org/3/library/shutil.html#shutil.which

which was added in 3.3 (https://docs.python.org/3/library/shutil.html#shutil.which)
and LLVM requires at least 3.6 (https://llvm.org/docs/GettingStarted.html#software).

There is one small differnce here that shutil.which ignores the PATH
when given a path argument. However in this case I think that's actually
the behaviour we want.

Reviewed By: zequanwu

Differential Revision: https://reviews.llvm.org/D148529
  • Loading branch information
DavidSpickett committed Apr 17, 2023
1 parent 2be3189 commit ee34137
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions clang/utils/creduce-clang-crash.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
from argparse import ArgumentParser, RawTextHelpFormatter
import os
import re
import shutil
import stat
import sys
import subprocess
import pipes
import shlex
import tempfile
import shutil
from distutils.spawn import find_executable
import multiprocessing

verbose = False
Expand All @@ -43,12 +43,12 @@ def check_cmd(cmd_name, cmd_dir, cmd_path=None):
if cmd_path:
# Make the path absolute so the creduce test can be run from any directory.
cmd_path = os.path.abspath(cmd_path)
cmd = find_executable(cmd_path)
cmd = shutil.which(cmd_path)
if cmd:
return cmd
sys.exit("ERROR: executable `%s` not found" % (cmd_path))

cmd = find_executable(cmd_name, path=cmd_dir)
cmd = shutil.which(cmd_name, path=cmd_dir)
if cmd:
return cmd

Expand Down

0 comments on commit ee34137

Please sign in to comment.