def test_is_key_prefix_subset_on_equal(self): t1 = util.SortedBitsTrie() t2 = util.SortedBitsTrie() self.assertTrue(t1.is_key_prefix_subset(t2)) t1 = util.SortedBitsTrie({bs.Bits('0b1010'): None}) t2 = util.SortedBitsTrie({bs.Bits('0b1010'): None}) self.assertTrue(t1.is_key_prefix_subset(t2))
def test_has_prefix_of_on_no_match(self): t = util.SortedBitsTrie({}) self.assertFalse(t.has_prefix_of(bs.Bits())) t = util.SortedBitsTrie({}) self.assertFalse(t.has_prefix_of(bs.Bits('0b0000'))) t = util.SortedBitsTrie({bs.Bits('0b1000'): None}) self.assertFalse(t.has_prefix_of(bs.Bits('0b0000'))) t = util.SortedBitsTrie({bs.Bits('0b1'): None}) self.assertFalse(t.has_prefix_of(bs.Bits('0b0000')))
def test_has_prefix_of_on_match(self): t = util.SortedBitsTrie({bs.Bits('0b1010'): None}) self.assertTrue(t.has_prefix_of(bs.Bits('0b1010'))) t = util.SortedBitsTrie({bs.Bits(): None}) self.assertTrue(t.has_prefix_of(bs.Bits('0b1010'))) t = util.SortedBitsTrie({bs.Bits('0b1'): None}) self.assertTrue(t.has_prefix_of(bs.Bits('0b1010'))) t = util.SortedBitsTrie({bs.Bits('0b10'): None}) self.assertTrue(t.has_prefix_of(bs.Bits('0b1010'))) t = util.SortedBitsTrie({ bs.Bits('0b101'): None, bs.Bits('0b010'): None }) self.assertTrue(t.has_prefix_of(bs.Bits('0b0101')))
def __init__(self): settings_file_name = os.path.join(sys.path[0], 'test.settings') self.settings = util.read_settings(settings_file_name) self.all_query_groups = {} self.all_prefixes = util.SortedBitsTrie() self.env = simpy.Environment() self.logger = analyze.Logger(self.settings) self.network = util.Network(self.env, self.settings) self.all_peer_ids = set() self.all_sync_groups = {}
def test_is_key_prefix_subset_on_no_subset(self): t1 = util.SortedBitsTrie({bs.Bits('0b1010'): None}) t2 = util.SortedBitsTrie() self.assertFalse(t1.is_key_prefix_subset(t2)) t1 = util.SortedBitsTrie({bs.Bits('0b1010'): None}) t2 = util.SortedBitsTrie({bs.Bits('0b0101'): None}) self.assertFalse(t1.is_key_prefix_subset(t2)) t1 = util.SortedBitsTrie({bs.Bits('0b0'): None}) t2 = util.SortedBitsTrie({bs.Bits('0b01'): None}) self.assertFalse(t1.is_key_prefix_subset(t2)) t1 = util.SortedBitsTrie({ bs.Bits('0b0101'): None, bs.Bits('0b010'): None }) t2 = util.SortedBitsTrie({bs.Bits('0b0101'): None}) self.assertFalse(t1.is_key_prefix_subset(t2))
if not sys.argv[1].endswith('.settings'): print('Provide a settings file with a .settings suffix.') exit(1) log_file_name = sys.argv[1].rpartition('.settings')[0] + '.log' settings_file_name = sys.argv[1] if os.path.lexists(log_file_name): print('Log file {} exists, terminating.'.format(log_file_name)) exit(1) settings = util.read_settings(settings_file_name) random.seed(a=settings['rng_seed'], version=2) env = simpy.Environment() logger = an.Logger(settings) peers = cl.OrderedDict() sync_groups = cl.OrderedDict() all_query_groups = cl.OrderedDict() all_prefixes = util.SortedBitsTrie() network = util.Network(env, settings) if settings['force_one_group']: query_group_id = next(p.query_group_id_iter) query_group = p.QueryGroup(query_group_id, (), settings['initial_reputation']) all_query_groups[query_group_id] = query_group else: query_group_id = None if settings['even_sync_groups']: peer_id_batches, all_peer_ids\ = even_sync_groups_peer_id_batches(settings) else: peer_id_batches, all_peer_ids = random_peer_id_batches(settings)