~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Kent Gibson
  • Date: 2007-11-12 13:56:16 UTC
  • mto: (2996.1.1 ianc-integration)
  • mto: This revision was merged to the branch mainline in revision 2997.
  • Revision ID: warthog618@gmail.com-20071112135616-1bvp2zhekdvy0j23
Use normalize_log to more accurately test blackbox log output.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import bzrlib
24
24
from bzrlib.tests.blackbox import ExternalBase
25
25
from bzrlib.tests import TestCaseInTempDir, TestCaseWithTransport
 
26
from bzrlib.tests.test_log import (
 
27
    normalize_log,
 
28
    )
26
29
 
27
30
 
28
31
class TestLog(ExternalBase):
174
177
    def test_merges_are_indented_by_level(self):
175
178
        self._prepare()
176
179
        out,err = self.run_bzr('log')
177
 
        # the log will look something like:
178
 
#        self.assertEqual("""\
179
 
#------------------------------------------------------------
180
 
#revno: 2
181
 
#committer: Robert Collins <foo@example.com>
182
 
#branch nick: parent
183
 
#timestamp: Tue 2006-03-28 22:31:40 +1100
184
 
#message:
185
 
#  merge branch 1
186
 
#    ------------------------------------------------------------
187
 
#    revno: 1.1.2  
188
 
#    committer: Robert Collins <foo@example.com>
189
 
#    branch nick: child
190
 
#    timestamp: Tue 2006-03-28 22:31:40 +1100
191
 
#    message:
192
 
#      merge branch 2
193
 
#        ------------------------------------------------------------
194
 
#        revno: 1.1.1.1
195
 
#        committer: Robert Collins <foo@example.com>
196
 
#        branch nick: smallerchild
197
 
#        timestamp: Tue 2006-03-28 22:31:40 +1100
198
 
#        message:
199
 
#          branch 2
200
 
#    ------------------------------------------------------------
201
 
#    revno: 1.1.1
202
 
#    committer: Robert Collins <foo@example.com>
203
 
#    branch nick: child
204
 
#    timestamp: Tue 2006-03-28 22:31:40 +1100
205
 
#    message:
206
 
#      branch 1
207
 
#------------------------------------------------------------
208
 
#revno: 1
209
 
#committer: Robert Collins <foo@example.com>
210
 
#branch nick: parent
211
 
#timestamp: Tue 2006-03-28 22:31:39 +1100
212
 
#message:
213
 
#  first post
214
 
#""", out)
215
 
        # but we dont have a nice pattern matcher hooked up yet, so:
216
 
        # we check for the indenting of the commit message and the 
217
 
        # revision numbers 
218
 
        self.assertTrue('revno: 2' in out)
219
 
        self.assertTrue('  merge branch 1' in out)
220
 
        self.assertTrue('    revno: 1.1.2' in out)
221
 
        self.assertTrue('      merge branch 2' in out)
222
 
        self.assertTrue('        revno: 1.1.1.1' in out)
223
 
        self.assertTrue('          branch 2' in out)
224
 
        self.assertTrue('    revno: 1.1.1' in out)
225
 
        self.assertTrue('      branch 1' in out)
226
 
        self.assertTrue('revno: 1\n' in out)
227
 
        self.assertTrue('  first post' in out)
228
180
        self.assertEqual('', err)
 
181
        log = normalize_log(out)
 
182
        self.assertEqualDiff(log, """\
 
183
------------------------------------------------------------
 
184
revno: 2
 
185
committer: Lorem Ipsum <test@example.com>
 
186
branch nick: parent
 
187
timestamp: Just now
 
188
message:
 
189
  merge branch 1
 
190
    ------------------------------------------------------------
 
191
    revno: 1.1.2
 
192
    committer: Lorem Ipsum <test@example.com>
 
193
    branch nick: child
 
194
    timestamp: Just now
 
195
    message:
 
196
      merge branch 2
 
197
        ------------------------------------------------------------
 
198
        revno: 1.1.1.1.1
 
199
        committer: Lorem Ipsum <test@example.com>
 
200
        branch nick: smallerchild
 
201
        timestamp: Just now
 
202
        message:
 
203
          branch 2
 
204
    ------------------------------------------------------------
 
205
    revno: 1.1.1
 
206
    committer: Lorem Ipsum <test@example.com>
 
207
    branch nick: child
 
208
    timestamp: Just now
 
209
    message:
 
210
      branch 1
 
211
------------------------------------------------------------
 
212
revno: 1
 
213
committer: Lorem Ipsum <test@example.com>
 
214
branch nick: parent
 
215
timestamp: Just now
 
216
message:
 
217
  first post
 
218
""")
229
219
 
230
220
    def test_merges_single_merge_rev(self):
231
221
        self._prepare()
232
222
        out,err = self.run_bzr('log -r1.1.2')
233
 
        # the log will look something like:
234
 
#        self.assertEqual("""\
235
 
#------------------------------------------------------------
236
 
#revno: 1.1.2  
237
 
