mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Fix CBT unit tests.
This commit is contained in:
+25
-15
@@ -84,22 +84,26 @@ static void entry_guards_changed(void);
|
||||
static int
|
||||
circuit_build_times_disabled(void)
|
||||
{
|
||||
int consensus_disabled = networkstatus_get_param(NULL, "cbtdisabled",
|
||||
0);
|
||||
int config_disabled = !get_options()->LearnCircuitBuildTimeout;
|
||||
int dirauth_disabled = get_options()->AuthoritativeDir;
|
||||
int state_disabled = (get_or_state()->LastWritten == -1);
|
||||
|
||||
if (consensus_disabled || config_disabled || dirauth_disabled ||
|
||||
state_disabled) {
|
||||
log_info(LD_CIRC,
|
||||
"CircuitBuildTime learning is disabled. "
|
||||
"Consensus=%d, Config=%d, AuthDir=%d, StateFile=%d",
|
||||
consensus_disabled, config_disabled, dirauth_disabled,
|
||||
state_disabled);
|
||||
return 1;
|
||||
} else {
|
||||
if (unit_tests) {
|
||||
return 0;
|
||||
} else {
|
||||
int consensus_disabled = networkstatus_get_param(NULL, "cbtdisabled",
|
||||
0);
|
||||
int config_disabled = !get_options()->LearnCircuitBuildTimeout;
|
||||
int dirauth_disabled = get_options()->AuthoritativeDir;
|
||||
int state_disabled = (get_or_state()->LastWritten == -1);
|
||||
|
||||
if (consensus_disabled || config_disabled || dirauth_disabled ||
|
||||
state_disabled) {
|
||||
log_info(LD_CIRC,
|
||||
"CircuitBuildTime learning is disabled. "
|
||||
"Consensus=%d, Config=%d, AuthDir=%d, StateFile=%d",
|
||||
consensus_disabled, config_disabled, dirauth_disabled,
|
||||
state_disabled);
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1104,6 +1108,12 @@ circuit_build_times_filter_timeouts(circuit_build_times_t *cbt)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Do not filter for unit tests. They expect the distribution to be
|
||||
* unchanged from run to run. */
|
||||
if (unit_tests) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
timeout_rate = circuit_build_times_timeout_rate(cbt);
|
||||
max_timeout = (build_time_t)tor_lround(circuit_build_times_calculate_timeout(cbt,
|
||||
circuit_build_times_max_synthetic_quantile()));
|
||||
|
||||
+2
-2
@@ -494,7 +494,7 @@ test_circuit_timeout(void)
|
||||
timeout1 = circuit_build_times_calculate_timeout(&estimate,
|
||||
CBT_DEFAULT_QUANTILE_CUTOFF/100.0);
|
||||
circuit_build_times_set_timeout(&estimate);
|
||||
log_warn(LD_CIRC, "Timeout is %lf, Xm is %d", timeout1, estimate.Xm);
|
||||
log_warn(LD_CIRC, "Timeout1 is %lf, Xm is %d", timeout1, estimate.Xm);
|
||||
/* XXX: 5% distribution error may not be the right metric */
|
||||
} while (fabs(circuit_build_times_cdf(&initial, timeout0) -
|
||||
circuit_build_times_cdf(&initial, timeout1)) > 0.05
|
||||
@@ -511,7 +511,7 @@ test_circuit_timeout(void)
|
||||
CBT_DEFAULT_QUANTILE_CUTOFF/100.0);
|
||||
|
||||
circuit_build_times_set_timeout(&final);
|
||||
log_warn(LD_CIRC, "Timeout is %lf, Xm is %d", timeout2, final.Xm);
|
||||
log_warn(LD_CIRC, "Timeout2 is %lf, Xm is %d", timeout2, final.Xm);
|
||||
|
||||
test_assert(fabs(circuit_build_times_cdf(&initial, timeout0) -
|
||||
circuit_build_times_cdf(&initial, timeout2)) < 0.05);
|
||||
|
||||
Reference in New Issue
Block a user