/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying file Copyright.txt or https://cmake.org/licensing for details. */ #include #include #include #include #include #include "cmDebuggerVariables.h" #include "cmDebuggerVariablesManager.h" #include "testCommon.h" static bool testVariablesRegistration() { auto variablesManager = std::make_shared(); int64_t line = 5; auto local = std::make_shared( variablesManager, "Local", true, [=]() { return std::vector{ { "CurrentLine", line } }; }); dap::VariablesRequest variableRequest; variableRequest.variablesReference = local->GetId(); dap::array variables = variablesManager->HandleVariablesRequest(variableRequest); ASSERT_TRUE(variables.size() == 1); local.reset(); variables = variablesManager->HandleVariablesRequest(variableRequest); ASSERT_TRUE(variables.size() == 0); return true; } int testDebuggerVariablesManager(int, char*[]) { return runTests({ testVariablesRegistration }); }