From 51fe36f4e4be54a467315c3108552e3934d09798 Mon Sep 17 00:00:00 2001 From: Mikhail Golubev Date: Mon, 10 Jun 2019 14:04:18 +0300 Subject: [PATCH] Distinguish tests in different interpreters by prepending version to their name GitOrigin-RevId: e549ee924bf1e43b6144be6cecd5d365bdcf5938 --- python/helpers/tests/__main__.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/python/helpers/tests/__main__.py b/python/helpers/tests/__main__.py index f307df515c84..ee7d39d23db0 100644 --- a/python/helpers/tests/__main__.py +++ b/python/helpers/tests/__main__.py @@ -19,9 +19,21 @@ def discover_and_run_all_tests(): def get_test_runner(): try: - import teamcity.unittestpy + import teamcity if teamcity.is_running_under_teamcity(): - return teamcity.unittestpy.TeamcityTestRunner(buffer=True) + from teamcity.unittestpy import TeamcityTestRunner, TeamcityTestResult + + class PythonVersionAwareTestResultClass(TeamcityTestResult): + @staticmethod + def get_test_id(test): + major, minor = sys.version_info[:2] + interpreter_id = 'py{}{}'.format(major, minor) + return '{}.{}'.format(interpreter_id, TeamcityTestResult.get_test_id(test)) + + class PythonVersionAwareTeamcityTestRunner(TeamcityTestRunner): + resultclass = PythonVersionAwareTestResultClass + + return PythonVersionAwareTeamcityTestRunner(buffer=True) except ImportError: pass return unittest.TextTestRunner()