[Dexter] Add support for Windows to regression test suite.
This patch addresses the issue of the regression suite not running on windows
hardware. It changes the following things:
* add new dexter regression suite command to lit.cfg.py that makes use of the
clang-cl_vs2015 and dbgend builder and debuggers.
* sprinkle the new regressionsuite command through the feature and tool tests
that require them.
* mark certain problem tests on windows
* [revert fix] fixed darwin regression test failures by adding unsupported line
for system-darwin to command tests.
There's a couple of tests that fail (or pass) in unexpected ways on Windows.
Problem tests are both the penalty and perfect expect_watch_type.cpp tests.
Type information reporting parity is not possible a this time in dexter due to
the nature of how different debuggers report type information back to their users.
reviewers: Orlando
Differential Revision: https://reviews.llvm.org/D76609
diff --git a/debuginfo-tests/lit.cfg.py b/debuginfo-tests/lit.cfg.py
index 2d93b8d..fb2f723 100644
--- a/debuginfo-tests/lit.cfg.py
+++ b/debuginfo-tests/lit.cfg.py
@@ -112,6 +112,35 @@
dexter_base_cmd = '"{}" "{}"'.format(config.python3_executable, dexter_path)
tools.append(ToolSubst('%dexter_base', dexter_base_cmd))
+# Set up commands for DexTer regression tests.
+# Builder, debugger, optimisation level and several other flags differ
+# depending on whether we're running a unix like or windows os.
+if platform.system() == 'Windows':
+ dexter_regression_test_builder = '--builder clang-cl_vs2015'
+ dexter_regression_test_debugger = '--debugger dbgeng'
+ dexter_regression_test_cflags = '--cflags "/Zi /Od"'
+ dexter_regression_test_ldflags = '--ldflags "/Zi"'
+else:
+ dexter_regression_test_builder = '--builder clang'
+ dexter_regression_test_debugger = "--debugger lldb"
+ dexter_regression_test_cflags = '--cflags "-O0 -glldb"'
+ dexter_regression_test_ldflags = ''
+
+# Typical command would take the form:
+# ./path_to_py/python.exe ./path_to_dex/dexter.py test --fail-lt 1.0 -w --builder clang --debugger lldb --cflags '-O0 -g'
+dexter_regression_test_command = ' '.join(
+ # "python3", "dexter.py", test, fail_mode, builder, debugger, cflags, ldflags
+ ["{}".format(config.python3_executable),
+ "{}".format(dexter_path),
+ 'test',
+ '--fail-lt 1.0 -w',
+ dexter_regression_test_builder,
+ dexter_regression_test_debugger,
+ dexter_regression_test_cflags,
+ dexter_regression_test_ldflags])
+
+tools.append(ToolSubst('%dexter_regression_test', dexter_regression_test_command))
+
tool_dirs = [config.llvm_tools_dir]
llvm_config.add_tool_substitutions(tools, tool_dirs)