dstest 0.1.6

Deterministic Simulation Testing for containerised services
mod clock;
mod core;
mod dst;
mod log;
mod net;
mod pg;
mod subs;

use mlua::{Lua, Table};

use crate::engine::context::BindingContext;
use crate::substrate::Substrate;

pub trait LuaModule<S: Substrate> {
    fn register(lua: &Lua, dstest: &Table, ctx: &BindingContext<S>) -> mlua::Result<()>;
}

pub fn register_all<S: Substrate>(
    lua: &Lua,
    dstest: &Table,
    ctx: &BindingContext<S>,
) -> mlua::Result<()> {
    net::Net::register(lua, dstest, ctx)?;
    dst::Dst::register(lua, dstest, ctx)?;
    subs::Subs::register(lua, dstest, ctx)?;
    log::Log::register(lua, dstest, ctx)?;
    clock::Clock::register(lua, dstest, ctx)?;
    core::Core::register(lua, dstest, ctx)?;
    pg::Pg::register(lua, dstest, ctx)?;

    Ok(())
}