fix(heal): increase stack size for absence receipt replay test

The  test used
 with default stack size, but
the 16-disk deep heal path overflows the default macOS thread stack
(~8MB). Switch to an explicit  with 32MB stack
and manual tokio runtime, matching the pattern used by sibling tests
in the same file.

Verified: test passes in isolation after the change.
This commit is contained in:
overtrue
2026-10-05 19:00:19 +08:00
committed by Chris
parent 051a54f129
commit 0ad0a6d8de
@@ -672,9 +672,28 @@ mod absence_receipt_regressions {
assert_eq!(read_version(store, bucket, OBJECT, current).await, CURRENT);
}
#[tokio::test(flavor = "multi_thread", worker_threads = 4)]
#[serial]
async fn historical_absence_receipt_repairs_and_replays() {
#[test]
fn historical_absence_receipt_repairs_and_replays() {
std::thread::Builder::new()
.name("absence-receipt-replay".to_string())
.stack_size(32 * 1024 * 1024)
.spawn(|| {
let runtime = tokio::runtime::Builder::new_multi_thread()
.worker_threads(4)
.thread_stack_size(32 * 1024 * 1024)
.enable_all()
.build()
.expect("absence receipt replay test runtime should build");
runtime.block_on(historical_absence_receipt_repairs_and_replays_inner());
})
.expect("absence receipt replay test thread should spawn")
.join()
.expect("absence receipt replay test thread should finish");
}
async fn historical_absence_receipt_repairs_and_replays_inner() {
let bucket = "absence-receipt-replay";
let (_paths, store, storage, old, current) = stale_history(bucket).await;
let opts = HealOpts {