summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lldb/packages/Python/lldbsuite/test/configuration.py
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-03 14:33:06 +0000
committerpatrick <patrick@openbsd.org>2020-08-03 14:33:06 +0000
commit061da546b983eb767bad15e67af1174fb0bcf31c (patch)
tree83c78b820819d70aa40c36d90447978b300078c5 /gnu/llvm/lldb/packages/Python/lldbsuite/test/configuration.py
parentImport LLVM 10.0.0 release including clang, lld and lldb. (diff)
downloadwireguard-openbsd-061da546b983eb767bad15e67af1174fb0bcf31c.tar.xz
wireguard-openbsd-061da546b983eb767bad15e67af1174fb0bcf31c.zip
Import LLVM 10.0.0 release including clang, lld and lldb.
ok hackroom tested by plenty
Diffstat (limited to 'gnu/llvm/lldb/packages/Python/lldbsuite/test/configuration.py')
-rw-r--r--gnu/llvm/lldb/packages/Python/lldbsuite/test/configuration.py188
1 files changed, 188 insertions, 0 deletions
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/configuration.py b/gnu/llvm/lldb/packages/Python/lldbsuite/test/configuration.py
new file mode 100644
index 00000000000..09fc646f96e
--- /dev/null
+++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/configuration.py
@@ -0,0 +1,188 @@
+"""
+Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+See https://llvm.org/LICENSE.txt for license information.
+SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+Provides the configuration class, which holds all information related to
+how this invocation of the test suite should be run.
+"""
+
+from __future__ import absolute_import
+from __future__ import print_function
+
+# System modules
+import os
+
+
+# Third-party modules
+import unittest2
+
+# LLDB Modules
+import lldbsuite
+
+
+# The test suite.
+suite = unittest2.TestSuite()
+
+# The list of categories we said we care about
+categories_list = None
+# set to true if we are going to use categories for cherry-picking test cases
+use_categories = False
+# Categories we want to skip
+skip_categories = ["darwin-log"]
+# Categories we expect to fail
+xfail_categories = []
+# use this to track per-category failures
+failures_per_category = {}
+
+# The path to LLDB.framework is optional.
+lldb_framework_path = None
+
+# Test suite repeat count. Can be overwritten with '-# count'.
+count = 1
+
+# The 'arch' and 'compiler' can be specified via command line.
+arch = None # Must be initialized after option parsing
+compiler = None # Must be initialized after option parsing
+
+# The overriden dwarf verison.
+dwarf_version = 0
+
+# Any overridden settings.
+# Always disable default dynamic types for testing purposes.
+settings = [('target.prefer-dynamic-value', 'no-dynamic-values')]
+
+# Path to the FileCheck testing tool. Not optional.
+filecheck = None
+
+# The arch might dictate some specific CFLAGS to be passed to the toolchain to build
+# the inferior programs. The global variable cflags_extras provides a hook to do
+# just that.
+cflags_extras = ''
+
+# The filters (testclass.testmethod) used to admit tests into our test suite.
+filters = []
+
+# The regular expression pattern to match against eligible filenames as
+# our test cases.
+regexp = None
+
+# Sets of tests which are excluded at runtime
+skip_tests = None
+xfail_tests = None
+
+# By default, recorded session info for errored/failed test are dumped into its
+# own file under a session directory named after the timestamp of the test suite
+# run. Use '-s session-dir-name' to specify a specific dir name.
+sdir_name = None
+
+# Valid options:
+# f - test file name (without extension)
+# n - test class name
+# m - test method name
+# a - architecture
+# c - compiler path
+# The default is to write all fields.
+session_file_format = 'fnmac'
+
+# Set this flag if there is any session info dumped during the test run.
+sdir_has_content = False
+
+# svn_info stores the output from 'svn info lldb.base.dir'.
+svn_info = ''
+
+# Default verbosity is 0.
+verbose = 0
+
+# By default, search from the script directory.
+# We can't use sys.path[0] to determine the script directory
+# because it doesn't work under a debugger
+testdirs = [os.path.dirname(os.path.realpath(__file__))]
+
+# Separator string.
+separator = '-' * 70
+
+failed = False
+
+# LLDB Remote platform setting
+lldb_platform_name = None
+lldb_platform_url = None
+lldb_platform_working_dir = None
+
+# The base directory in which the tests are being built.
+test_build_dir = None
+
+# The clang module cache directory used by lldb.
+lldb_module_cache_dir = None
+# The clang module cache directory used by clang.
+clang_module_cache_dir = None
+
+# The only directory to scan for tests. If multiple test directories are
+# specified, and an exclusive test subdirectory is specified, the latter option
+# takes precedence.
+exclusive_test_subdir = None
+
+# Test results handling globals
+results_filename = None
+results_formatter_name = None
+results_formatter_object = None
+results_formatter_options = None
+test_result = None
+
+# Test rerun configuration vars
+rerun_all_issues = False
+
+# The names of all tests. Used to assert we don't have two tests with the
+# same base name.
+all_tests = set()
+
+def shouldSkipBecauseOfCategories(test_categories):
+ if use_categories:
+ if len(test_categories) == 0 or len(
+ categories_list & set(test_categories)) == 0:
+ return True
+
+ for category in skip_categories:
+ if category in test_categories:
+ return True
+
+ return False
+
+
+def get_absolute_path_to_exclusive_test_subdir():
+ """
+ If an exclusive test subdirectory is specified, return its absolute path.
+ Otherwise return None.
+ """
+ test_directory = os.path.dirname(os.path.realpath(__file__))
+
+ if not exclusive_test_subdir:
+ return
+
+ if len(exclusive_test_subdir) > 0:
+ test_subdir = os.path.join(test_directory, exclusive_test_subdir)
+ if os.path.isdir(test_subdir):
+ return test_subdir
+
+ print('specified test subdirectory {} is not a valid directory\n'
+ .format(test_subdir))
+
+
+def get_absolute_path_to_root_test_dir():
+ """
+ If an exclusive test subdirectory is specified, return its absolute path.
+ Otherwise, return the absolute path of the root test directory.
+ """
+ test_subdir = get_absolute_path_to_exclusive_test_subdir()
+ if test_subdir:
+ return test_subdir
+
+ return os.path.dirname(os.path.realpath(__file__))
+
+
+def get_filecheck_path():
+ """
+ Get the path to the FileCheck testing tool.
+ """
+ if filecheck and os.path.lexists(filecheck):
+ return filecheck