[debuginfo-tests][dexter] Add two new debug experience tests
authorNabeel Omer <nabeel.omer@sony.com>
Wed, 28 Oct 2020 14:21:40 +0000 (14:21 +0000)
committerTom Weaver <Tom.Weaver@Sony.com>
Wed, 28 Oct 2020 14:21:40 +0000 (14:21 +0000)
deferred_globals.cpp: Verify that debug information for a local variable does
not hide a global definition that has the same name

namespace.cpp: Ensure that the debug information for a global variable
includes namespace information.

Differential Revision: https://reviews.llvm.org/D89462

Author:    Nabeel Omer <nabeel.omer@sony.com>

debuginfo-tests/dexter-tests/deferred_globals.cpp [new file with mode: 0644]
debuginfo-tests/dexter-tests/namespace.cpp [new file with mode: 0644]

diff --git a/debuginfo-tests/dexter-tests/deferred_globals.cpp b/debuginfo-tests/dexter-tests/deferred_globals.cpp
new file mode 100644 (file)
index 0000000..d12adfd
--- /dev/null
@@ -0,0 +1,28 @@
+// Purpose:
+// Ensure that debug information for a local variable does not hide
+// a global definition that has the same name.
+
+// UNSUPPORTED: system-windows
+
+// RUN: %dexter --fail-lt 1.0 -w \
+// RUN:     --builder 'clang' --debugger 'lldb' \
+// RUN:     --cflags "-g -O0" -v -- %s
+
+const int d = 100;
+
+extern int foo();
+
+int main() {
+  const int d = 4;
+  const float e = 4; // DexLabel("main")
+  const char *f = "Woopy";
+  return d + foo();
+}
+
+int foo() {
+  return d; // DexLabel("foo")
+}
+
+// DexExpectWatchValue('d', '4', on_line='main')
+// DexExpectWatchValue('d', '100', on_line='foo')
+
diff --git a/debuginfo-tests/dexter-tests/namespace.cpp b/debuginfo-tests/dexter-tests/namespace.cpp
new file mode 100644 (file)
index 0000000..e614b0d
--- /dev/null
@@ -0,0 +1,23 @@
+// Purpose:
+// Ensure that the debug information for a global variable includes
+// namespace information.
+
+// UNSUPPORTED: system-windows
+
+// RUN: %dexter --fail-lt 1.0 -w \
+// RUN:     --builder 'clang' --debugger 'lldb' \
+// RUN:     --cflags "-g -O0" -v -- %s
+
+#include <stdio.h>
+
+namespace monkey {
+const int ape = 32;
+}
+
+int main() {
+  printf("hello %d\n", monkey::ape); // DexLabel('main')
+  return 0;
+}
+
+// DexExpectWatchValue('monkey::ape', 32, on_line='main')
+