-
Notifications
You must be signed in to change notification settings - Fork 15.2k
[Dexter] Temporarily print DAP logs on specific exception #157130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
You can test this locally with the following command:darker --check --diff -r origin/main...HEAD cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
View the diff from darker here.--- DAP.py 2025-09-08 10:45:51.000000 +0000
+++ DAP.py 2025-09-08 10:50:13.230914 +0000
@@ -49,11 +49,11 @@
self.indent = 2 if context.options.format_dap_log == "pretty" else None
self.prefix_send: str = "->"
self.prefix_recv: str = "<-"
self.out_handle = None
self.open = False
- self.text = io.StringIO() # In-process copy of the message log.
+ self.text = io.StringIO() # In-process copy of the message log.
self.lock = threading.Lock()
def _custom_enter(self):
self.open = True
if self.log_file is None:
|
Reopening. If we add I'd like to merge this, wait for a few failures, then revert it once we've got those logs. This will be much much easier than trying to fish out logs produced by #157145 (we can revert that too) |
You can test this locally with the following command:git-clang-format --diff origin/main HEAD --extensions cpp,c -- cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex-continue.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex_step_function.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_label_kwarg.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
View the diff from clang-format here.diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex-continue.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex-continue.cpp
index 851147f02..d4f81d74b 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex-continue.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex-continue.cpp
@@ -9,7 +9,8 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run -v --binary %t -- %s 2>&1 | FileCheck --dump-input-context=999999999 %s
+// RUN: %dexter_regression_test_run -v --binary %t -- %s 2>&1 | FileCheck
+// --dump-input-context=999999999 %s
int g = 0;
int c(int) {
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex_step_function.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex_step_function.cpp
index c0c08fb14..049044e7c 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex_step_function.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/control/dex_step_function.cpp
@@ -5,7 +5,8 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run -v --binary %t -- %s 2>&1 | FileCheck --dump-input-context=999999999 %s
+// RUN: %dexter_regression_test_run -v --binary %t -- %s 2>&1 | FileCheck
+// --dump-input-context=999999999 %s
int g = 0;
int c(int) {
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
index 6c0b15414..82be47216 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
@@ -6,8 +6,8 @@
//
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: dex_declare_file.cpp
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: dex_declare_file.cpp
int main() {
int result = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
index 7f3a9edcc..ac961e205 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expect_program_state.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expect_program_state.cpp:
int GCD(int lhs, int rhs)
{
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
index 47c274433..05a5c320a 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expect_step_kinds.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expect_step_kinds.cpp:
int abs(int i){
return i < 0? i * -1: i;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
index e1d133b4d..21fd78f3e 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expect_step_order.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expect_step_order.cpp:
int main()
{
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
index 288fd5d9c..4f68d6345 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
@@ -10,8 +10,8 @@
// expected behaviour.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expect_watch_type.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expect_watch_type.cpp:
template<class T>
class Doubled {
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
index 81af19a17..8bb422a8d 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
@@ -6,8 +6,8 @@
//
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expect_watch_value.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expect_watch_value.cpp:
int main()
{
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
index eea6d06b5..44ab76bc8 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: float_range_out_range.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: float_range_out_range.cpp:
int main() {
float a = 1.0f;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
index cddce7973..cc760bb49 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: float_range_zero_nonmatch.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: float_range_zero_nonmatch.cpp:
int main() {
float a = 1.0f;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
index 2dfa2fdad..837e82abc 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
@@ -6,8 +6,8 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: missing_dex_address.cpp
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: missing_dex_address.cpp
int main() {
int *x = nullptr;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
index 86c59ec80..b889e5d25 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
@@ -6,8 +6,8 @@
//
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: unreachable.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: unreachable.cpp:
int
main()
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
index 05480ef77..9d4b63370 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
@@ -6,8 +6,8 @@
//
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: unreachable_line_range.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: unreachable_line_range.cpp:
int
main()
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
index e16805f6d..a39edc3b5 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
@@ -6,8 +6,8 @@
//
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: unreachable_on_line.cpp:
+// RUN: not %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: unreachable_on_line.cpp:
int
main()
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
index 909eb5e2a..19d9782b7 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
@@ -2,8 +2,8 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_c_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: command_line.c:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: command_line.c:
int main(int argc, const char **argv) {
if (argc == 4)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
index b22c37e95..52d336531 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
@@ -3,8 +3,8 @@
// the first reference to that value.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: address_after_ref.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: address_after_ref.cpp
int main() {
int *x = new int(5);
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
index 30394f44a..57e25a3c8 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
@@ -5,8 +5,8 @@
// times.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: address_hit_count.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: address_hit_count.cpp
int main() {
int *x = new int[3];
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
index c8701b8b5..d053c12a7 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
@@ -3,8 +3,8 @@
// addresses of two local variables that refer to the same address.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expression_address.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expression_address.cpp
int main() {
int x = 5;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
index 1acfdaf30..9ff25006e 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
@@ -3,8 +3,8 @@
// pointer variables.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: identical_address.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: identical_address.cpp
int main() {
int *x = new int(5);
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
index eee78714d..856b6f146 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
@@ -3,8 +3,8 @@
// addresses can be used within a single \DexExpectWatchValue.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: multiple_address.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: multiple_address.cpp
int main() {
int *x = new int(5);
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
index 72a5d3f65..7dc0989a4 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
@@ -3,8 +3,8 @@
// variables that have a fixed offset between them.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: offset_address.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: offset_address.cpp
int main() {
int *x = new int[5];
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
index 46d075771..42e7f1228 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
@@ -3,8 +3,8 @@
// value of a variable over time, relative to its initial value.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: self_comparison.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: self_comparison.cpp
int main() {
int *x = new int[3];
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
index 09e05869f..9cfa32072 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
@@ -7,8 +7,8 @@
//
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: dex_and_source
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: dex_and_source
int main() {
int result = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
index c44025ed0..702b3b4d1 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
@@ -7,8 +7,8 @@
// Tests using the default controller (no \DexLimitSteps).
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: default_conditional.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: default_conditional.cpp
int main() {
for (int x = 0; x < 10; ++x)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
index 8f7717292..53595dbb9 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
@@ -8,8 +8,8 @@
// Tests using the default controller (no \DexLimitSteps).
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: default_conditional_hit_count.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: default_conditional_hit_count.cpp
int main() {
for (int y = 0; y < 4; ++y)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
index 5849d6fcc..f9020432f 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
@@ -5,8 +5,8 @@
// Tests using the default controller (no \DexLimitSteps).
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: default_hit_count.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: default_hit_count.cpp
int main() {
for (int x = 0; x < 10; ++x)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
index 9cde122d5..395701645 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
@@ -1,12 +1,12 @@
// Purpose:
// Test that \DexFinishTest can be used without a condition or hit_count,
-// so the test simply exits as soon as the line referenced by \DexFinishTest
-// is stepped on.
-// Tests using the default controller (no \DexLimitSteps).
+// so the test simply exits as soon as the line referenced by
+// \DexFinishTest is stepped on. Tests using the default controller (no
+// \DexLimitSteps).
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: default_simple.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: default_simple.cpp
int main() {
int x = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
index 6ee8d0733..dccb41568 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
@@ -8,8 +8,8 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_conditional.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: limit_steps_conditional.cpp
int main() {
for (int x = 0; x < 10; ++x)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
index 1fb7e9402..9d29569dd 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
@@ -9,8 +9,9 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_conditional_hit_count.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK:
+// limit_steps_conditional_hit_count.cpp
int main() {
for (int y = 0; y < 4; ++y)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
index f33756481..c0be8ca41 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
@@ -8,8 +8,8 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_hit_count.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: limit_steps_hit_count.cpp
int main() {
for (int x = 0; x < 10; ++x)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
index 5be696d89..33b4d6778 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
@@ -1,15 +1,15 @@
// Purpose:
// Test that \DexFinishTest can be used without a condition or hit_count,
-// so the test simply exits as soon as the line referenced by \DexFinishTest
-// is stepped on.
-// Test using the conditional controller (using \DexLimitSteps).
+// so the test simply exits as soon as the line referenced by
+// \DexFinishTest is stepped on. Test using the conditional controller
+// (using \DexLimitSteps).
//
// The dbgeng driver doesn't support \DexLimitSteps yet.
// UNSUPPORTED: system-windows, system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_simple.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: limit_steps_simple.cpp
int main() {
int x = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
index af04c1498..e5e879877 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
@@ -6,8 +6,8 @@
//
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expect_program_state.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expect_program_state.cpp:
int GCD(int lhs, int rhs)
{
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
index ca9730725..ea1477a30 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
@@ -11,8 +11,8 @@
// XFAIL: system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: direction.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: direction.cpp:
int func(int i) {
return i; // step 7, 9, 11
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
index 3a85cd86a..1b0884fe6 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
@@ -6,8 +6,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: func.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: func.cpp:
int func(int i) {
return i;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
index 5fd05bcdb..cdd55d871 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
@@ -9,8 +9,8 @@
// why.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: func_external.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: func_external.cpp:
#include <cstdlib>
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
index 2ad9a0310..b8521b9bc 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
@@ -6,8 +6,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: recursive.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: recursive.cpp:
int func(int i) {
if (i > 1)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
index 492d6a457..6b70ac1bf 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
@@ -6,8 +6,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: small_loop.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: small_loop.cpp:
int func(int i){
return i;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
index e1a3d885c..f57c61b03 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expect_step_order.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expect_step_order.cpp:
int main() // DexLabel('main')
{
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
index 0fd7811db..a733c9509 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
@@ -4,13 +4,12 @@
//
// UNSUPPORTED: system-darwin
//
-// TODO: On Windows WITH dbgeng, This test takes a long time to run and doesn't evaluate type values
-// in the same manner as LLDB.
-// XFAIL: system-windows
+// TODO: On Windows WITH dbgeng, This test takes a long time to run and doesn't
+// evaluate type values in the same manner as LLDB. XFAIL: system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expect_watch_type.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expect_watch_type.cpp:
template<class T>
class Doubled {
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
index 3aaa88b38..d0f9760bf 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: expect_watch_value.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: expect_watch_value.cpp:
unsigned long Factorial(int n) {
volatile unsigned long fac = 1; // DexLabel('entry')
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
index 129a7d60f..f424bc9f5 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: float_range_multiple.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: float_range_multiple.cpp:
int main() {
float a = 1.0f;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
index 1a57fc171..47451a9af 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
@@ -8,8 +8,8 @@
// UNSUPPORTED: system-darwin, system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: float_range_no_arg.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: float_range_no_arg.cpp:
int main() {
float a = 1.0f;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
index 13a2528c8..a0e60bdf7 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: float_range_small.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: float_range_small.cpp:
int main() {
float a = 1.0f;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
index 3cdb67f92..ddcf1eeae 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
@@ -4,8 +4,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: float_range_zero_match.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: float_range_zero_match.cpp:
int main() {
float a = 1.0f;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
index 7cb78eb83..6a7586a78 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
@@ -3,8 +3,8 @@
// the number of times the command can trigger.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: hit_count.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: hit_count.cpp
int a;
int main() {
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
index b1936b39c..7bf9cbeeb 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
@@ -2,10 +2,10 @@
// Check number of step lines are correctly reported in json output.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t --verbose -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_check_json_step_count.cpp
-// CHECK: ## BEGIN ##
-// CHECK-COUNT-3: json_step_count.cpp",
+// RUN: %dexter_regression_test_run --binary %t --verbose -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK:
+// limit_steps_check_json_step_count.cpp CHECK: ## BEGIN ## CHECK-COUNT-3:
+// json_step_count.cpp",
int main() {
int result = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
index 038ef3ff6..fc5bcbf85 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
@@ -3,8 +3,8 @@
// for loop.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_expect_loop.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: limit_steps_expect_loop.cpp:
int main(const int argc, const char * argv[]) {
unsigned int sum = 1;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
index b9f98938d..7f465d086 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
@@ -2,8 +2,8 @@
// Ensure that limited stepping breaks for all expected values.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_expect_value.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: limit_steps_expect_value.cpp
int main() {
int i = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
index a1a31e31d..5118de12e 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
@@ -4,8 +4,8 @@
// empty line.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_line_mismatch.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: limit_steps_line_mismatch.cpp
int main() {
int i = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
index 718708f5b..e627eab35 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
@@ -2,8 +2,8 @@
// Ensure that multiple overlapping \DexLimitSteps ranges do not interfere.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_overlapping_ranges.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: limit_steps_overlapping_ranges.cpp
int main() {
int val1;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
index 7c602a9ce..5f8238fde 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
@@ -2,8 +2,9 @@
// Test that LimitStep commands can exist on the same from line.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: limit_steps_same_line_conditional.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK:
+// limit_steps_same_line_conditional.cpp
int main() {
int val1 = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
index e334e15dd..dcd04d344 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
@@ -3,8 +3,8 @@
// breakpoint range is set any time from_line is stepped on).
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: unconditional.cpp
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: unconditional.cpp
int glob;
int main() {
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
index 25f43219d..e37046db9 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: unreachable.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: unreachable.cpp:
int main()
{
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
index b8aa8c744..f7c06a901 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: unreachable_not_cmd_lineno.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: unreachable_not_cmd_lineno.cpp:
int main(int argc, char **argv)
{
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
index b5e5c8ea5..e8b3a3dcd 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
@@ -5,8 +5,8 @@
// UNSUPPORTED: system-darwin
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: unreachable_on_line.cpp:
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: unreachable_on_line.cpp:
int main()
{
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
index 9c9600e53..e92526e89 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
@@ -12,7 +12,8 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck --dump-input-context=999999999 %s
+// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck
+// --dump-input-context=999999999 %s
// CHECK: Resolved Addresses:
// CHECK-NEXT: 'x_2': 0x[[X2_VAL:[0-9a-f]+]]
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
index b17efdf90..0ad572d24 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
@@ -2,10 +2,12 @@
// Check that referencing an undefined label gives a useful error message.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines
+// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck
+// --dump-input-context=999999999 %s --match-full-lines
//
-// CHECK: parser error:{{.*}}err_bad_label_ref.cpp(15): Unresolved label: 'label_does_not_exist'
-// CHECK-NEXT: {{Dex}}ExpectWatchValue('result', '0', on_line=ref('label_does_not_exist'))
+// CHECK: parser error:{{.*}}err_bad_label_ref.cpp(15): Unresolved label:
+// 'label_does_not_exist' CHECK-NEXT: {{Dex}}ExpectWatchValue('result', '0',
+// on_line=ref('label_does_not_exist'))
int main() {
int result = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
index abe3e7c8f..f00704ac5 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
@@ -2,8 +2,8 @@
// Check that declaring duplicate addresses gives a useful error message.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines
-
+// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck
+// --dump-input-context=999999999 %s --match-full-lines
int main() {
int *result = new int(0);
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
index d0aa0f198..a36c3df63 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
@@ -2,10 +2,11 @@
// Check that defining duplicate labels gives a useful error message.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines
+// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck
+// --dump-input-context=999999999 %s --match-full-lines
//
-// CHECK: parser error:{{.*}}err_duplicate_label.cpp(12): Found duplicate line label: 'oops'
-// CHECK-NEXT: {{Dex}}Label('oops')
+// CHECK: parser error:{{.*}}err_duplicate_label.cpp(12): Found duplicate line
+// label: 'oops' CHECK-NEXT: {{Dex}}Label('oops')
int main() {
int result = 0; // DexLabel('oops')
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_label_kwarg.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_label_kwarg.cpp
index 663a4c86c..eaeec21d0 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_label_kwarg.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_label_kwarg.cpp
@@ -2,7 +2,8 @@
// Check that bad keyword args in \DexLabel are reported.
// Use --binary switch to trick dexter into skipping the build step.
//
-// RUN: not %dexter_base test --binary %s %dexter_regression_test_debugger_args -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: parser error:{{.*}}err_label_kwarg.cpp(8): unexpected named args: bad_arg
+// RUN: not %dexter_base test --binary %s %dexter_regression_test_debugger_args
+// -- %s | FileCheck --dump-input-context=999999999 %s CHECK: parser
+// error:{{.*}}err_label_kwarg.cpp(8): unexpected named args: bad_arg
// DexLabel('test', bad_arg=0)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp
index 1dd211527..1501ed6f5 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_limit_steps_no_values.cpp
@@ -3,7 +3,9 @@
// in a \DexLimitSteps command results in a useful error message.
// Use --binary switch to trick dexter into skipping the build step.
//
-// RUN: not %dexter_base test --binary %s %dexter_regression_test_debugger_args -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: parser error:{{.*}}err_limit_steps_no_values.cpp(9): expected 0 or at least 2 positional arguments
+// RUN: not %dexter_base test --binary %s %dexter_regression_test_debugger_args
+// -- %s | FileCheck --dump-input-context=999999999 %s CHECK: parser
+// error:{{.*}}err_limit_steps_no_values.cpp(9): expected 0 or at least 2
+// positional arguments
// DexLimitSteps('test')
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
index 8bae93454..a00d014ae 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
@@ -5,12 +5,12 @@
// commands.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args \
-// RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines --strict-whitespace
+// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args
+// \ RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s
+// --match-full-lines --strict-whitespace
//
-// CHECK:parser error:{{.*}}err_paren.cpp(19): Unbalanced parenthesis starting here
-// CHECK:// {{Dex}}ExpectWatchValue(
-// CHECK: ^
+// CHECK:parser error:{{.*}}err_paren.cpp(19): Unbalanced parenthesis starting
+// here CHECK:// {{Dex}}ExpectWatchValue( CHECK: ^
int main(){
return 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
index f7803eec4..cb60a46a4 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
@@ -5,12 +5,12 @@
// commands.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args \
-// RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines --strict-whitespace
+// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args
+// \ RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s
+// --match-full-lines --strict-whitespace
//
-// CHECK:parser error:{{.*}}err_paren_mline.cpp(20): Unbalanced parenthesis starting here
-// CHECK:{{Dex}}ExpectWatchValue(
-// CHECK: ^
+// CHECK:parser error:{{.*}}err_paren_mline.cpp(20): Unbalanced parenthesis
+// starting here CHECK:{{Dex}}ExpectWatchValue( CHECK: ^
int main(){
return 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
index be4402d25..7471cf546 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
@@ -5,8 +5,9 @@
// commands.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args \
-// RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines --strict-whitespace
+// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args
+// \ RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s
+// --match-full-lines --strict-whitespace
//
// CHECK:parser error:{{.*}}err_syntax.cpp(18): invalid syntax
// CHECK:// {{Dex}}ExpectWatchValue(,'a', 3, 3, 3, 3, on_line=0)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
index 3914f2a28..831e9f3a6 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
@@ -3,8 +3,9 @@
// they appeared in rather than the current declared file.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args -v -- %s \
-// RUN: | FileCheck --dump-input-context=999999999 %s --implicit-check-not=FAIL-FILENAME-MATCH
+// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args
+// -v -- %s \ RUN: | FileCheck --dump-input-context=999999999 %s
+// --implicit-check-not=FAIL-FILENAME-MATCH
// CHECK: err_syntax_dexdeclarefile.cpp(14): Undeclared address: 'not_been_declared'
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
index c071649d6..b491e7326 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
@@ -5,8 +5,9 @@
// commands.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args \
-// RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines --strict-whitespace
+// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args
+// \ RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s
+// --match-full-lines --strict-whitespace
//
// CHECK:parser error:{{.*}}err_syntax_mline.cpp(21): invalid syntax
// CHECK: ,'a', 3, 3, 3, 3, on_line=0)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
index 836eec04c..39b86fc8d 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
@@ -5,8 +5,9 @@
// commands.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args \
-// RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines --strict-whitespace
+// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args
+// \ RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s
+// --match-full-lines --strict-whitespace
//
// CHECK:parser error:{{.*}}err_type.cpp(18): expected at least two args
// CHECK:// {{Dex}}ExpectWatchValue()
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
index f47a5685a..05cb5706b 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
@@ -5,8 +5,9 @@
// commands.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args \
-// RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines --strict-whitespace
+// RUN: not %dexter_base test --binary %t %dexter_regression_test_debugger_args
+// \ RUN: -v -- %s | FileCheck --dump-input-context=999999999 %s
+// --match-full-lines --strict-whitespace
//
// CHECK:parser error:{{.*}}err_type_mline.cpp(19): expected at least two args
// CHECK:{{Dex}}ExpectWatchValue(
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
index 2c26c2a6c..706903c7c 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
@@ -2,8 +2,8 @@
// Check that using an undeclared address gives a useful error message.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck --dump-input-context=999999999 %s --match-full-lines
-
+// RUN: not %dexter_regression_test_run --binary %t -v -- %s | FileCheck
+// --dump-input-context=999999999 %s --match-full-lines
int main() {
int *result = new int(0);
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
index 330b50985..8ab27a8ef 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
@@ -3,8 +3,8 @@
// that line instead of the line the command is found on.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: label_another_line.cpp: (1.0000)
+// RUN: %dexter_regression_test_run --binary %t -- %s | FileCheck
+// --dump-input-context=999999999 %s CHECK: label_another_line.cpp: (1.0000)
int main() {
int result = 0;
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
index 83f46de82..61a7f1cea 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
@@ -2,7 +2,8 @@
// Check that we can use label-relative line numbers.
//
// RUN: %dexter_regression_test_cxx_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t -v -- %s | FileCheck --dump-input-context=999999999 %s
+// RUN: %dexter_regression_test_run --binary %t -v -- %s | FileCheck
+// --dump-input-context=999999999 %s
//
// CHECK: label_offset.cpp: (1.0000)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
index b294140b4..090c43b86 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
@@ -2,8 +2,8 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_c_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t --target-run-args "a b 'c d'" -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: target_run_args.c:
+// RUN: %dexter_regression_test_run --binary %t --target-run-args "a b 'c d'" --
+// %s | FileCheck --dump-input-context=999999999 %s CHECK: target_run_args.c:
int main(int argc, const char **argv) {
if (argc == 4)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
index 9ac98d826..fe374f208 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
@@ -2,8 +2,9 @@
// UNSUPPORTED: system-windows
//
// RUN: %dexter_regression_test_c_build %s -o %t
-// RUN: %dexter_regression_test_run --binary %t --target-run-args "a b 'c d'" -- %s | FileCheck --dump-input-context=999999999 %s
-// CHECK: target_run_args_with_command.c:
+// RUN: %dexter_regression_test_run --binary %t --target-run-args "a b 'c d'" --
+// %s | FileCheck --dump-input-context=999999999 %s CHECK:
+// target_run_args_with_command.c:
int main(int argc, const char **argv) {
if (argc == 6)
diff --git a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
index d31eafee4..c7c9bf662 100644
--- a/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
+++ b/cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
@@ -4,9 +4,8 @@
// RUN: %dexter_regression_test_cxx_build %s -o %t
// RUN: %dexter_regression_test_run --binary %t --results %t.results -- %s
//
-// RUN: %dexter_base view %t.results/view.cpp.dextIR | FileCheck --dump-input-context=999999999 %s
-// CHECK: ## BEGIN
-// CHECK: ## END
+// RUN: %dexter_base view %t.results/view.cpp.dextIR | FileCheck
+// --dump-input-context=999999999 %s CHECK: ## BEGIN CHECK: ## END
//
// # [TODO] This doesn't run if FileCheck fails!
// RUN: rm -rf %t
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's rather unfortunate that there's not a better way of getting useful output here, but it is a finicky error, and this should provide the necessary output to diagnose the issue without affecting normal output.
|
||
# Dexter returns 1 when no subtools are specified. | ||
RUN: not %dexter_base --unittest=show-all 2>&1 | FileCheck %s | ||
RUN: not %dexter_base --unittest=show-all 2>&1 | FileCheck --dump-input-context=999999999 %s |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this one needs the context flag.
Ty. agree it's a bit gross, I'll remove it asap! |
Buildbot cross-project-tests-sie-ubuntu has been unstable recently (https://lab.llvm.org/buildbot/#/builders/181). Dexter uses lldb-dap in these tests. Occasionally a one will fail with a KeyError because of a missing "stackFrames" "source" "path". I can't reproduce the failure locally, but with llvm#157130 and llvm#157130 I've got DAP logs from a pass and fail. In a failure, "path" is missing for a step out of main (off the final brace), and the passing test has one additional "module" event for libc.so.6. ``` <- { "body": { "module": { "addressRange": "0x7ffff7dd1000", "debugInfoSize": "4.9MB", "id": "5792732F-7831-58C6-6FB4-F3756458CA24-E46E827D", "name": "libc.so.6", "path": "/lib/x86_64-linux-gnu/libc.so.6", "symbolFilePath": "/usr/lib/debug/.build-id/57/92732f783158c66fb4f3756458ca24e46e827d.debug", "symbolStatus": "Symbols loaded." }, "reason": "new" }, "event": "module", "seq": 0, "type": "event" } ``` That explains why we get a step that is missing a "path" component in the failure. I don't understand why LLDB (or LLDB-DAP) is sometimes unable to load the module (in time?). But "path" is an optional field anyway, so I think it's worth handling in dexter even if LLDB's behaviour here is confusing.
Buildbot cross-project-tests-sie-ubuntu has been unstable recently (https://lab.llvm.org/buildbot/#/builders/181). Dexter uses lldb-dap in these tests. Occasionally a one will fail with a KeyError because of a missing "stackFrames" "source" "path". I can't reproduce the failure locally, but with PRs #157130 and #157145 I've got DAP logs from a pass and fail. In a failure, "path" is missing for a step out of main (off the final brace), and the passing test has one additional "module" event for libc.so.6. ``` <- { "body": { "module": { "addressRange": "0x7ffff7dd1000", "debugInfoSize": "4.9MB", "id": "5792732F-7831-58C6-6FB4-F3756458CA24-E46E827D", "name": "libc.so.6", "path": "/lib/x86_64-linux-gnu/libc.so.6", "symbolFilePath": "/usr/lib/debug/.build-id/57/92732f783158c66fb4f3756458ca24e46e827d.debug", "symbolStatus": "Symbols loaded." }, "reason": "new" }, "event": "module", "seq": 0, "type": "event" } ``` That explains why we get a step that is missing a "path" component in the failure. I don't understand why LLDB (or LLDB-DAP) is sometimes unable to load the module (in time?). But "path" is an optional field anyway, so I think it's worth handling in dexter even if LLDB's behaviour here is confusing. This commit should stabilize the bot if the only time a module goes missing is for steps outside main. (Ideally none would go missing, but those shouldn't interfere with the tests).
…ception" (#157677) Reverts llvm/llvm-project#157130 This was just a temporary change to investigate a flaky bot failure
Temporarily print the DAP log if this fails to aid debugging a buildbot failure that doesn't reproduce easily.
See #157090 description for motivation
I think dumping the DAP log on unhandled exception could be a nice general feature, but for now I'd just like to be able to understand this specific failure mode better