def test_measured_progress_stats(datadir): number_consensus_relays = 3 bw_lines_raw = [] statsd_exp = { 'percent_eligible_relays': 100, 'minimum_percent_eligible_relays': 60, 'number_consensus_relays': 3, 'minimum_number_eligible_relays': 2, 'number_eligible_relays': 3 } min_perc_reached_before = None results = load_result_file(str(datadir.join("results_away.txt"))) for fp, values in results.items(): # log.debug("Relay fp %s", fp) line, _ = V3BWLine.from_results(values) if line is not None: bw_lines_raw.append(line) assert len(bw_lines_raw) == 3 bw_lines = V3BWFile.bw_torflow_scale(bw_lines_raw) assert len(bw_lines) == 3 statsd, success = V3BWFile.measured_progress_stats( len(bw_lines), number_consensus_relays, min_perc_reached_before) assert success assert statsd == statsd_exp number_consensus_relays = 6 statsd, success = V3BWFile.measured_progress_stats( len(bw_lines), number_consensus_relays, min_perc_reached_before) assert not success statsd_exp = { 'percent_eligible_relays': 50, 'minimum_percent_eligible_relays': 60, 'number_consensus_relays': 6, 'minimum_number_eligible_relays': 4, 'number_eligible_relays': 3 } assert statsd_exp == statsd
def test_relay_in_recent_consensus_count(root_data_path, datadir): results = load_result_file(str(datadir.join("results.txt"))) for fp, values in results.items(): line = V3BWLine.from_results(values) assert "3" == line[0].relay_in_recent_consensus_count