Skip to content

Commit cc78ed9

Browse files
committed
allow to change backend on turbo tasks tests
1 parent 46ccf0f commit cc78ed9

22 files changed

+48
-15
lines changed

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

turbopack/crates/turbo-tasks-fetch/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ turbopack-core = { workspace = true }
3131
httpmock = { workspace = true }
3232
tokio = { workspace = true, features = ["full"] }
3333
turbo-tasks-testing = { workspace = true }
34+
turbo-tasks-memory = { workspace = true }
3435

3536
[build-dependencies]
3637
turbo-tasks-build = { workspace = true }
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
turbo_tasks::TurboTasks::new(turbo_tasks_memory::MemoryBackend::new(usize::MAX))

turbopack/crates/turbo-tasks-macros-tests/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ tokio = { workspace = true }
1212
trybuild = { version = "1.0.97" }
1313
turbo-tasks = { workspace = true }
1414
turbo-tasks-testing = { workspace = true }
15+
turbo-tasks-memory = { workspace = true }
1516

1617
[build-dependencies]
1718
turbo-tasks-build = { workspace = true }
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
turbo_tasks::TurboTasks::new(turbo_tasks_memory::MemoryBackend::new(usize::MAX))

turbopack/crates/turbo-tasks-memory/tests

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/all_in_one.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/call_types.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/collectibles.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/debug.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/dirty_in_progress.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/emptied_cells.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/generics.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/read_ref_cell.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/recompute.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/recompute_collectibles.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/scope_stress.rs
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
turbo_tasks::TurboTasks::new(turbo_tasks_memory::MemoryBackend::new(usize::MAX))
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../turbo-tasks-testing/tests/trait_ref_cell.rs
Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
1-
use std::{future::Future, sync::OnceLock};
1+
use std::{
2+
future::Future,
3+
sync::{Arc, OnceLock},
4+
};
25

3-
use turbo_tasks::{trace::TraceRawVcs, TurboTasks};
4-
use turbo_tasks_memory::MemoryBackend;
6+
use turbo_tasks::{run_once, trace::TraceRawVcs, TurboTasksApi};
57

68
pub struct Registration {
79
execution_lock: OnceLock<()>,
810
func: fn(),
11+
create_turbo_tasks: fn() -> Arc<dyn TurboTasksApi>,
912
}
1013

1114
impl Registration {
1215
#[doc(hidden)]
13-
pub const fn new(func: fn()) -> Self {
16+
pub const fn new(create_turbo_tasks: fn() -> Arc<dyn TurboTasksApi>, func: fn()) -> Self {
1417
Registration {
1518
execution_lock: OnceLock::new(),
1619
func,
20+
create_turbo_tasks,
1721
}
1822
}
1923

@@ -23,11 +27,23 @@ impl Registration {
2327
pub fn ensure_registered(&self) {
2428
self.execution_lock.get_or_init(self.func);
2529
}
30+
31+
pub fn create_turbo_tasks(&self) -> Arc<dyn TurboTasksApi> {
32+
(self.create_turbo_tasks)()
33+
}
2634
}
2735

2836
#[macro_export]
2937
macro_rules! register {
3038
($($other_register_fns:expr),* $(,)?) => {{
39+
use turbo_tasks::TurboTasksApi;
40+
use std::sync::Arc;
41+
fn create_turbo_tasks() -> Arc<dyn TurboTasksApi> {
42+
include!(concat!(
43+
env!("CARGO_MANIFEST_DIR"),
44+
"/tests/test_config.trs"
45+
))
46+
}
3147
fn register_impl() {
3248
$($other_register_fns();)*
3349
turbo_tasks::register();
@@ -38,7 +54,7 @@ macro_rules! register {
3854
".rs",
3955
));
4056
}
41-
turbo_tasks_testing::Registration::new(register_impl)
57+
turbo_tasks_testing::Registration::new(create_turbo_tasks, register_impl)
4258
}};
4359
}
4460

@@ -47,6 +63,6 @@ where
4763
T: TraceRawVcs + Send + 'static,
4864
{
4965
registration.ensure_registered();
50-
let tt = TurboTasks::new(MemoryBackend::default());
51-
tt.run_once(async move { Ok(fut.await) }).await.unwrap()
66+
let tt = registration.create_turbo_tasks();
67+
run_once(tt, async move { Ok(fut.await) }).await.unwrap()
5268
}

turbopack/crates/turbo-tasks-testing/tests/scope_stress.rs

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
#![feature(arbitrary_self_types)]
22

33
use anyhow::Result;
4-
use turbo_tasks::{Completion, TryJoinIterExt, TurboTasks, Vc};
5-
use turbo_tasks_memory::MemoryBackend;
4+
use turbo_tasks::{run_once, Completion, TryJoinIterExt, Vc};
65
use turbo_tasks_testing::{register, Registration};
76

87
static REGISTRATION: Registration = register!();
@@ -15,21 +14,21 @@ fn rectangle_stress() {
1514
.build()
1615
.unwrap();
1716
rt.block_on(async {
18-
let tt = TurboTasks::new(MemoryBackend::default());
17+
let tt = REGISTRATION.create_turbo_tasks();
1918
let size = std::env::var("TURBOPACK_TEST_RECTANGLE_STRESS_SIZE")
2019
.map(|size| size.parse().unwrap())
2120
.unwrap_or(50);
2221
(0..size)
2322
.map(|a| (a, size - 1))
2423
.chain((0..size - 1).map(|b| (size - 1, b)))
2524
.map(|(a, b)| {
26-
let tt = &tt;
25+
let tt = tt.clone();
2726
async move {
28-
let task = tt.spawn_once_task(async move {
27+
run_once(tt, async move {
2928
rectangle(a, b).strongly_consistent().await?;
3029
Ok(Vc::<()>::default())
31-
});
32-
tt.wait_task_completion(task, false).await
30+
})
31+
.await
3332
}
3433
})
3534
.try_join()

0 commit comments

Comments
 (0)