summaryrefslogtreecommitdiff
path: root/gnu/llvm/lldb/unittests/API/SBCommandInterpreterTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/lldb/unittests/API/SBCommandInterpreterTest.cpp')
-rw-r--r--gnu/llvm/lldb/unittests/API/SBCommandInterpreterTest.cpp138
1 files changed, 0 insertions, 138 deletions
diff --git a/gnu/llvm/lldb/unittests/API/SBCommandInterpreterTest.cpp b/gnu/llvm/lldb/unittests/API/SBCommandInterpreterTest.cpp
deleted file mode 100644
index d117c08c0bf..00000000000
--- a/gnu/llvm/lldb/unittests/API/SBCommandInterpreterTest.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-//===-- SBCommandInterpreterTest.cpp ------------------------===----------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===/
-
-#include "gtest/gtest.h"
-
-#include "lldb/API/SBCommandInterpreter.h"
-#include "lldb/API/SBCommandReturnObject.h"
-#include "lldb/API/SBDebugger.h"
-
-#include <cstring>
-#include <string>
-
-using namespace lldb;
-
-class SBCommandInterpreterTest : public testing::Test {
-protected:
- void SetUp() override {
- SBDebugger::Initialize();
- m_dbg = SBDebugger::Create(/*source_init_files=*/false);
- m_interp = m_dbg.GetCommandInterpreter();
- }
-
- SBDebugger m_dbg;
- SBCommandInterpreter m_interp;
-};
-
-class DummyCommand : public SBCommandPluginInterface {
-public:
- DummyCommand(const char *message) : m_message(message) {}
-
- bool DoExecute(SBDebugger dbg, char **command,
- SBCommandReturnObject &result) {
- result.PutCString(m_message.c_str());
- result.SetStatus(eReturnStatusSuccessFinishResult);
- return result.Succeeded();
- }
-
-private:
- std::string m_message;
-};
-
-TEST_F(SBCommandInterpreterTest, SingleWordCommand) {
- // We first test a command without autorepeat
- DummyCommand dummy("It worked");
- m_interp.AddCommand("dummy", &dummy, /*help=*/nullptr);
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("dummy", result, /*add_to_history=*/true);
- EXPECT_TRUE(result.Succeeded());
- EXPECT_STREQ(result.GetOutput(), "It worked\n");
- }
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("", result);
- EXPECT_FALSE(result.Succeeded());
- EXPECT_STREQ(result.GetError(), "error: No auto repeat.\n");
- }
-
- // Now we test a command with autorepeat
- m_interp.AddCommand("dummy_with_autorepeat", &dummy, /*help=*/nullptr,
- /*syntax=*/nullptr, /*auto_repeat_command=*/nullptr);
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("dummy_with_autorepeat", result,
- /*add_to_history=*/true);
- EXPECT_TRUE(result.Succeeded());
- EXPECT_STREQ(result.GetOutput(), "It worked\n");
- }
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("", result);
- EXPECT_TRUE(result.Succeeded());
- EXPECT_STREQ(result.GetOutput(), "It worked\n");
- }
-}
-
-TEST_F(SBCommandInterpreterTest, MultiWordCommand) {
- auto command = m_interp.AddMultiwordCommand("multicommand", /*help=*/nullptr);
- // We first test a subcommand without autorepeat
- DummyCommand subcommand("It worked again");
- command.AddCommand("subcommand", &subcommand, /*help=*/nullptr);
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("multicommand subcommand", result,
- /*add_to_history=*/true);
- EXPECT_TRUE(result.Succeeded());
- EXPECT_STREQ(result.GetOutput(), "It worked again\n");
- }
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("", result);
- EXPECT_FALSE(result.Succeeded());
- EXPECT_STREQ(result.GetError(), "error: No auto repeat.\n");
- }
-
- // We first test a subcommand with autorepeat
- command.AddCommand("subcommand_with_autorepeat", &subcommand,
- /*help=*/nullptr, /*syntax=*/nullptr,
- /*auto_repeat_command=*/nullptr);
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("multicommand subcommand_with_autorepeat", result,
- /*add_to_history=*/true);
- EXPECT_TRUE(result.Succeeded());
- EXPECT_STREQ(result.GetOutput(), "It worked again\n");
- }
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("", result);
- EXPECT_TRUE(result.Succeeded());
- EXPECT_STREQ(result.GetOutput(), "It worked again\n");
- }
-
- DummyCommand subcommand2("It worked again 2");
- // We now test a subcommand with autorepeat of the command name
- command.AddCommand(
- "subcommand_with_custom_autorepeat", &subcommand2, /*help=*/nullptr,
- /*syntax=*/nullptr,
- /*auto_repeat_command=*/"multicommand subcommand_with_autorepeat");
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("multicommand subcommand_with_custom_autorepeat",
- result, /*add_to_history=*/true);
- EXPECT_TRUE(result.Succeeded());
- EXPECT_STREQ(result.GetOutput(), "It worked again 2\n");
- }
- {
- SBCommandReturnObject result;
- m_interp.HandleCommand("", result);
- EXPECT_TRUE(result.Succeeded());
- EXPECT_STREQ(result.GetOutput(), "It worked again\n");
- }
-}