File tree Expand file tree Collapse file tree 2 files changed +50
-1
lines changed
src/hyperlight_host/src/sandbox Expand file tree Collapse file tree 2 files changed +50
-1
lines changed Original file line number Diff line number Diff line change @@ -83,7 +83,7 @@ test-unit target=default-target features="":
8383test-isolated target = default-target features = " ":
8484 cargo test {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" { " dev" } else { target } }} -p hyperlight-host --lib -- sandbox::uninitialized::tests::test_trace_trace --exact --ignored
8585 cargo test {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" { " dev" } else { target } }} -p hyperlight-host --lib -- sandbox::uninitialized::tests::test_log_trace --exact --ignored
86- cargo test {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" { " dev" } else { target } }} -p hyperlight-host --lib -- hypervisor::hypervisor_handler ::tests::create_1000_sandboxes --exact --ignored
86+ cargo test {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" { " dev" } else { target } }} -p hyperlight-host --lib -- sandbox::initialized_multi_use ::tests::create_1000_sandboxes --exact --ignored
8787 cargo test {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" { " dev" } else { target } }} -p hyperlight-host --lib -- sandbox::outb::tests::test_log_outb_log --exact --ignored
8888 cargo test {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" { " dev" } else { target } }} -p hyperlight-host --lib -- mem::shared_mem::tests::test_drop --exact --ignored
8989 cargo test {{ if features == " " {' ' } else if features== " no-default-features" {" --no-default-features" } else {" --no-default-features -F " + features } }} --profile={{ if target == " debug" { " dev" } else { target } }} -p hyperlight-host --test integration_test -- log_message --exact --ignored
Original file line number Diff line number Diff line change @@ -295,6 +295,9 @@ where
295295
296296#[ cfg( test) ]
297297mod tests {
298+ use std:: sync:: { Arc , Barrier } ;
299+ use std:: thread;
300+
298301 use hyperlight_common:: flatbuffer_wrappers:: function_types:: {
299302 ParameterValue , ReturnType , ReturnValue ,
300303 } ;
@@ -487,4 +490,50 @@ mod tests {
487490 ) ,
488491 }
489492 }
493+
494+ #[ test]
495+ #[ ignore] // this test runs by itself because it uses a lot of system resources
496+ fn create_1000_sandboxes ( ) {
497+ let barrier = Arc :: new ( Barrier :: new ( 21 ) ) ;
498+
499+ let mut handles = vec ! [ ] ;
500+
501+ for _ in 0 ..20 {
502+ let c = barrier. clone ( ) ;
503+
504+ let handle = thread:: spawn ( move || {
505+ c. wait ( ) ;
506+
507+ for _ in 0 ..50 {
508+ let usbox = UninitializedSandbox :: new (
509+ GuestBinary :: FilePath (
510+ simple_guest_as_string ( ) . expect ( "Guest Binary Missing" ) ,
511+ ) ,
512+ None ,
513+ )
514+ . unwrap ( ) ;
515+
516+ let mut multi_use_sandbox: MultiUseSandbox =
517+ usbox. evolve ( Noop :: default ( ) ) . unwrap ( ) ;
518+
519+ let res = multi_use_sandbox. call_guest_function_by_name (
520+ "GetStatic" ,
521+ ReturnType :: Int ,
522+ None ,
523+ ) ;
524+
525+ assert ! ( res. is_ok( ) ) ;
526+ assert_eq ! ( res. unwrap( ) , ReturnValue :: Int ( 0 ) ) ;
527+ }
528+ } ) ;
529+
530+ handles. push ( handle) ;
531+ }
532+
533+ barrier. wait ( ) ;
534+
535+ for handle in handles {
536+ handle. join ( ) . unwrap ( ) ;
537+ }
538+ }
490539}
You can’t perform that action at this time.
0 commit comments