summaryrefslogtreecommitdiff
path: root/unittests/Utility/ReproducerTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'unittests/Utility/ReproducerTest.cpp')
-rw-r--r--unittests/Utility/ReproducerTest.cpp134
1 files changed, 0 insertions, 134 deletions
diff --git a/unittests/Utility/ReproducerTest.cpp b/unittests/Utility/ReproducerTest.cpp
deleted file mode 100644
index aadb92b21843..000000000000
--- a/unittests/Utility/ReproducerTest.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-//===-- ReproducerTest.cpp --------------------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "gmock/gmock.h"
-#include "gtest/gtest.h"
-
-#include "llvm/Support/Error.h"
-#include "llvm/Testing/Support/Error.h"
-
-#include "lldb/Utility/FileSpec.h"
-#include "lldb/Utility/Reproducer.h"
-
-using namespace llvm;
-using namespace lldb_private;
-using namespace lldb_private::repro;
-
-class DummyProvider : public repro::Provider<DummyProvider> {
-public:
- static constexpr const char *NAME = "dummy";
-
- DummyProvider(const FileSpec &directory) : Provider(directory) {
- m_info.name = "dummy";
- m_info.files.push_back("dummy.yaml");
- }
-
- static char ID;
-};
-
-class DummyReproducer : public Reproducer {
-public:
- DummyReproducer() : Reproducer(){};
-
- using Reproducer::SetCapture;
- using Reproducer::SetReplay;
-};
-
-char DummyProvider::ID = 0;
-
-TEST(ReproducerTest, SetCapture) {
- DummyReproducer reproducer;
-
- // Initially both generator and loader are unset.
- EXPECT_EQ(nullptr, reproducer.GetGenerator());
- EXPECT_EQ(nullptr, reproducer.GetLoader());
-
- // Enable capture and check that means we have a generator.
- EXPECT_THAT_ERROR(reproducer.SetCapture(FileSpec("/bogus/path")),
- Succeeded());
- EXPECT_NE(nullptr, reproducer.GetGenerator());
- EXPECT_EQ(FileSpec("/bogus/path"), reproducer.GetGenerator()->GetRoot());
- EXPECT_EQ(FileSpec("/bogus/path"), reproducer.GetReproducerPath());
-
- // Ensure that we cannot enable replay.
- EXPECT_THAT_ERROR(reproducer.SetReplay(FileSpec("/bogus/path")), Failed());
- EXPECT_EQ(nullptr, reproducer.GetLoader());
-
- // Ensure we can disable the generator again.
- EXPECT_THAT_ERROR(reproducer.SetCapture(llvm::None), Succeeded());
- EXPECT_EQ(nullptr, reproducer.GetGenerator());
- EXPECT_EQ(nullptr, reproducer.GetLoader());
-}
-
-TEST(ReproducerTest, SetReplay) {
- DummyReproducer reproducer;
-
- // Initially both generator and loader are unset.
- EXPECT_EQ(nullptr, reproducer.GetGenerator());
- EXPECT_EQ(nullptr, reproducer.GetLoader());
-
- // Expected to fail because we can't load the index.
- EXPECT_THAT_ERROR(reproducer.SetReplay(FileSpec("/bogus/path")), Failed());
- // However the loader should still be set, which we check here.
- EXPECT_NE(nullptr, reproducer.GetLoader());
-
- // Make sure the bogus path is correctly set.
- EXPECT_EQ(FileSpec("/bogus/path"), reproducer.GetLoader()->GetRoot());
- EXPECT_EQ(FileSpec("/bogus/path"), reproducer.GetReproducerPath());
-
- // Ensure that we cannot enable replay.
- EXPECT_THAT_ERROR(reproducer.SetCapture(FileSpec("/bogus/path")), Failed());
- EXPECT_EQ(nullptr, reproducer.GetGenerator());
-}
-
-TEST(GeneratorTest, Create) {
- DummyReproducer reproducer;
-
- EXPECT_THAT_ERROR(reproducer.SetCapture(FileSpec("/bogus/path")),
- Succeeded());
- auto &generator = *reproducer.GetGenerator();
-
- auto *provider = generator.Create<DummyProvider>();
- EXPECT_NE(nullptr, provider);
- EXPECT_EQ(FileSpec("/bogus/path"), provider->GetRoot());
- EXPECT_EQ(std::string("dummy"), provider->GetInfo().name);
- EXPECT_EQ((size_t)1, provider->GetInfo().files.size());
- EXPECT_EQ(std::string("dummy.yaml"), provider->GetInfo().files.front());
-}
-
-TEST(GeneratorTest, Get) {
- DummyReproducer reproducer;
-
- EXPECT_THAT_ERROR(reproducer.SetCapture(FileSpec("/bogus/path")),
- Succeeded());
- auto &generator = *reproducer.GetGenerator();
-
- auto *provider = generator.Create<DummyProvider>();
- EXPECT_NE(nullptr, provider);
-
- auto *provider_alt = generator.Get<DummyProvider>();
- EXPECT_EQ(provider, provider_alt);
-}
-
-TEST(GeneratorTest, GetOrCreate) {
- DummyReproducer reproducer;
-
- EXPECT_THAT_ERROR(reproducer.SetCapture(FileSpec("/bogus/path")),
- Succeeded());
- auto &generator = *reproducer.GetGenerator();
-
- auto &provider = generator.GetOrCreate<DummyProvider>();
- EXPECT_EQ(FileSpec("/bogus/path"), provider.GetRoot());
- EXPECT_EQ(std::string("dummy"), provider.GetInfo().name);
- EXPECT_EQ((size_t)1, provider.GetInfo().files.size());
- EXPECT_EQ(std::string("dummy.yaml"), provider.GetInfo().files.front());
-
- auto &provider_alt = generator.GetOrCreate<DummyProvider>();
- EXPECT_EQ(&provider, &provider_alt);
-}