@@ -43,6 +43,7 @@ use deno_facade::EmitterFactory;
43
43
use deno_facade:: EszipPayloadKind ;
44
44
use deno_facade:: Metadata ;
45
45
use ext_event_worker:: events:: LogLevel ;
46
+ use ext_event_worker:: events:: ShutdownReason ;
46
47
use ext_event_worker:: events:: WorkerEvents ;
47
48
use ext_runtime:: SharedMetricSource ;
48
49
use ext_workers:: context:: MainWorkerRuntimeOpts ;
@@ -2494,6 +2495,49 @@ async fn test_supabase_issue_29583() {
2494
2495
) ;
2495
2496
}
2496
2497
2498
+ #[ tokio:: test]
2499
+ #[ serial]
2500
+ async fn test_issue_func_205 ( ) {
2501
+ let ( tx, mut rx) = mpsc:: unbounded_channel ( ) ;
2502
+ let tb = TestBedBuilder :: new ( "./test_cases/main" )
2503
+ . with_per_worker_policy ( None )
2504
+ . with_worker_event_sender ( Some ( tx) )
2505
+ . with_server_flags ( ServerFlags {
2506
+ beforeunload_wall_clock_pct : Some ( 90 ) ,
2507
+ beforeunload_cpu_pct : Some ( 90 ) ,
2508
+ beforeunload_memory_pct : Some ( 90 ) ,
2509
+ ..Default :: default ( )
2510
+ } )
2511
+ . build ( )
2512
+ . await ;
2513
+
2514
+ let resp = tb
2515
+ . request ( |b| {
2516
+ b. uri ( "/issue-func-205" )
2517
+ . header ( "x-cpu-time-soft-limit-ms" , HeaderValue :: from_static ( "500" ) )
2518
+ . header ( "x-cpu-time-hard-limit-ms" , HeaderValue :: from_static ( "1000" ) )
2519
+ . header ( "x-use-read-sync-file-api" , HeaderValue :: from_static ( "true" ) )
2520
+ . body ( Body :: empty ( ) )
2521
+ . context ( "can't make request" )
2522
+ } )
2523
+ . await
2524
+ . unwrap ( ) ;
2525
+
2526
+ assert_eq ! ( resp. status( ) . as_u16( ) , StatusCode :: INTERNAL_SERVER_ERROR ) ;
2527
+
2528
+ tb. exit ( Duration :: from_secs ( TESTBED_DEADLINE_SEC ) ) . await ;
2529
+
2530
+ while let Some ( ev) = rx. recv ( ) . await {
2531
+ let WorkerEvents :: Shutdown ( ev) = ev. event else {
2532
+ continue ;
2533
+ } ;
2534
+ assert_eq ! ( ev. reason, ShutdownReason :: CPUTime ) ;
2535
+ return ;
2536
+ }
2537
+
2538
+ unreachable ! ( "test failed" ) ;
2539
+ }
2540
+
2497
2541
#[ tokio:: test]
2498
2542
#[ serial]
2499
2543
async fn test_should_render_detailed_failed_to_create_graph_error ( ) {
0 commit comments