~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_repository.py

  • Committer: Robert Collins
  • Date: 2010-01-08 06:33:05 UTC
  • mto: This revision was merged to the branch mainline in revision 4944.
  • Revision ID: robertc@robertcollins.net-20100108063305-qxgq2t7prgp0op1j
Adjust errors.py to fix missing references to 'warn'.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2010 Canonical Ltd
 
1
# Copyright (C) 2006, 2007, 2008, 2009 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
63
63
    revision as _mod_revision,
64
64
    symbol_versioning,
65
65
    upgrade,
66
 
    versionedfile,
67
66
    workingtree,
68
67
    )
69
68
from bzrlib.repofmt import (
1347
1346
        self.assertEqual({revs[-1]:(revs[-2],)}, r.get_parent_map([revs[-1]]))
1348
1347
        self.assertFalse(packs.reload_pack_names())
1349
1348
 
1350
 
    def test_reload_pack_names_preserves_pending(self):
1351
 
        # TODO: Update this to also test for pending-deleted names
1352
 
        tree, r, packs, revs = self.make_packs_and_alt_repo(write_lock=True)
1353
 
        # We will add one pack (via start_write_group + insert_record_stream),
1354
 
        # and remove another pack (via _remove_pack_from_memory)
1355
 
        orig_names = packs.names()
1356
 
        orig_at_load = packs._packs_at_load
1357
 
        to_remove_name = iter(orig_names).next()
1358
 
        r.start_write_group()
1359
 
        self.addCleanup(r.abort_write_group)
1360
 
        r.texts.insert_record_stream([versionedfile.FulltextContentFactory(
1361
 
            ('text', 'rev'), (), None, 'content\n')])
1362
 
        new_pack = packs._new_pack
1363
 
        self.assertTrue(new_pack.data_inserted())
1364
 
        new_pack.finish()
1365
 
        packs.allocate(new_pack)
1366
 
        packs._new_pack = None
1367
 
        removed_pack = packs.get_pack_by_name(to_remove_name)
1368
 
        packs._remove_pack_from_memory(removed_pack)
1369
 
        names = packs.names()
1370
 
        all_nodes, deleted_nodes, new_nodes = packs._diff_pack_names()
1371
 
        new_names = set([x[0][0] for x in new_nodes])
1372
 
        self.assertEqual(names, sorted([x[0][0] for x in all_nodes]))
1373
 
        self.assertEqual(set(names) - set(orig_names), new_names)
1374
 
        self.assertEqual(set([new_pack.name]), new_names)
1375
 
        self.assertEqual([to_remove_name],
1376
 
                         sorted([x[0][0] for x in deleted_nodes]))
1377
 
        packs.reload_pack_names()
1378
 
        reloaded_names = packs.names()
1379
 
        self.assertEqual(orig_at_load, packs._packs_at_load)
1380
 
        self.assertEqual(names, reloaded_names)
1381
 
        all_nodes, deleted_nodes, new_nodes = packs._diff_pack_names()
1382
 
        new_names = set([x[0][0] for x in new_nodes])
1383
 
        self.assertEqual(names, sorted([x[0][0] for x in all_nodes]))
1384
 
        self.assertEqual(set(names) - set(orig_names), new_names)
1385
 
        self.assertEqual(set([new_pack.name]), new_names)
1386
 
        self.assertEqual([to_remove_name],
1387
 
                         sorted([x[0][0] for x in deleted_nodes]))
1388
 
 
1389
1349
    def test_autopack_reloads_and_stops(self):
1390
1350
        tree, r, packs, revs = self.make_packs_and_alt_repo(write_lock=True)
1391
1351
        # After we have determined what needs to be autopacked, trigger a