Skip to content

Commit

Permalink
Add test tracing, fix up comments
Browse files Browse the repository at this point in the history
  • Loading branch information
carljm committed Jul 30, 2024
1 parent f65bfe1 commit 5e91911
Show file tree
Hide file tree
Showing 6 changed files with 9 additions and 14 deletions.
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ eyre = "0.6.8"
notify-debouncer-mini = "0.4.1"
ordered-float = "4.2.1"
rustversion = "1.0"
test-log = "0.2.11"
test-log = { version ="0.2.11", features = ["trace"] }
trybuild = "1.0"


Expand Down
6 changes: 3 additions & 3 deletions src/active_query.rs
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ impl ActiveQuery {
}

/// Adds any dependencies from `other` into `self`.
/// Used during cycle recovery, see [`Runtime::create_cycle_error`].
/// Used during cycle recovery, see [`Runtime::unblock_cycle_and_maybe_throw`].
pub(super) fn add_from(&mut self, other: &ActiveQuery) {
self.changed_at = self.changed_at.max(other.changed_at);
self.durability = self.durability.min(other.durability);
Expand All @@ -119,7 +119,7 @@ impl ActiveQuery {
}

/// Removes the participants in `cycle` from my dependencies.
/// Used during cycle recovery, see [`Runtime::create_cycle_error`].
/// Used during cycle recovery, see [`Runtime::unblock_cycle_and_maybe_throw`].
pub(super) fn remove_cycle_participants(&mut self, cycle: &Cycle) {
for p in cycle.participant_keys() {
let p: DependencyIndex = p.into();
Expand All @@ -128,7 +128,7 @@ impl ActiveQuery {
}

/// Copy the changed-at, durability, and dependencies from `cycle_query`.
/// Used during cycle recovery, see [`Runtime::create_cycle_error`].
/// Used during cycle recovery, see [`Runtime::unblock_cycle_and_maybe_throw`].
pub(crate) fn take_inputs_from(&mut self, cycle_query: &ActiveQuery) {
self.changed_at = cycle_query.changed_at;
self.durability = cycle_query.durability;
Expand Down
8 changes: 3 additions & 5 deletions src/cycle.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,17 +94,15 @@ impl std::fmt::Debug for Cycle {
pub enum CycleRecoveryStrategy {
/// Cannot recover from cycles: panic.
///
/// This is the default. It is also what happens if a cycle
/// occurs and the queries involved have different recovery
/// strategies.
/// This is the default.
///
/// In the case of a failure due to a cycle, the panic
/// value will be XXX (FIXME).
/// value will be the `Cycle`.
Panic,

/// Recovers from cycles by storing a sentinel value.
///
/// This value is computed by the `QueryFunction::cycle_fallback`
/// This value is computed by the query's `recovery_fn`
/// function.
Fallback,
}
2 changes: 1 addition & 1 deletion src/function.rs
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ pub trait Configuration: Any {
/// This invokes the function the user wrote.
fn execute<'db>(db: &'db Self::DbView, input: Self::Input<'db>) -> Self::Output<'db>;

/// If the cycle strategy is `Recover`, then invoked when `key` is a participant
/// If the cycle strategy is `Fallback`, then invoked when `key` is a participant
/// in a cycle to find out what value it should have.
///
/// This invokes the recovery function given by the user.
Expand Down
2 changes: 1 addition & 1 deletion src/local_state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ impl LocalState {
changed_at: Revision,
) {
debug!(
"report_query_read_and_unwind_if_cycle_resulted(input={:?}, durability={:?}, changed_at={:?})",
"report_tracked_read(input={:?}, durability={:?}, changed_at={:?})",
input, durability, changed_at
);
self.with_query_stack(|stack| {
Expand Down
3 changes: 0 additions & 3 deletions tests/cycles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,6 @@ use salsa::Durability;
// | Cross | Fallback | N/A | Tracked | both | parallel/parallel_cycle_mid_recover.rs |
// | Cross | Fallback | N/A | Tracked | both | parallel/parallel_cycle_all_recover.rs |

// TODO: The following test is not yet ported.
// | Intra | Fallback | Old | Tracked | direct | cycle_disappears_durability |

#[derive(PartialEq, Eq, Hash, Clone, Debug)]
struct Error {
cycle: Vec<String>,
Expand Down

0 comments on commit 5e91911

Please sign in to comment.