diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2011-07-04 10:27:39 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2011-07-04 10:27:39 -0400 |
commit | 9a57b96e1688fba3038b86a2f2c8244167db158f (patch) | |
tree | 8a8de2d63e072ea8a6fce00f661f111d323e7b85 | |
parent | b72fc76a8d781abbb612dd85a21ec24e00d8be9c (diff) | |
download | python-coveragepy-git-9a57b96e1688fba3038b86a2f2c8244167db158f.tar.gz |
A test and a fix for issue #122, maybe?
-rw-r--r-- | coverage/parser.py | 2 | ||||
-rw-r--r-- | test/test_arcs.py | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/coverage/parser.py b/coverage/parser.py index cbbb5a6a..b65689c4 100644 --- a/coverage/parser.py +++ b/coverage/parser.py @@ -297,7 +297,7 @@ OPS_EXCEPT_BLOCKS = _opcode_set('SETUP_EXCEPT', 'SETUP_FINALLY') OPS_POP_BLOCK = _opcode_set('POP_BLOCK') # Opcodes that have a jump destination, but aren't really a jump. -OPS_NO_JUMP = _opcode_set('SETUP_EXCEPT', 'SETUP_FINALLY') +OPS_NO_JUMP = OPS_PUSH_BLOCK # Individual opcodes we need below. OP_BREAK_LOOP = _opcode('BREAK_LOOP') diff --git a/test/test_arcs.py b/test/test_arcs.py index 0c169297..9f86ecde 100644 --- a/test/test_arcs.py +++ b/test/test_arcs.py @@ -260,6 +260,21 @@ class LoopArcTest(CoverageTest): arcz_missing="26 6." ) + def test_for_else(self): + self.check_coverage("""\ + def forelse(seq): + for n in seq: + if n > 5: + break + else: + print('None of the values were greater than 5') + print('Done') + forelse([1,2]) + forelse([1,6]) + """, + arcz=".1 .2 23 32 34 47 26 67 7. 18 89 9." + ) + class ExceptionArcTest(CoverageTest): """Arc-measuring tests involving exception handling.""" |