20#include <test/nodestore/TestBase.h>
21#include <test/unit_test/SuiteJournal.h>
22#include <xrpld/nodestore/DummyScheduler.h>
23#include <xrpld/nodestore/Manager.h>
24#include <xrpld/unity/rocksdb.h>
25#include <xrpl/beast/utility/temp_dir.h>
41 int numObjsToTest = 2000)
49 params.
set(
"type", type);
50 params.
set(
"path", tempDir.
path());
63 params,
megabytes(4), scheduler, journal);
88 params,
megabytes(4), scheduler, journal);
110#if RIPPLE_ROCKSDB_AVAILABLE
114#ifdef RIPPLE_ENABLE_SQLITE_BACKEND_TESTS
RAII temporary directory.
std::string path() const
Get the native path for the temporary directory.
testcase_t testcase
Memberspace for declaring test cases.
void testBackend(std::string const &type, std::uint64_t const seedValue, int numObjsToTest=2000)
void run() override
Runs the suite.
A backend used for the NodeStore.
Simple NodeStore Scheduler that just peforms the tasks synchronously.
virtual std::unique_ptr< Backend > make_Backend(Section const ¶meters, std::size_t burstSize, Scheduler &scheduler, beast::Journal journal)=0
Create a backend.
static Manager & instance()
Returns the instance of the manager singleton.
static Batch createPredictableBatch(int numObjects, std::uint64_t seed)
static bool areBatchesEqual(Batch const &lhs, Batch const &rhs)
void fetchCopyOfBatch(Backend &backend, Batch *pCopy, Batch const &batch)
void storeBatch(Backend &backend, Batch const &batch)
Holds a collection of configuration values.
void set(std::string const &key, std::string const &value)
Set a key/value pair.
A namespace for easy access to logging severity values.
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
constexpr auto megabytes(T value) noexcept
Binary function that satisfies the strict-weak-ordering requirement.