This took a few hours of debugging to figure out why tests were hanging; it turns out that after calling block_on from an executor, a panic in the main thread does not actually cause the tests to terminate.
To reproduce, add a panic!("x"); after the following code
|
let (launched_instance, connector_handle, initialize_response) = runtime |
|
.block_on(oak_functions_launcher::create( |
|
params, |
|
lookup_data_config, |
|
config.wasm_path.to_path_buf(), |
|
constant_response_size, |
|
)) |
|
.expect("Failed to create launcher"); |
|
log::info!("created launcher instance"); |
and rerun the tests with
cargo test --package=oak_functions_launcher --all-targets bench_ --verbose -- --nocapture
The panic will be logged, but the test will hang, presumably because there are other threads / processes in the background.
This took a few hours of debugging to figure out why tests were hanging; it turns out that after calling
block_onfrom an executor, a panic in the main thread does not actually cause the tests to terminate.To reproduce, add a
panic!("x");after the following codeoak/oak_functions_launcher/benches/integration_benches.rs
Lines 96 to 104 in f417c1b
and rerun the tests with
The panic will be logged, but the test will hang, presumably because there are other threads / processes in the background.