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))
Beispiel #6
0
    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)