sausage core: modules per topic, journal writer thread with WAL and batches, hash cache by metadata, 49 tests per rule

Blank stdout lines give no warning. core.exit requests the exit in its
own handler.
This commit is contained in:
2026-10-23 00:32:33 +01:00
parent 218a718a3d
commit 8542b9fcb8
17 changed files with 2016 additions and 814 deletions
+13
View File
@@ -11,7 +11,9 @@ use include_dir::{Dir, include_dir};
use crate::world::{self, World};
/// The name reserved for the native Rust build plugin.
pub const ID: &str = "cargo";
/// The WASI component target used for Rust plugin builds.
pub const TARGET: &str = "wasm32-wasip2";
/// The source of the `sausage-actor` SDK.
@@ -19,23 +21,34 @@ static SDK_SRC: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../sdk/src");
static SDK_MACROS: Dir<'_> = include_dir!("$CARGO_MANIFEST_DIR/../sdk/macros/src");
#[derive(Clone, Default, Debug)]
/// The totals and output from a source tree's test run.
pub struct TestResults {
/// The number of tests that passed.
pub passed: u64,
/// The number of tests that failed.
pub failed: u64,
/// The test output retained for the caller.
pub output: String,
}
/// The component artifact and diagnostics from a successful build.
pub struct BuildOutput {
/// Host path of the published `.wasm` file.
pub wasm: PathBuf,
/// The elapsed build time in seconds.
pub seconds: f64,
/// The compiler diagnostics without progress lines.
pub warnings: String,
/// The totals and output of the test phase.
pub tests: TestResults,
}
#[derive(Debug)]
/// The failed build or test phase and its diagnostics.
pub struct BuildFailure {
/// The reason that the build could not complete.
pub reason: String,
/// The totals and output of the test phase.
pub tests: TestResults,
}