mirror of
https://github.com/Cuprate/cuprate.git
synced 2024-12-26 21:50:09 +00:00
6ce177aeca
Some checks are pending
Audit / audit (push) Waiting to run
CI / fmt (push) Waiting to run
CI / typo (push) Waiting to run
CI / ci (macos-latest, stable, bash) (push) Waiting to run
CI / ci (ubuntu-latest, stable, bash) (push) Waiting to run
CI / ci (windows-latest, stable-x86_64-pc-windows-gnu, msys2 {0}) (push) Waiting to run
Deny / audit (push) Waiting to run
* database: modify `trait Key`, don't blanket impl * heed: create `KeyHeed<T>` wrapper type * fix backend/tests * blockchain: `impl Key PreRctOutputId` * database: `StorableStr`, docs, tests * key: docs, cleanup * fixes * heed: simplify types * storable: remove doc * heed: use `INTEGER_KEY` instead of custom compare fn * add docs, tests * database: document `create_db` invariant * key: `Lexicographic` -> `Default` * redb: fix `clear_db` behavior * fix docs
35 lines
1.2 KiB
Rust
35 lines
1.2 KiB
Rust
//! Utilities for `cuprate_database` testing.
|
|
//!
|
|
//! These types/fn's are only:
|
|
//! - enabled on #[cfg(test)]
|
|
//! - only used internally
|
|
|
|
//---------------------------------------------------------------------------------------------------- Import
|
|
use std::borrow::Cow;
|
|
|
|
use crate::{config::ConfigBuilder, table::Table, ConcreteEnv, Env};
|
|
|
|
//---------------------------------------------------------------------------------------------------- struct
|
|
/// A test table.
|
|
pub(crate) struct TestTable;
|
|
|
|
impl Table for TestTable {
|
|
const NAME: &'static str = "test_table";
|
|
type Key = u32;
|
|
type Value = u64;
|
|
}
|
|
|
|
//---------------------------------------------------------------------------------------------------- fn
|
|
/// Create an `Env` in a temporarily directory.
|
|
/// The directory is automatically removed after the `TempDir` is dropped.
|
|
///
|
|
/// FIXME: changing this to `-> impl Env` causes lifetime errors...
|
|
pub(crate) fn tmp_concrete_env() -> (ConcreteEnv, tempfile::TempDir) {
|
|
let tempdir = tempfile::tempdir().unwrap();
|
|
let config = ConfigBuilder::new(Cow::Owned(tempdir.path().into()))
|
|
.low_power()
|
|
.build();
|
|
let env = ConcreteEnv::open(config).unwrap();
|
|
|
|
(env, tempdir)
|
|
}
|