~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/__init__.py

  • Committer: Aaron Bentley
  • Date: 2005-10-18 18:48:27 UTC
  • mto: (1185.25.1)
  • mto: This revision was merged to the branch mainline in revision 1474.
  • Revision ID: abentley@panoramicfeedback.com-20051018184827-2cc69376beb1cdf3
Switched to ConfigObj

Show diffs side-by-side

added added

removed removed

Lines of Context:
169
169
 
170
170
    def setUp(self):
171
171
        unittest.TestCase.setUp(self)
172
 
        self.oldenv = os.environ.get('HOME', None)
173
 
        os.environ['HOME'] = os.getcwd()
174
 
        self.bzr_email = os.environ.get('BZREMAIL')
175
 
        if self.bzr_email is not None:
176
 
            del os.environ['BZREMAIL']
177
 
        self.email = os.environ.get('EMAIL')
178
 
        if self.email is not None:
179
 
            del os.environ['EMAIL']
180
172
        bzrlib.trace.disable_default_logging()
181
173
        self._enable_file_logging()
182
174
 
183
175
    def _ndiff_strings(self, a, b):
184
 
        """Return ndiff between two strings containing lines.
185
 
        
186
 
        A trailing newline is added if missing to make the strings
187
 
        print properly."""
188
 
        if b and b[-1] != '\n':
189
 
            b += '\n'
190
 
        if a and a[-1] != '\n':
191
 
            a += '\n'
 
176
        """Return ndiff between two strings containing lines."""
192
177
        difflines = difflib.ndiff(a.splitlines(True),
193
178
                                  b.splitlines(True),
194
179
                                  linejunk=lambda x: False,
212
197
        if not re.search(needle_re, haystack):
213
198
            raise AssertionError('pattern "%s" not found in "%s"'
214
199
                    % (needle_re, haystack))
215
 
 
 
200
        
216
201
    def _enable_file_logging(self):
217
202
        fileno, name = tempfile.mkstemp(suffix='.log', prefix='testbzr')
218
203
 
229
214
        self._log_file_name = name
230
215
 
231
216
    def tearDown(self):
232
 
        os.environ['HOME'] = self.oldenv
233
 
        if os.environ.get('BZREMAIL') is not None:
234
 
            del os.environ['BZREMAIL']
235
 
        if self.bzr_email is not None:
236
 
            os.environ['BZREMAIL'] = self.bzr_email
237
 
        if os.environ.get('EMAIL') is not None:
238
 
            del os.environ['EMAIL']
239
 
        if self.email is not None:
240
 
            os.environ['EMAIL'] = self.email
241
217
        logging.getLogger('').removeHandler(self._log_hdlr)
242
218
        bzrlib.trace.enable_default_logging()
243
219
        logging.debug('%s teardown', self.id())
418
394
        os.mkdir(os.path.join(TestCaseInTempDir.TEST_ROOT, '.bzr'))
419
395
 
420
396
    def setUp(self):
 
397
        super(TestCaseInTempDir, self).setUp()
421
398
        self._make_test_root()
422
399
        self._currentdir = os.getcwdu()
423
400
        short_id = self.id().replace('bzrlib.selftest.', '') \
425
402
        self.test_dir = os.path.join(self.TEST_ROOT, short_id)
426
403
        os.mkdir(self.test_dir)
427
404
        os.chdir(self.test_dir)
428
 
        super(TestCaseInTempDir, self).setUp()
429
405
        
430
406
    def tearDown(self):
431
407
        os.chdir(self._currentdir)
456
432
        """Fail unless path, which may be abs or relative, exists."""
457
433
        self.failUnless(osutils.lexists(path))
458
434
        
459
 
    def assertFileEqual(self, content, path):
460
 
        """Fail if path does not contain 'content'."""
461
 
        self.failUnless(osutils.lexists(path))
462
 
        self.assertEqualDiff(content, open(path, 'r').read())
463
 
        
464
435
 
465
436
class MetaTestLog(TestCase):
466
437
    def test_logging(self):
521
492
 
522
493
    testmod_names = \
523
494
                  ['bzrlib.selftest.MetaTestLog',
524
 
                   'bzrlib.selftest.testgpg',
525
495
                   'bzrlib.selftest.testidentitymap',
526
496
                   'bzrlib.selftest.testinv',
527
497
                   'bzrlib.selftest.test_ancestry',
560
530
                   'bzrlib.selftest.testannotate',
561
531
                   'bzrlib.selftest.testrevprops',
562
532
                   'bzrlib.selftest.testoptions',
563
 
                   'bzrlib.selftest.testhttp',
564
 
                   'bzrlib.selftest.testnonascii',
565
533
                   ]
566
534
 
567
535
    for m in (bzrlib.store, bzrlib.inventory, bzrlib.branch,
568
 
              bzrlib.osutils, bzrlib.commands, bzrlib.merge3,
569
 
              bzrlib.errors,
570
 
              ):
 
536
              bzrlib.osutils, bzrlib.commands, bzrlib.merge3):
571
537
        if m not in MODULES_TO_DOCTEST:
572
538
            MODULES_TO_DOCTEST.append(m)
573
539