29
31
bzr('version-info', '--format', 'quijibo', retcode=3)
33
def create_branch(self):
39
open('a', 'wb').write('a file\n')
41
bzr('commit', '-m', 'adding a')
43
open('b', 'wb').write('b file\n')
45
bzr('commit', '-m', 'adding b')
48
def get_revisions(self):
50
revisions = self.run_bzr('revision-history')[0].strip().split('\n')
58
return self.run_bzr('version-info', '--format', 'rio',
61
revisions = self.get_revisions()
63
self.assertContainsRe(txt, 'date:')
64
self.assertContainsRe(txt, 'revno: 2')
65
self.assertContainsRe(txt, 'revision_id: ' + revisions[-1])
68
self.assertContainsRe(txt, 'date:')
69
self.assertContainsRe(txt, 'revno: 2')
70
self.assertContainsRe(txt, 'revision_id: ' + revisions[-1])
71
self.assertContainsRe(txt, 'clean: True')
72
self.assertContainsRe(txt, 'revisions:')
73
for rev_id in revisions:
74
self.assertContainsRe(txt, 'id: ' + rev_id)
75
self.assertContainsRe(txt, 'message: adding a')
76
self.assertContainsRe(txt, 'message: adding b')
78
txt = regen('--check-clean')
79
self.assertContainsRe(txt, 'clean: True')
81
open('branch/c', 'wb').write('now unclean\n')
82
txt = regen('--check-clean')
83
self.assertContainsRe(txt, 'clean: False')
86
# Make sure it works without a directory
88
txt = self.run_bzr('version-info', '--format', 'rio')
90
def test_python(self):
91
def bzr(*args, **kwargs):
92
return self.run_bzr(*args, **kwargs)[0]
95
txt = self.run_bzr('version-info', '--format', 'python',
97
outf = open('test_version_information.py', 'wb')
101
sys.path.append(os.getcwdu())
102
import test_version_information as tvi
106
# Make sure the module isn't cached
107
sys.modules.pop('tvi', None)
108
sys.modules.pop('test_version_information', None)
109
# Delete the compiled versions, because we are generating
110
# a new file fast enough that python doen't detect it
111
# needs to recompile, and using sleep() just makes the
113
if os.path.exists('test_version_information.pyc'):
114
os.remove('test_version_information.pyc')
115
if os.path.exists('test_version_information.pyo'):
116
os.remove('test_version_information.pyo')
120
revisions = self.get_revisions()
123
self.assertEqual(tvi.version_info['revno'], 2)
124
self.failUnless(tvi.version_info.has_key('date'))
125
self.assertEqual(revisions[-1], tvi.version_info['revision_id'])
128
self.assertEqual([(revisions[0], 'adding a'),
129
(revisions[1], 'adding b')],
130
tvi.version_info['revisions'])
131
self.assertEqual(True, tvi.version_info['clean'])