mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-09 15:20:56 -06:00
`include-what-you-use` diagnostics, in practice, are specific to the environment's compiler and standard library. Update includes to satisfy IWYU for our CI job under Debian 13. Some patterns: * Types named in virtual `override` signatures no longer require includes since the overridden signature already names them. * A function argument's type needs to be included even if its constructor is called only by implicit conversion. For example, constructing a `std::function` from a lambda now requires `<functional>`. * Some prior mysterious `<type_traits>` inclusions are no longer required.
49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
|
file LICENSE.rst or https://cmake.org/licensing for details. */
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include <cm3p/cppdap/protocol.h>
|
|
#include <cm3p/cppdap/types.h>
|
|
#include <stdint.h>
|
|
|
|
#include "cmDebuggerVariables.h"
|
|
#include "cmDebuggerVariablesManager.h"
|
|
|
|
#include "testCommon.h"
|
|
|
|
static bool testVariablesRegistration()
|
|
{
|
|
auto variablesManager =
|
|
std::make_shared<cmDebugger::cmDebuggerVariablesManager>();
|
|
|
|
int64_t line = 5;
|
|
auto local = std::make_shared<cmDebugger::cmDebuggerVariables>(
|
|
variablesManager, "Local", true, [=]() {
|
|
return std::vector<cmDebugger::cmDebuggerVariableEntry>{ { "CurrentLine",
|
|
line } };
|
|
});
|
|
|
|
dap::VariablesRequest variableRequest;
|
|
variableRequest.variablesReference = local->GetId();
|
|
|
|
dap::array<dap::Variable> 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 });
|
|
}
|