else:
if d == 'windows':
return False
+ elif d == 'dbgeng':
+ return False
return fnmatch(path, pattern)
//
// 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:
//
// 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:
//
// 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:
//
// 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:
//
// 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:
//
// 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:
//
// 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:
//
// 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:
//
// 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:
// 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:
//
// 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:
//
// 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:
//
// 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:
//
// 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:
//
// 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:
//
// 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:
// 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
-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
-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
-// XFAIL: darwin
// Purpose:
// Check that parsing bad commands gives a useful error.
// - Unbalanced parenthesis
// 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
//
-// XFAIL: darwin
// Purpose:
// Check that parsing bad commands gives a useful error.
// - Unbalanced parenthesis over multiple lines
// 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
//
-// XFAIL: darwin
// Purpose:
// Check that parsing bad commands gives a useful error.
// - Syntax error (misplaced ',')
// 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
//
-// XFAIL: darwin
// Purpose:
// Check that parsing bad commands gives a useful error.
// - Syntax error (misplaced ',') over multiple lines
// 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
//
-// XFAIL: darwin
// Purpose:
// Check that parsing bad commands gives a useful error.
// - Type error (missing args)
// 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
//
-// XFAIL: darwin
// Purpose:
// Check that parsing bad commands gives a useful error.
// - Type error (missing args) over multple lines
// 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
//
//
// 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
//
-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:
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]