Fix CBT unit tests.

This commit is contained in:
Mike Perry
2010-05-12 15:31:22 -07:00
parent 8ada0011f9
commit d9be6f3845
2 changed files with 27 additions and 17 deletions
+25 -15
View File
@@ -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
View File
@@ -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);