#committer: Robert Collins <foo@example.com>
238
 
#branch nick: child
239
 
#timestamp: Tue 2006-03-28 22:31:40 +1100
240
 
#message:
241
 
#  merge branch 2
242
 
#    ------------------------------------------------------------
243
 
#    revno: 1.1.1.1
244
 
#    committer: Robert Collins <foo@example.com>
245
 
#    branch nick: smallerchild
246
 
#    timestamp: Tue 2006-03-28 22:31:40 +1100
247
 
#    message:
248
 
#      branch 2
249
 
#""", out)
250
 
        # but we dont have a nice pattern matcher hooked up yet, so:
251
 
        # we check for the indenting of the commit message and the 
252
 
        # revision numbers 
253
 
        self.assertTrue('revno: 2' not in out)
254
 
        self.assertTrue('  merge branch 1' not in out)
255
 
        self.assertTrue('revno: 1.1.2' in out)
256
 
        self.assertTrue('  merge branch 2' in out)
257
 
        self.assertTrue('    revno: 1.1.1.1' in out)
258
 
        self.assertTrue('      branch 2' in out)
259
 
        self.assertTrue('revno: 1.1.1\n' not in out)
260
 
        self.assertTrue('  branch 1' not in out)
261
 
        self.assertTrue('revno: 1\n' not in out)
262
 
        self.assertTrue('  first post' not in out)
263
223
        self.assertEqual('', err)
 
224
        log = normalize_log(out)
 
225
        self.assertEqualDiff(log, """\
 
226
------------------------------------------------------------
 
227
revno: 1.1.2
 
228
committer: Lorem Ipsum <test@example.com>
 
229
branch nick: child
 
230
timestamp: Just now
 
231
message:
 
232
  merge branch 2
 
233
    ------------------------------------------------------------
 
234
    revno: 1.1.1.1.1
 
235
    committer: Lorem Ipsum <test@example.com>
 
236
    branch nick: smallerchild
 
237
    timestamp: Just now
 
238
    message:
 
239
      branch 2
 
240
""")
264
241
 
265
242
    def test_merges_partial_range(self):
266
243
        self._prepare()
267
244
        out,err = self.run_bzr('log -r1.1.1..1.1.2')
268
 
        # the log will look something like:
269
 
#        self.assertEqual("""\
270
 
#------------------------------------------------------------
271
 
#revno: 1.1.2  
272
 
#committer: Robert Collins <foo@example.com>
273
 
#branch nick: child
274
 
#timestamp: Tue 2006-03-28 22:31:40 +1100
275
 
#message:
276
 
#  merge branch 2
277
 
#    ------------------------------------------------------------
278
 
#    revno: 1.1.1.1
279
 
#    committer: Robert Collins <foo@example.com>
280
 
#    branch nick: smallerchild
281
 
#    timestamp: Tue 2006-03-28 22:31:40 +1100
282
 
#    message:
283
 
#      branch 2
284
 
#------------------------------------------------------------
285
 
#revno: 1.1.1
286
 
#committer: Robert Collins <foo@example.com>
287
 
#branch nick: child
288
 
#timestamp: Tue 2006-03-28 22:31:40 +1100
289
 
#message:
290
 
#  branch 1
291
 
#""", out)
292
 
        # but we dont have a nice pattern matcher hooked up yet, so:
293
 
        # we check for the indenting of the commit message and the 
294
 
        # revision numbers 
295
 
        self.assertTrue('revno: 2' not in out)
296
 
        self.assertTrue('  merge branch 1' not in out)
297
 
        self.assertTrue('revno: 1.1.2' in out)
298
 
        self.assertTrue('  merge branch 2' in out)
299
 
        self.assertTrue('    revno: 1.1.1.1' in out)
300
 
        self.assertTrue('      branch 2' in out)
301
 
        self.assertTrue('revno: 1.1.1' in out)
302
 
        self.assertTrue('  branch 1' in out)
303
 
        self.assertTrue('revno: 1\n' not in out)
304
 
        self.assertTrue('  first post' not in out)
305
245
        self.assertEqual('', err)
 
246
        log = normalize_log(out)
 
247
        self.assertEqualDiff(log, """\
 
248
------------------------------------------------------------
 
249
revno: 1.1.2
 
250
committer: Lorem Ipsum <test@example.com>
 
251
branch nick: child
 
252
timestamp: Just now
 
253
message:
 
254
  merge branch 2
 
255
    ------------------------------------------------------------
 
256
    revno: 1.1.1.1.1
 
257
    committer: Lorem Ipsum <test@example.com>
 
258
    branch nick: smallerchild
 
259
    timestamp: Just now
 
260
    message:
 
261
      branch 2
 
262
------------------------------------------------------------
 
263
revno: 1.1.1
 
264
committer: Lorem Ipsum <test@example.com>
 
265
branch nick: child
 
266
timestamp: Just now
 
267
message:
 
268
  branch 1
 
269
""")
306
270
 
307
271
 
308
272
class TestLogEncodings(TestCaseInTempDir):