summaryrefslogtreecommitdiff
path: root/test/test_arcs.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_arcs.py')
-rw-r--r--test/test_arcs.py96
1 files changed, 96 insertions, 0 deletions
diff --git a/test/test_arcs.py b/test/test_arcs.py
new file mode 100644
index 00000000..6c68e397
--- /dev/null
+++ b/test/test_arcs.py
@@ -0,0 +1,96 @@
+"""Tests for Coverage.py's arc measurement."""
+
+import os, re, sys, textwrap
+
+import coverage
+from coverage.backward import StringIO
+
+sys.path.insert(0, os.path.split(__file__)[0]) # Force relative import for Py3k
+from coveragetest import CoverageTest
+
+
+class ArcTest(CoverageTest):
+ """Tests for Coverage.py's arc measurement."""
+
+ def test_simple_sequence(self):
+ self.check_coverage("""\
+ a = 1
+ b = 2
+ """,
+ arcs=[(-1,1), (1,2), (2,-1)], arcs_missing=[])
+ self.check_coverage("""\
+ a = 1
+
+ b = 3
+ """,
+ arcs=[(-1,1), (1,3), (3,-1)], arcs_missing=[])
+ self.check_coverage("""\
+
+ a = 2
+ b = 3
+
+ c = 5
+ """,
+ arcs=[(-1,2), (2,3), (3,5),(5,-1)], arcs_missing=[])
+
+ def test_function_def(self):
+ self.check_coverage("""\
+ def foo():
+ a = 2
+
+ foo()
+ """,
+ arcs=[(-1,1), (-1,2),(1,4),(2,-1), (4,-1)], arcs_missing=[])
+
+ def test_if(self):
+ self.check_coverage("""\
+ a = 1
+ if len([]) == 0:
+ a = 3
+ assert a == 3
+ """,
+ arcz=".1 12 23 24 34 4.", arcz_missing="24")
+ self.check_coverage("""\
+ a = 1
+ if len([]) == 1:
+ a = 3
+ assert a == 1
+ """,
+ arcz=".1 12 23 24 34 4.", arcz_missing="23 34")
+
+ def test_if_else(self):
+ self.check_coverage("""\
+ if len([]) == 0:
+ a = 2
+ else:
+ b = 4
+ c = 5
+ """,
+ arcz=".1 12 25 14 45 5.", arcz_missing="14 45")
+ self.check_coverage("""\
+ if len([]) == 1:
+ a = 2
+ else:
+ b = 4
+ c = 5
+ """,
+ arcz=".1 12 25 14 45 5.", arcz_missing="12 25")
+
+ def test_loop(self):
+ self.check_coverage("""\
+ for i in range(10):
+ a = 2
+ b = 3
+ """,
+ arcz=".1 12 21 13 3.", arcz_missing="")
+ self.check_coverage("""\
+ for i in range(0):
+ a = 2
+ b = 3
+ """,
+ arcz=".1 12 21 13 3.", arcz_missing="12 21")
+
+ def xest_xx(self):
+ self.check_coverage("""\
+ """,
+ arcz="", arcz_missing="")