Blob Blame History Raw
From 32d8c0665ea044f9682a89633d75442d1a4d2dc4 Mon Sep 17 00:00:00 2001
From: Ned Batchelder <ned@nedbatchelder.com>
Date: Thu, 5 Dec 2019 16:37:48 -0500
Subject: [PATCH] Fix the context tests

CoverageData.lines() returns a list, but in no guaranteed order.
Set-ify everything to get the correct comparison.
---
 tests/test_pytest_cov.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/test_pytest_cov.py b/tests/test_pytest_cov.py
index e79e9aa..3be8278 100644
--- a/tests/test_pytest_cov.py
+++ b/tests/test_pytest_cov.py
@@ -1934,12 +1934,12 @@ def test_cov_and_no_cov(testdir):
 
 
 def find_labels(text, pattern):
-    all_labels = collections.defaultdict(list)
+    all_labels = collections.defaultdict(set)
     lines = text.splitlines()
     for lineno, line in enumerate(lines, start=1):
         labels = re.findall(pattern, line)
         for label in labels:
-            all_labels[label].append(lineno)
+            all_labels[label].add(lineno)
     return all_labels
 
 
@@ -2007,7 +2007,7 @@ def test_contexts(testdir, opts):
         if context == '':
             continue
         data.set_query_context(context)
-        actual = data.lines(test_context_path)
+        actual = set(data.lines(test_context_path))
         assert line_data[label] == actual, "Wrong lines for context {!r}".format(context)