~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_pack.py

  • Committer: John Arbash Meinel
  • Date: 2010-08-13 19:08:57 UTC
  • mto: (5050.17.7 2.2)
  • mto: This revision was merged to the branch mainline in revision 5379.
  • Revision ID: john@arbash-meinel.com-20100813190857-mvzwnimrxvm0zimp
Lots of documentation updates.

We had a lot of http links pointing to the old domain. They should
all now be properly updated to the new domain. (only bazaar-vcs.org
entry left is for pqm, which seems to still reside at the old url.)

Also removed one 'TODO' doc entry about switching to binary xdelta, since
we basically did just that with groupcompress.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007 Canonical Ltd
 
1
# Copyright (C) 2007, 2009, 2010 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
16
16
#
17
17
 
18
18
"""Tests of the 'bzr pack' command."""
19
 
 
20
 
from bzrlib.tests.blackbox import ExternalBase
21
 
 
22
 
 
23
 
class TestPack(ExternalBase):
 
19
import os
 
20
 
 
21
from bzrlib import tests
 
22
 
 
23
 
 
24
class TestPack(tests.TestCaseWithTransport):
 
25
 
 
26
    def _make_versioned_file(self, path, line_prefix='line', total_lines=10):
 
27
        self._make_file(path, line_prefix, total_lines, versioned=True)
 
28
 
 
29
    def _make_file(self, path, line_prefix, total_lines, versioned):
 
30
        text=''
 
31
        for i in range(total_lines):
 
32
            text += line_prefix + str(i+1) + "\n"
 
33
 
 
34
        open(path, 'w').write(text)
 
35
        if versioned:
 
36
            self.run_bzr(['add', path])
 
37
            self.run_bzr(['ci', '-m', '"' + path + '"'])
 
38
 
 
39
    def _update_file(self, path, text, checkin=True):
 
40
        """append text to file 'path' and check it in"""
 
41
        open(path, 'a').write(text)
 
42
        if checkin:
 
43
            self.run_bzr(['ci', path, '-m', '"' + path + '"'])
24
44
 
25
45
    def test_pack_silent(self):
26
46
        """pack command has no intrinsic output."""
42
62
        out, err = self.run_bzr('pack repository')
43
63
        self.assertEqual('', out)
44
64
        self.assertEqual('', err)
 
65
 
 
66
    def test_pack_clean_obsolete_packs(self):
 
67
        """Ensure --clean-obsolete-packs removes obsolete pack files
 
68
        """
 
69
        wd = 'foobar0'
 
70
        wt = self.make_branch_and_tree(wd)
 
71
        transport = wt.branch.repository.bzrdir.transport
 
72
        os.chdir(wd)
 
73
 
 
74
        # do multiple commits to ensure that obsolete packs are created
 
75
        # by 'bzr pack'
 
76
        self._make_versioned_file('file0.txt')
 
77
        for i in range(5):
 
78
            self._update_file('file0.txt', 'HELLO %d\n' % i)
 
79
 
 
80
        out, err = self.run_bzr(['pack', '--clean-obsolete-packs'])
 
81
 
 
82
        pack_names = transport.list_dir('repository/obsolete_packs')
 
83
        self.assertTrue(len(pack_names) == 0)