/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

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

Rework test_script a little bit.


Don't allow someone to request a stdin request to echo.
Echo never reads from stdin, it just echos its arguments.
You use 'cat' if you want to read from stdin.

A few other fixes because the tests were using filenames
that are actually illegal on Windows, rather than just
nonexistant.


Change the exception handling for commands so that
unknown errors don't get silently squashed and then
turn into hard-to-debug errors later.

test_script now passes on Windows.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2007, 2009, 2010 Canonical Ltd
 
1
# Copyright (C) 2007 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
 
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 + '"'])
 
19
 
 
20
from bzrlib.tests.blackbox import ExternalBase
 
21
 
 
22
 
 
23
class TestPack(ExternalBase):
44
24
 
45
25
    def test_pack_silent(self):
46
26
        """pack command has no intrinsic output."""
62
42
        out, err = self.run_bzr('pack repository')
63
43
        self.assertEqual('', out)
64
44
        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)