~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to doc/developers/testing.txt

  • Committer: Vincent Ladeuil
  • Date: 2011-05-31 10:01:15 UTC
  • mto: (5993.1.1 trunk)
  • mto: This revision was merged to the branch mainline in revision 5994.
  • Revision ID: v.ladeuil+lp@free.fr-20110531100115-bkea029bq5oki70l
Put the '\n' back into the formats and fix tests accordingly (reducing code duplication).

Show diffs side-by-side

added added

removed removed

Lines of Context:
516
516
regress.
517
517
 
518
518
This is done by running the command in a subprocess with
519
 
``PYTHON_VERBOSE=1``.  Starting a whole Python interpreter is pretty slow,
520
 
so we don't want exhaustive testing here, but just enough to guard against
521
 
distinct fixed problems.
 
519
``--profile-imports``.  Starting a whole Python interpreter is pretty
 
520
slow, so we don't want exhaustive testing here, but just enough to guard
 
521
against distinct fixed problems.
522
522
 
523
523
Assertions about precisely what is loaded tend to be brittle so we instead
524
524
make assertions that particular things aren't loaded.
1018
1018
 
1019
1019
    self.overrideAttr(osutils, '_cached_user_encoding', 'latin-1')
1020
1020
 
1021
 
This should be used with discretion; sometimes it's better to make the
1022
 
underlying code more testable so that you don't need to rely on monkey
1023
 
patching.
1024
 
 
1025
 
 
1026
 
Observing calls to a function
1027
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1028
 
 
1029
 
Sometimes it's useful to observe how a function is called, typically when
1030
 
calling it has side effects but the side effects are not easy to observe
1031
 
from a test case.  For instance the function may be expensive and we want
1032
 
to assert it is not called too many times, or it has effects on the
1033
 
machine that are safe to run during a test but not easy to measure.  In
1034
 
these cases, you can use `recordCalls` which will monkey-patch in a
1035
 
wrapper that records when the function is called.
1036
 
 
1037
 
 
1038
1021
Temporarily changing environment variables
1039
1022
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1040
1023
 
1089
1072
 
1090
1073
    tc qdisc add dev lo root handle 1: prio
1091
1074
    tc qdisc add dev lo parent 1:3 handle 30: netem delay 500ms 
1092
 
    tc filter add dev lo protocol ip parent 1:0 prio 3 u32 match ip dport 4155 0xffff flowid 1:3 
1093
 
    tc filter add dev lo protocol ip parent 1:0 prio 3 u32 match ip sport 4155 0xffff flowid 1:3 
 
1075
    tc qdisc add dev lo parent 30:1 handle 40: prio
 
1076
    tc filter add dev lo protocol ip parent 1:0 prio 3 u32 match ip dport 4155 0xffff flowid 1:3 handle 800::800
 
1077
    tc filter add dev lo protocol ip parent 1:0 prio 3 u32 match ip sport 4155 0xffff flowid 1:3 handle 800::801
1094
1078
 
1095
1079
and to remove this::
1096
1080