[ci skip] fix wasm unit tests

This commit is contained in:
Christien Rioux 2025-03-11 21:39:56 -04:00
parent 6018d385e8
commit 3a8150c062
7 changed files with 55 additions and 21 deletions

15
Cargo.lock generated
View File

@ -6090,17 +6090,6 @@ dependencies = [
"tracing-log 0.2.0",
]
[[package]]
name = "tracing-wasm"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4575c663a174420fa2d78f4108ff68f65bf2fbb7dd89f33749b6e826b3626e07"
dependencies = [
"tracing",
"tracing-subscriber",
"wasm-bindgen",
]
[[package]]
name = "triomphe"
version = "0.1.14"
@ -6483,12 +6472,12 @@ dependencies = [
"tracing-error",
"tracing-oslog",
"tracing-subscriber",
"tracing-wasm",
"tsify",
"veilid-bugsalot",
"veilid-hashlink",
"veilid-igd",
"veilid-tools",
"veilid-tracing-wasm",
"wasm-bindgen",
"wasm-bindgen-futures",
"wasm-bindgen-test",
@ -6680,9 +6669,9 @@ dependencies = [
"tracing",
"tracing-oslog",
"tracing-subscriber",
"tracing-wasm",
"validator",
"veilid-bugsalot",
"veilid-tracing-wasm",
"wasm-bindgen",
"wasm-bindgen-futures",
"wasm-bindgen-test",

View File

@ -216,7 +216,6 @@ ws_stream_wasm = "0.7.4"
# Logging
wasm-logger = "0.2.0"
tracing-wasm = "0.2.1"
# Data Structures
keyvaluedb-web = "0.1.2"
@ -272,6 +271,7 @@ serial_test = { version = "2.0.0", default-features = false, features = [
wasm-bindgen-test = "0.3.50"
console_error_panic_hook = "0.1.7"
wasm-logger = "0.2.0"
veilid-tracing-wasm = "^0"
### BUILD OPTIONS

View File

@ -68,9 +68,9 @@ impl InspectCache {
};
if idx < entry.1.seqs.len() {
entry.1.seqs[idx] = seq;
} else if idx > entry.1.seqs.len() {
} else {
panic!(
"representational error in l2 inspect cache: {} > {}",
"representational error in l2 inspect cache: {} >= {}",
idx,
entry.1.seqs.len()
)

View File

@ -1,5 +1,6 @@
use crate::tests::test_veilid_config::*;
use crate::*;
use futures_util::StreamExt as _;
async fn startup() -> VeilidAPI {
trace!("test_table_store: starting");
@ -266,11 +267,55 @@ pub async fn test_protect_unprotect(vcrypto: &AsyncCryptoSystemGuard<'_>, ts: &T
}
}
pub async fn test_store_load_json_many(ts: &TableStore) {
trace!("test_json");
let _ = ts.delete("test").await;
let db = ts.open("test", 3).await.expect("should have opened");
let rows = 16;
let valuesize = 32768;
let parallel = 10;
let value = vec!["ABCD".to_string(); valuesize];
let mut unord = FuturesUnordered::new();
let mut r = 0;
let start_ts = Timestamp::now();
loop {
while r < rows && unord.len() < parallel {
let key = format!("key_{}", r);
r += 1;
unord.push(Box::pin(async {
let key = key;
db.store_json(0, key.as_bytes(), &value)
.await
.expect("should store");
let value2 = db
.load_json::<Vec<String>>(0, key.as_bytes())
.await
.expect("should load")
.expect("should exist");
assert_eq!(value, value2);
}));
}
if unord.next().await.is_none() {
break;
}
}
let end_ts = Timestamp::now();
trace!("test_store_load_json_many duration={}", (end_ts - start_ts));
}
pub async fn test_all() {
let api = startup().await;
let crypto = api.crypto().unwrap();
let ts = api.table_store().unwrap();
test_store_load_json_many(&ts).await;
for ck in VALID_CRYPTO_KINDS {
let vcrypto = crypto.get_async(ck).unwrap();
test_protect_unprotect(&vcrypto, &ts).await;

View File

@ -18,8 +18,8 @@ pub fn setup() -> () {
let config = veilid_tracing_wasm::WASMLayerConfig::new()
.with_report_logs_in_timings(false)
.with_max_level(Level::TRACE)
.with_console_config(tracing_wasm::ConsoleConfig::ReportWithoutConsoleColor);
tracing_wasm::set_as_global_default_with_config(config);
.with_console_config(veilid_tracing_wasm::ConsoleConfig::ReportWithoutConsoleColor);
veilid_tracing_wasm::set_as_global_default_with_config(config);
});
}

View File

@ -185,7 +185,7 @@ serial_test = { version = "2.0.0", default-features = false, features = [
console_error_panic_hook = "0.1.7"
wasm-bindgen-test = "0.3.50"
wasm-logger = "0.2.0"
tracing-wasm = { version = "0.2.1" }
veilid-tracing-wasm = "^0"
### BUILD OPTIONS

View File

@ -18,8 +18,8 @@ pub fn setup() -> () {
let config = veilid_tracing_wasm::WASMLayerConfig::new()
.with_report_logs_in_timings(false);
.with_max_level(Level::TRACE);
.with_console_config(tracing_wasm::ConsoleConfig::ReportWithoutConsoleColor);
tracing_wasm::set_as_global_default_with_config(config);
.with_console_config(veilid_tracing_wasm::ConsoleConfig::ReportWithoutConsoleColor);
veilid_tracing_wasm::set_as_global_default_with_config(config);
} else {
wasm_logger::init(wasm_logger::Config::default());
}