summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-03 14:33:06 +0000
committerpatrick <patrick@openbsd.org>2020-08-03 14:33:06 +0000
commit061da546b983eb767bad15e67af1174fb0bcf31c (patch)
tree83c78b820819d70aa40c36d90447978b300078c5 /gnu/llvm/lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
parentImport LLVM 10.0.0 release including clang, lld and lldb. (diff)
downloadwireguard-openbsd-061da546b983eb767bad15e67af1174fb0bcf31c.tar.xz
wireguard-openbsd-061da546b983eb767bad15e67af1174fb0bcf31c.zip
Import LLVM 10.0.0 release including clang, lld and lldb.
ok hackroom tested by plenty
Diffstat (limited to 'gnu/llvm/lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp')
-rw-r--r--gnu/llvm/lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/gnu/llvm/lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp b/gnu/llvm/lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
new file mode 100644
index 00000000000..b5324f6ba9a
--- /dev/null
+++ b/gnu/llvm/lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
@@ -0,0 +1,62 @@
+//===-- LuaTests.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 "Plugins/Platform/Linux/PlatformLinux.h"
+#include "Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h"
+#include "lldb/Core/Debugger.h"
+#include "lldb/Host/FileSystem.h"
+#include "lldb/Host/HostInfo.h"
+#include "lldb/Interpreter/CommandReturnObject.h"
+#include "lldb/Target/Platform.h"
+#include "lldb/Utility/Reproducer.h"
+#include "gtest/gtest.h"
+
+using namespace lldb_private;
+using namespace lldb_private::repro;
+using namespace lldb;
+
+namespace {
+class ScriptInterpreterTest : public ::testing::Test {
+public:
+ void SetUp() override {
+ llvm::cantFail(Reproducer::Initialize(ReproducerMode::Off, llvm::None));
+ FileSystem::Initialize();
+ HostInfo::Initialize();
+
+ // Pretend Linux is the host platform.
+ platform_linux::PlatformLinux::Initialize();
+ ArchSpec arch("powerpc64-pc-linux");
+ Platform::SetHostPlatform(
+ platform_linux::PlatformLinux::CreateInstance(true, &arch));
+ }
+ void TearDown() override {
+ platform_linux::PlatformLinux::Terminate();
+ HostInfo::Terminate();
+ FileSystem::Terminate();
+ Reproducer::Terminate();
+ }
+};
+} // namespace
+
+TEST_F(ScriptInterpreterTest, Plugin) {
+ EXPECT_EQ(ScriptInterpreterLua::GetPluginNameStatic(), "script-lua");
+ EXPECT_EQ(ScriptInterpreterLua::GetPluginDescriptionStatic(),
+ "Lua script interpreter");
+}
+
+TEST_F(ScriptInterpreterTest, ExecuteOneLine) {
+ DebuggerSP debugger_sp = Debugger::CreateInstance();
+ ASSERT_TRUE(debugger_sp);
+
+ ScriptInterpreterLua script_interpreter(*debugger_sp);
+ CommandReturnObject result;
+ EXPECT_TRUE(script_interpreter.ExecuteOneLine("foo = 1", &result));
+ EXPECT_FALSE(script_interpreter.ExecuteOneLine("nil = foo", &result));
+ EXPECT_TRUE(result.GetErrorData().startswith(
+ "error: lua failed attempting to evaluate 'nil = foo'"));
+}