~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/testing.txt

  • Committer: Andrew Bennetts
  • Date: 2009-12-03 05:57:41 UTC
  • mfrom: (4857 +trunk)
  • mto: This revision was merged to the branch mainline in revision 4869.
  • Revision ID: andrew.bennetts@canonical.com-20091203055741-vmmg0fmjgjw2pwvu
MergeĀ lp:bzr.

Show diffs side-by-side

added added

removed removed

Lines of Context:
154
154
    cmd_object.run() method directly. This is a lot faster than
155
155
    subprocesses and generates the same logging output as running it in a
156
156
    subprocess (which invoking the method directly does not).
157
 
 
 
157
 
158
158
 3. Only test the one command in a single test script. Use the bzrlib
159
159
    library when setting up tests and when evaluating the side-effects of
160
160
    the command. We do this so that the library api has continual pressure
225
225
the line.
226
226
 
227
227
The execution stops as soon as an expected output or an expected error is not
228
 
matched. 
 
228
matched.
229
229
 
230
230
When no output is specified, any ouput from the command is accepted
231
 
and execution continue. 
 
231
and execution continue.
232
232
 
233
233
If an error occurs and no expected error is specified, the execution stops.
234
234
 
343
343
        The test exists but is known to fail, for example this might be
344
344
        appropriate to raise if you've committed a test for a bug but not
345
345
        the fix for it, or if something works on Unix but not on Windows.
346
 
        
 
346
 
347
347
        Raising this allows you to distinguish these failures from the
348
348
        ones that are not expected to fail.  If the test would fail
349
349
        because of something we don't expect or intend to fix,
369
369
UnavailableFeature      fail    pass    pass
370
370
KnownFailure            fail    pass    pass
371
371
======================= ======= ======= ========
372
 
     
 
372
 
373
373
 
374
374
Test feature dependencies
375
375
-------------------------
416
416
``_probe`` and ``feature_name`` methods.  For example::
417
417
 
418
418
    class _SymlinkFeature(Feature):
419
 
    
 
419
 
420
420
        def _probe(self):
421
421
            return osutils.has_symlinks()
422
 
    
 
422
 
423
423
        def feature_name(self):
424
424
            return 'symlinks'
425
 
    
 
425
 
426
426
    SymlinkFeature = _SymlinkFeature()
427
427
 
428
428