Author: Jonas Devlieghere Date: 2020-06-03T14:54:39-07:00 New Revision: 9caa34a24cb7d20a129143281cc0e1b2f44bd95c
URL: https://github.com/llvm/llvm-project/commit/9caa34a24cb7d20a129143281cc0e1b2f44bd95c DIFF: https://github.com/llvm/llvm-project/commit/9caa34a24cb7d20a129143281cc0e1b2f44bd95c.diff LOG: [lldb/Test] Remove un(used|needed|maintained) files from lldbsuite. Added: Modified: Removed: lldb/packages/Python/lldbsuite/.clang-format lldb/packages/Python/lldbsuite/test/lock.py lldb/packages/Python/lldbsuite/test/redo.py ################################################################################ diff --git a/lldb/packages/Python/lldbsuite/.clang-format b/lldb/packages/Python/lldbsuite/.clang-format deleted file mode 100644 index 7de7a512ad7e..000000000000 --- a/lldb/packages/Python/lldbsuite/.clang-format +++ /dev/null @@ -1,4 +0,0 @@ -DisableFormat: true - -# Disabling formatting doesn't implicitly disable include sorting -SortIncludes: false diff --git a/lldb/packages/Python/lldbsuite/test/lock.py b/lldb/packages/Python/lldbsuite/test/lock.py deleted file mode 100644 index e9970e135f93..000000000000 --- a/lldb/packages/Python/lldbsuite/test/lock.py +++ /dev/null @@ -1,27 +0,0 @@ -""" -Interprocess mutex based on file locks -""" - -import fcntl - - -class Lock: - - def __init__(self, filename): - self.filename = filename - # This will create it if it does not exist already - unbuffered = 0 - self.handle = open(filename, 'a+', unbuffered) - - def acquire(self): - fcntl.flock(self.handle, fcntl.LOCK_EX) - - # will throw IOError if unavailable - def try_acquire(self): - fcntl.flock(self.handle, fcntl.LOCK_NB | fcntl.LOCK_EX) - - def release(self): - fcntl.flock(self.handle, fcntl.LOCK_UN) - - def __del__(self): - self.handle.close() diff --git a/lldb/packages/Python/lldbsuite/test/redo.py b/lldb/packages/Python/lldbsuite/test/redo.py deleted file mode 100644 index 03052c3a08ca..000000000000 --- a/lldb/packages/Python/lldbsuite/test/redo.py +++ /dev/null @@ -1,203 +0,0 @@ -#!/usr/bin/env python - -""" -A simple utility to redo the failed/errored tests. - -You need to specify the session directory in order for this script to locate the -tests which need to be re-run. - -See also dotest.py, the test driver running the test suite. - -Type: - -./dotest.py -h - -for help. -""" - -from __future__ import print_function - -import os -import sys -import datetime -import re - -# If True, redo with no '-t' option for the test driver. -no_trace = False - -# To be filled with the filterspecs found in the session logs. -redo_specs = [] - -# The filename components to match for. Only files with the contained component names -# will be considered for re-run. Examples: ['X86_64', 'clang']. -filename_components = [] - -do_delay = False - -# There is a known bug with respect to comp_specs and arch_specs, in that if we -# encountered "-C clang" and "-C gcc" when visiting the session files, both -# compilers will end up in the invocation of the test driver when rerunning. -# That is: ./dotest -v -C clang^gcc ... -f ...". Ditto for "-A" flags. - -# The "-C compiler" for comp_specs. -comp_specs = set() -# The "-A arch" for arch_specs. -arch_specs = set() - - -def usage(): - print("""\ -Usage: redo.py [-F filename_component] [-n] [session_dir] [-d] -where options: --F : only consider the test for re-run if the session filename contains the filename component - for example: -F x86_64 --n : when running the tests, do not turn on trace mode, i.e, no '-t' option - is passed to the test driver (this will run the tests faster) --d : pass -d down to the test driver (introduces a delay so you can attach with a debugger) - -and session_dir specifies the session directory which contains previously -recorded session infos for all the test cases which either failed or errored. - -If sessin_dir is left unspecified, this script uses the heuristic to find the -possible session directories with names starting with %Y-%m-%d- (for example, -2012-01-23-) and employs the one with the latest timestamp.""") - sys.exit(0) - - -def where(session_dir, test_dir): - """Returns the full path to the session directory; None if non-existent.""" - abspath = os.path.abspath(session_dir) - if os.path.isdir(abspath): - return abspath - - session_dir_path = os.path.join(test_dir, session_dir) - if os.path.isdir(session_dir_path): - return session_dir_path - - return None - -# This is the pattern for the line from the log file to redo a test. -# We want the filter spec. -filter_pattern = re.compile("^\./dotest\.py.*-f (.*)$") -comp_pattern = re.compile(" -C ([^ ]+) ") -arch_pattern = re.compile(" -A ([^ ]+) ") - - -def redo(suffix, dir, names): - """Visitor function for os.path.walk(path, visit, arg).""" - global redo_specs - global comp_specs - global arch_specs - global filter_pattern - global comp_pattern - global arch_pattern - global filename_components - global do_delay - - for name in names: - if name.endswith(suffix): - #print("Find a log file:", name) - if name.startswith("Error") or name.startswith("Failure"): - if filename_components: - if not all([comp in name for comp in filename_components]): - continue - with open(os.path.join(dir, name), 'r') as log: - content = log.read() - for line in content.splitlines(): - match = filter_pattern.match(line) - if match: - filterspec = match.group(1) - print("adding filterspec:", filterspec) - redo_specs.append(filterspec) - comp = comp_pattern.search(line) - if comp: - comp_specs.add(comp.group(1)) - arch = arch_pattern.search(line) - if arch: - arch_specs.add(arch.group(1)) - else: - continue - - -def main(): - """Read the session directory and run the failed test cases one by one.""" - global no_trace - global redo_specs - global filename_components - global do_delay - - test_dir = sys.path[0] - if not test_dir: - test_dir = os.getcwd() - if not test_dir.endswith('test'): - print("This script expects to reside in lldb's test directory.") - sys.exit(-1) - - index = 1 - while index < len(sys.argv): - if sys.argv[index].startswith( - '-h') or sys.argv[index].startswith('--help'): - usage() - - if sys.argv[index].startswith('-'): - # We should continue processing... - pass - else: - # End of option processing. - break - - if sys.argv[index] == '-F': - # Increment by 1 to fetch the filename component spec. - index += 1 - if index >= len(sys.argv) or sys.argv[index].startswith('-'): - usage() - filename_components.append(sys.argv[index]) - elif sys.argv[index] == '-n': - no_trace = True - elif sys.argv[index] == '-d': - do_delay = True - - index += 1 - - if index < len(sys.argv): - # Get the specified session directory. - session_dir = sys.argv[index] - else: - # Use heuristic to find the latest session directory. - name = datetime.datetime.now().strftime("%Y-%m-%d-") - dirs = [d for d in os.listdir(os.getcwd()) if d.startswith(name)] - if len(dirs) == 0: - print("No default session directory found, please specify it explicitly.") - usage() - session_dir = max(dirs, key=os.path.getmtime) - if not session_dir or not os.path.exists(session_dir): - print("No default session directory found, please specify it explicitly.") - usage() - - #print("The test directory:", test_dir) - session_dir_path = where(session_dir, test_dir) - - print("Using session dir path:", session_dir_path) - os.chdir(test_dir) - os.path.walk(session_dir_path, redo, ".log") - - if not redo_specs: - print("No failures/errors recorded within the session directory, please specify a diff erent session directory.\n") - usage() - - filters = " -f ".join(redo_specs) - compilers = '' - for comp in comp_specs: - compilers += " -C %s" % (comp) - archs = '' - for arch in arch_specs: - archs += "--arch %s " % (arch) - - command = "./dotest.py %s %s -v %s %s -f " % ( - compilers, archs, "" if no_trace else "-t", "-d" if do_delay else "") - - print("Running %s" % (command + filters)) - os.system(command + filters) - -if __name__ == '__main__': - main() _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits