summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLib/testDebuggerThread.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/CMakeLib/testDebuggerThread.cxx')
-rw-r--r--Tests/CMakeLib/testDebuggerThread.cxx33
1 files changed, 33 insertions, 0 deletions
diff --git a/Tests/CMakeLib/testDebuggerThread.cxx b/Tests/CMakeLib/testDebuggerThread.cxx
new file mode 100644
index 0000000..0ea95b6
--- /dev/null
+++ b/Tests/CMakeLib/testDebuggerThread.cxx
@@ -0,0 +1,33 @@
+#include <functional>
+#include <memory>
+#include <string>
+#include <vector>
+
+#include <cm3p/cppdap/protocol.h>
+#include <cm3p/cppdap/types.h>
+
+#include "cmDebuggerThread.h"
+#include "cmListFileCache.h"
+
+#include "testCommon.h"
+
+static bool testStackFrameFunctionName()
+{
+ auto thread = std::make_shared<cmDebugger::cmDebuggerThread>(0, "name");
+ const auto* functionName = "function_name";
+ auto arguments = std::vector<cmListFileArgument>{};
+ cmListFileFunction func(functionName, 10, 20, arguments);
+ thread->PushStackFrame(nullptr, "CMakeLists.txt", func);
+
+ auto stackTrace = GetStackTraceResponse(thread);
+
+ ASSERT_TRUE(stackTrace.stackFrames[0].name == functionName);
+ return true;
+}
+
+int testDebuggerThread(int, char*[])
+{
+ return runTests(std::vector<std::function<bool()>>{
+ testStackFrameFunctionName,
+ });
+}