forked from OSchip/llvm-project
Fix a brain-fail with debuginfo-tests/dexter internal tests
I baked the "test" subcommand into the %dexter substituion, as that's what all of the dexter tests use. However I forgot about the internal tests for whether dexters features are working. Install a %dexter_base command to allow those tests to call dexter.py directly, and un-xfail the tests on darwin. Update too the list of paths the unittests shouldn't try and cover, as it tries to load dbgeng on unix machines. Ideally we wouldn't be using this method of test discovery in the future.
This commit is contained in:
parent
d32a6f0812
commit
7f738c811a
|
@ -31,6 +31,8 @@ class DexTestLoader(unittest.TestLoader):
|
|||
else:
|
||||
if d == 'windows':
|
||||
return False
|
||||
elif d == 'dbgeng':
|
||||
return False
|
||||
return fnmatch(path, pattern)
|
||||
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: not %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: not %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -glldb" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: expect_program_state.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: not %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: not %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: expect_step_kinds.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: not %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: not %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: expect_step_order.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: not %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: not %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: expect_watch_type.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: not %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: not %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: expect_watch_value.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: not %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: not %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: unreachable.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -glldb" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: expect_program_state.cpp:
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: direction.cpp:
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: func.cpp:
|
||||
|
|
|
@ -3,8 +3,10 @@
|
|||
// for a trivial test. Expect one 'FUNC_EXTERNAL' per external call.
|
||||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
// XFAIL: system-linux
|
||||
// This fails right now on my linux machine, needs examining as to why.
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: func_external.cpp:
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: recursive.cpp:
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: small_loop.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: expect_step_order.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: expect_watch_type.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: expect_watch_value.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: unreachable.cpp:
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: true
|
||||
// RUN: %dexter clang-opt-bisect --debugger 'lldb' --builder 'clang' \
|
||||
// RUN: %dexter_base clang-opt-bisect --debugger 'lldb' --builder 'clang' \
|
||||
// RUN: --cflags "-O0 -g" -- %s \
|
||||
// RUN: | FileCheck %s
|
||||
// CHECK: running pass 0
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
XFAIL: darwin
|
||||
Purpose:
|
||||
Check the `help` subtool runs.
|
||||
|
||||
RUN: %dexter help | FileCheck %s
|
||||
RUN: %dexter_base help | FileCheck %s
|
||||
CHECK: The following subtools are available:
|
||||
CHECK: clang-opt-bisect
|
||||
CHECK: help
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
XFAIL: darwin
|
||||
Purpose:
|
||||
Check the `list-debuggers` subtool runs.
|
||||
|
||||
RUN: %dexter list-debuggers | FileCheck %s
|
||||
RUN: %dexter_base list-debuggers | FileCheck %s
|
||||
CHECK: lldb
|
||||
CHECK: vs2015
|
||||
CHECK: vs2017
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// XFAIL: darwin
|
||||
// Purpose:
|
||||
// Check that parsing bad commands gives a useful error.
|
||||
// - Unbalanced parenthesis
|
||||
|
@ -8,7 +7,7 @@
|
|||
// Note: Despite using 'lldb' as the debugger, lldb is not actually required
|
||||
// as the test should finish before lldb would be invoked.
|
||||
//
|
||||
// RUN: not %dexter test --builder 'clang' --debugger 'lldb' \
|
||||
// RUN: not %dexter_base test --builder 'clang' --debugger 'lldb' \
|
||||
// RUN: --cflags "-O0 -g" -v -- %s \
|
||||
// RUN: | FileCheck %s --match-full-lines --strict-whitespace
|
||||
//
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// XFAIL: darwin
|
||||
// Purpose:
|
||||
// Check that parsing bad commands gives a useful error.
|
||||
// - Unbalanced parenthesis over multiple lines
|
||||
|
@ -8,7 +7,7 @@
|
|||
// Note: Despite using 'lldb' as the debugger, lldb is not actually required
|
||||
// as the test should finish before lldb would be invoked.
|
||||
//
|
||||
// RUN: not %dexter test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: not %dexter_base test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: --cflags "-O0 -g" -v -- %s \
|
||||
// RUN: | FileCheck %s --match-full-lines --strict-whitespace
|
||||
//
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// XFAIL: darwin
|
||||
// Purpose:
|
||||
// Check that parsing bad commands gives a useful error.
|
||||
// - Syntax error (misplaced ',')
|
||||
|
@ -8,7 +7,7 @@
|
|||
// Note: Despite using 'lldb' as the debugger, lldb is not actually required
|
||||
// as the test should finish before lldb would be invoked.
|
||||
//
|
||||
// RUN: not %dexter test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: not %dexter_base test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: --cflags "-O0 -g" -v -- %s \
|
||||
// RUN: | FileCheck %s --match-full-lines --strict-whitespace
|
||||
//
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// XFAIL: darwin
|
||||
// Purpose:
|
||||
// Check that parsing bad commands gives a useful error.
|
||||
// - Syntax error (misplaced ',') over multiple lines
|
||||
|
@ -8,7 +7,7 @@
|
|||
// Note: Despite using 'lldb' as the debugger, lldb is not actually required
|
||||
// as the test should finish before lldb would be invoked.
|
||||
//
|
||||
// RUN: not %dexter test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: not %dexter_base test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: --cflags "-O0 -g" -v -- %s \
|
||||
// RUN: | FileCheck %s --match-full-lines --strict-whitespace
|
||||
//
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// XFAIL: darwin
|
||||
// Purpose:
|
||||
// Check that parsing bad commands gives a useful error.
|
||||
// - Type error (missing args)
|
||||
|
@ -8,7 +7,7 @@
|
|||
// Note: Despite using 'lldb' as the debugger, lldb is not actually required
|
||||
// as the test should finish before lldb would be invoked.
|
||||
//
|
||||
// RUN: not %dexter test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: not %dexter_base test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: --cflags "-O0 -g" -v -- %s \
|
||||
// RUN: | FileCheck %s --match-full-lines --strict-whitespace
|
||||
//
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// XFAIL: darwin
|
||||
// Purpose:
|
||||
// Check that parsing bad commands gives a useful error.
|
||||
// - Type error (missing args) over multple lines
|
||||
|
@ -8,7 +7,7 @@
|
|||
// Note: Despite using 'lldb' as the debugger, lldb is not actually required
|
||||
// as the test should finish before lldb would be invoked.
|
||||
//
|
||||
// RUN: not %dexter test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: not %dexter_base test --builder 'clang' --debugger "lldb" \
|
||||
// RUN: --cflags "-O0 -g" -v -- %s \
|
||||
// RUN: | FileCheck %s --match-full-lines --strict-whitespace
|
||||
//
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
//
|
||||
// REQUIRES: system-linux, lldb
|
||||
//
|
||||
// RUN: %dexter test --fail-lt 1.0 -w \
|
||||
// RUN: %dexter_base test --fail-lt 1.0 -w \
|
||||
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" \
|
||||
// RUN: --results %t -- %s
|
||||
//
|
||||
// RUN: %dexter view %t/view.cpp.dextIR | FileCheck %s
|
||||
// RUN: %dexter_base view %t/view.cpp.dextIR | FileCheck %s
|
||||
// CHECK: ## BEGIN
|
||||
// CHECK: ## END
|
||||
//
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
XFAIL: darwin
|
||||
Purpose:
|
||||
Run DExTer unit tests.
|
||||
|
||||
# Dexter returns 1 when no subtools are specified.
|
||||
RUN: not %dexter --unittest=show-all 2>&1 | FileCheck %s
|
||||
RUN: not %dexter_base --unittest=show-all 2>&1 | FileCheck %s
|
||||
|
||||
CHECK: Ran {{[0-9]+}} tests
|
||||
CHECK-EMPTY:
|
||||
|
|
|
@ -97,13 +97,18 @@ if lldb_path is not None:
|
|||
config.available_features.add('lldb')
|
||||
|
||||
# Produce dexter path, lldb path, and combine into the %dexter substitution
|
||||
# for running a test.
|
||||
dexter_path = os.path.join(config.debuginfo_tests_src_root,
|
||||
'dexter', 'dexter.py')
|
||||
dexter_cmd = '"{}" "{}" test'.format(config.python3_executable, dexter_path)
|
||||
dexter_test_cmd = '"{}" "{}" test'.format(config.python3_executable, dexter_path)
|
||||
if lldb_path is not None:
|
||||
dexter_cmd += ' --lldb-executable {}'.format(lldb_path)
|
||||
dexter_test_cmd += ' --lldb-executable {}'.format(lldb_path)
|
||||
tools.append(ToolSubst('%dexter', dexter_test_cmd))
|
||||
|
||||
tools.append(ToolSubst('%dexter', dexter_cmd))
|
||||
# For testing other bits of dexter that aren't under the "test" subcommand,
|
||||
# have a %dexter_base substitution.
|
||||
dexter_base_cmd = '"{}" "{}"'.format(config.python3_executable, dexter_path)
|
||||
tools.append(ToolSubst('%dexter_base', dexter_base_cmd))
|
||||
|
||||
tool_dirs = [config.llvm_tools_dir]
|
||||
|
||||
|
|
Loading…
Reference in New Issue