cd4c38
From a30b55f51196b446dfb7bc1422cad0dc98274571 Mon Sep 17 00:00:00 2001
cd4c38
From: Carl George <carlwgeorge@gmail.com>
cd4c38
Date: Mon, 9 Sep 2024 18:46:13 -0500
cd4c38
Subject: [PATCH] Remove usage of coverage
cd4c38
cd4c38
https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters
cd4c38
---
cd4c38
 src/python/grpcio_tests/setup.py         |  2 +-
cd4c38
 src/python/grpcio_tests/tests/_loader.py |  8 ------
cd4c38
 src/python/grpcio_tests/tests/_result.py | 35 ++----------------------
cd4c38
 3 files changed, 3 insertions(+), 42 deletions(-)
cd4c38
cd4c38
diff --git a/src/python/grpcio_tests/setup.py b/src/python/grpcio_tests/setup.py
cd4c38
index f0679eb170..4345b94253 100644
cd4c38
--- a/src/python/grpcio_tests/setup.py
cd4c38
+++ b/src/python/grpcio_tests/setup.py
cd4c38
@@ -37,7 +37,7 @@ PACKAGE_DIRECTORIES = {
cd4c38
 }
cd4c38
 
cd4c38
 INSTALL_REQUIRES = (
cd4c38
-    'coverage>=4.0', 'grpcio>={version}'.format(version=grpc_version.VERSION),
cd4c38
+    'grpcio>={version}'.format(version=grpc_version.VERSION),
cd4c38
     'grpcio-channelz>={version}'.format(version=grpc_version.VERSION),
cd4c38
     'grpcio-status>={version}'.format(version=grpc_version.VERSION),
cd4c38
     'grpcio-tools>={version}'.format(version=grpc_version.VERSION),
cd4c38
diff --git a/src/python/grpcio_tests/tests/_loader.py b/src/python/grpcio_tests/tests/_loader.py
cd4c38
index 80c107aa8e..cb4e934c1b 100644
cd4c38
--- a/src/python/grpcio_tests/tests/_loader.py
cd4c38
+++ b/src/python/grpcio_tests/tests/_loader.py
cd4c38
@@ -19,8 +19,6 @@ import pkgutil
cd4c38
 import re
cd4c38
 import unittest
cd4c38
 
cd4c38
-import coverage
cd4c38
-
cd4c38
 TEST_MODULE_REGEX = r'^.*_test$'
cd4c38
 
cd4c38
 
cd4c38
@@ -44,10 +42,6 @@ class Loader(object):
cd4c38
     def loadTestsFromNames(self, names, module=None):
cd4c38
         """Function mirroring TestLoader::loadTestsFromNames, as expected by
cd4c38
     setuptools.setup argument `test_loader`."""
cd4c38
-        # ensure that we capture decorators and definitions (else our coverage
cd4c38
-        # measure unnecessarily suffers)
cd4c38
-        coverage_context = coverage.Coverage(data_suffix=True)
cd4c38
-        coverage_context.start()
cd4c38
         imported_modules = tuple(
cd4c38
             importlib.import_module(name) for name in names)
cd4c38
         for imported_module in imported_modules:
cd4c38
@@ -58,8 +52,6 @@ class Loader(object):
cd4c38
             except AttributeError:
cd4c38
                 continue
cd4c38
             self.walk_packages(package_paths)
cd4c38
-        coverage_context.stop()
cd4c38
-        coverage_context.save()
cd4c38
         return self.suite
cd4c38
 
cd4c38
     def walk_packages(self, package_paths):
cd4c38
diff --git a/src/python/grpcio_tests/tests/_result.py b/src/python/grpcio_tests/tests/_result.py
cd4c38
index 389d5f4f96..9d3e0cf15c 100644
cd4c38
--- a/src/python/grpcio_tests/tests/_result.py
cd4c38
+++ b/src/python/grpcio_tests/tests/_result.py
cd4c38
@@ -20,7 +20,6 @@ import traceback
cd4c38
 import unittest
cd4c38
 from xml.etree import ElementTree
cd4c38
 
cd4c38
-import coverage
cd4c38
 from six import moves
cd4c38
 
cd4c38
 from tests import _loader
cd4c38
@@ -216,36 +215,6 @@ class AugmentedResult(unittest.TestResult):
cd4c38
                 if filter(self.cases[case_id]))
cd4c38
 
cd4c38
 
cd4c38
-class CoverageResult(AugmentedResult):
cd4c38
-    """Extension to AugmentedResult adding coverage.py support per test.\
cd4c38
-
cd4c38
-  Attributes:
cd4c38
-    coverage_context (coverage.Coverage): coverage.py management object.
cd4c38
-  """
cd4c38
-
cd4c38
-    def __init__(self, id_map):
cd4c38
-        """See AugmentedResult.__init__."""
cd4c38
-        super(CoverageResult, self).__init__(id_map=id_map)
cd4c38
-        self.coverage_context = None
cd4c38
-
cd4c38
-    def startTest(self, test):
cd4c38
-        """See unittest.TestResult.startTest.
cd4c38
-
cd4c38
-    Additionally initializes and begins code coverage tracking."""
cd4c38
-        super(CoverageResult, self).startTest(test)
cd4c38
-        self.coverage_context = coverage.Coverage(data_suffix=True)
cd4c38
-        self.coverage_context.start()
cd4c38
-
cd4c38
-    def stopTest(self, test):
cd4c38
-        """See unittest.TestResult.stopTest.
cd4c38
-
cd4c38
-    Additionally stops and deinitializes code coverage tracking."""
cd4c38
-        super(CoverageResult, self).stopTest(test)
cd4c38
-        self.coverage_context.stop()
cd4c38
-        self.coverage_context.save()
cd4c38
-        self.coverage_context = None
cd4c38
-
cd4c38
-
cd4c38
 class _Colors(object):
cd4c38
     """Namespaced constants for terminal color magic numbers."""
cd4c38
     HEADER = '\033[95m'
cd4c38
@@ -258,8 +227,8 @@ class _Colors(object):
cd4c38
     END = '\033[0m'
cd4c38
 
cd4c38
 
cd4c38
-class TerminalResult(CoverageResult):
cd4c38
-    """Extension to CoverageResult adding basic terminal reporting."""
cd4c38
+class TerminalResult(AugmentedResult):
cd4c38
+    """Extension to AugmentedResult adding basic terminal reporting."""
cd4c38
 
cd4c38
     def __init__(self, out, id_map):
cd4c38
         """Initialize the result object.
cd4c38
-- 
cd4c38
2.46.0
cd4c38