feat: release Dever 0.1.5 with direct workers and long transactions

This commit is contained in:
Codex committed 2026-10-11 11:17:33 +00:00
1 parent 89629c2197
commit a900d7e8db
153 files changed
+3676 -3708

No files matched your search

+13 -10
View File
@@ -1,5 +1,5 @@
//! Developer-only C ABI acceptance; normal execution never invokes these tools.
use std::path::Path;
use std::path::{Path, PathBuf};
use std::process::{Command, Stdio};
use std::time::Duration;
@@ -12,7 +12,7 @@ mod temp;
// from the default tests because Cargo must not recursively build from a test.
#[cfg(all(target_os = "linux", target_arch = "x86_64"))]
#[test]
#[ignore = "build runtime-abi-only staticlib in target/native-runtime-abi before running"]
#[ignore = "requires an explicit runtime-only DEVER_RUNTIME_ABI_ARCHIVE"]
fn canonical_c_header_links_and_executes_the_real_runtime_archive() {
run_driver("driver.c", None, false);
}
@@ -20,10 +20,13 @@ fn canonical_c_header_links_and_executes_the_real_runtime_archive() {
#[cfg(all(target_os = "linux", target_arch = "x86_64"))]
fn run_driver(source: &str, llvm_object: Option<&Path>, allocation_ledger: bool) {
let root = Path::new(env!("CARGO_MANIFEST_DIR")).join("../..");
let archive = root.join("target/native-runtime-abi/debug/libdever_backend_bridge.a");
let archive = PathBuf::from(
std::env::var_os("DEVER_RUNTIME_ABI_ARCHIVE")
.expect("set DEVER_RUNTIME_ABI_ARCHIVE to the runtime-only archive being validated"),
);
assert!(
archive.is_file(),
"missing explicit runtime ABI fixture archive"
archive.is_absolute() && archive.is_file(),
"runtime ABI fixture must be an existing absolute archive path"
);
let directory = temp::TemporaryDirectory::new();
let program = directory.path().join("abi-acceptance");
@@ -75,7 +78,7 @@ fn run_driver(source: &str, llvm_object: Option<&Path>, allocation_ledger: bool)
#[cfg(all(feature = "embedded", target_os = "linux", target_arch = "x86_64"))]
#[test]
#[ignore = "build runtime-abi-only staticlib in target/native-runtime-abi before running"]
#[ignore = "requires an explicit runtime-only DEVER_RUNTIME_ABI_ARCHIVE"]
fn llvm_object_calls_the_versioned_runtime_abi_without_rust_layouts() {
use dever_backend_bridge::{Target, emit_object};
let directory = temp::TemporaryDirectory::new();
@@ -90,21 +93,21 @@ fn llvm_object_calls_the_versioned_runtime_abi_without_rust_layouts() {
#[cfg(all(target_os = "linux", target_arch = "x86_64"))]
#[test]
#[ignore = "build runtime-abi-only staticlib in target/native-runtime-abi before running"]
#[ignore = "requires an explicit runtime-only DEVER_RUNTIME_ABI_ARCHIVE"]
fn protocol_poll_rejects_invalid_output_before_advancing_the_operation() {
run_driver("protocol-driver.c", None, false);
}
#[cfg(all(target_os = "linux", target_arch = "x86_64"))]
#[test]
#[ignore = "build runtime-abi-only staticlib in target/native-runtime-abi before running"]
#[ignore = "requires an explicit runtime-only DEVER_RUNTIME_ABI_ARCHIVE"]
fn logger_flush_is_a_stable_native_allocation_barrier() {
run_driver("log-driver.c", None, true);
}
#[cfg(all(target_os = "linux", target_arch = "x86_64"))]
#[test]
#[ignore = "build runtime-abi-only staticlib in target/native-runtime-abi before running"]
#[ignore = "requires an explicit runtime-only DEVER_RUNTIME_ABI_ARCHIVE"]
fn wire_codecs_validate_slots_before_callback_and_release_partial_values() {
run_driver("wire-driver.c", None, true);
}
@@ -115,7 +118,7 @@ fn wire_codecs_validate_slots_before_callback_and_release_partial_values() {
target_arch = "x86_64"
))]
#[test]
#[ignore = "build a runtime-sqlite or runtime-postgres staticlib in target/native-runtime-abi before running"]
#[ignore = "requires a runtime-sqlite or runtime-postgres DEVER_RUNTIME_ABI_ARCHIVE"]
fn database_abi_preserves_typed_owners_and_rejects_invalid_slots_without_io() {
run_driver("database-driver.c", None, true);
}