Skip to content

Commit 89025da

Browse files
Tom WeaverTom Weaver
authored andcommitted
[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 regression suite command through the feature and tool tests that require them. mark certain problem tests on windows 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
1 parent cb84e48 commit 89025da

18 files changed

+57
-83
lines changed

debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22
// Check that \DexExpectProgramState correctly applies a penalty when
33
// an expected program state is never found.
44
//
5-
// REQUIRES: system-linux, lldb
6-
//
7-
// RUN: not %dexter_base test --fail-lt 1.0 -w \
8-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -glldb" -- %s \
9-
// RUN: | FileCheck %s
5+
// RUN: not %dexter_regression_test -- %s | FileCheck %s
106
// CHECK: expect_program_state.cpp:
117

128
int GCD(int lhs, int rhs)

debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22
// Check that \DexExpectStepKind correctly applies a penalty when
33
// unexpected step kinds are encountered.
44
//
5-
// REQUIRES: system-linux, lldb
6-
//
7-
// RUN: not %dexter_base test --fail-lt 1.0 -w \
8-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
9-
// RUN: | FileCheck %s
5+
// RUN: not %dexter_regression_test -- %s | FileCheck %s
106
// CHECK: expect_step_kinds.cpp:
117

128
int abs(int i){

debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22
// Check that \DexExpectStepOrder correctly applies a penalty for steps
33
// found out of expected order.
44
//
5-
// REQUIRES: system-linux, lldb
6-
//
7-
// RUN: not %dexter_base test --fail-lt 1.0 -w \
8-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
9-
// RUN: | FileCheck %s
5+
// RUN: not %dexter_regression_test -- %s | FileCheck %s
106
// CHECK: expect_step_order.cpp:
117

128
int main()

debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
// Check that \DexExpectWatchType applies penalties when expected
33
// types are not found and unexpected types are.
44
//
5-
// REQUIRES: system-linux, lldb
5+
// NOTE: This test passes but not in the expected way on Windows.
6+
// TODO: Reduce this test's coverage and be more specific about
7+
// expected behaviour.
68
//
7-
// RUN: not %dexter_base test --fail-lt 1.0 -w \
8-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
9-
// RUN: | FileCheck %s
9+
// RUN: not %dexter_regression_test -- %s | FileCheck %s
1010
// CHECK: expect_watch_type.cpp:
1111

1212
template<class T>

debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22
// Check that \DexExpectWatchValue correctly applies a penalty when
33
// expected values are not found.
44
//
5-
// REQUIRES: system-linux, lldb
6-
//
7-
// RUN: not %dexter_base test --fail-lt 1.0 -w \
8-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
9-
// RUN: | FileCheck %s
5+
// RUN: not %dexter_regression_test -- %s | FileCheck %s
106
// CHECK: expect_watch_value.cpp:
117

128
int main()

debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22
// Check that \DexUnreachable correctly applies a penalty if the command
33
// line is stepped on.
44
//
5-
// REQUIRES: system-linux, lldb
6-
//
7-
// RUN: not %dexter_base test --fail-lt 1.0 -w \
8-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
9-
// RUN: | FileCheck %s
5+
// RUN: not %dexter_regression_test -- %s | FileCheck %s
106
// CHECK: unreachable.cpp:
117

128
int

debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,7 @@
22
// Check that \DexExpectWatchValue applies no penalties when expected
33
// program states are found.
44
//
5-
// REQUIRES: system-linux, lldb
6-
//
7-
// RUN: %dexter_base test --fail-lt 1.0 -w \
8-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -glldb" -- %s \
9-
// RUN: | FileCheck %s
5+
// RUN: %dexter_regression_test -- %s | FileCheck %s
106
// CHECK: expect_program_state.cpp:
117

128
int GCD(int lhs, int rhs)

debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
// 'VERTICAL_FORWARD' for every step onto a greater source line number in
66
// the same function.
77
//
8-
// REQUIRES: system-linux, lldb
8+
// TODO: The dbgeng debugger does not support column step reporting at present.
9+
// XFAIL: system-windows
910
//
10-
// RUN: %dexter_base test --fail-lt 1.0 -w \
11-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
12-
// RUN: | FileCheck %s
11+
// RUN: %dexter_regression_test -- %s | FileCheck %s
1312
// CHECK: direction.cpp:
1413

1514
int func(int i) {

debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@
33
// trivial test. Expect one 'FUNC' per call to a function which is defined
44
// in one of the source files in the test directory.
55
//
6-
// REQUIRES: system-linux, lldb
7-
//
8-
// RUN: %dexter_base test --fail-lt 1.0 -w \
9-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
10-
// RUN: | FileCheck %s
6+
// RUN: %dexter_regression_test -- %s | FileCheck %s
117
// CHECK: func.cpp:
128

139
int func(int i) {

debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,11 @@
22
// Check that \DexExpectStepKind correctly counts 'FUNC_EXTERNAL' steps
33
// for a trivial test. Expect one 'FUNC_EXTERNAL' per external call.
44
//
5-
// REQUIRES: system-linux, lldb
6-
// XFAIL: system-linux
7-
// This fails right now on my linux machine, needs examining as to why.
5+
// XFAIL:*
6+
// This fails right now on my linux and windows machine, needs examining as to
7+
// why.
88
//
9-
// RUN: %dexter --fail-lt 1.0 -w \
10-
// RUN: --builder 'clang' --debugger 'lldb' --cflags "-O0 -g" -- %s \
11-
// RUN: | FileCheck %s
9+
// RUN: %dexter_regression_test -- %s | FileCheck %s
1210
// CHECK: func_external.cpp:
1311

1412
#include <cstdlib>

0 commit comments

Comments
 (0)