Skip to content

Commit

Permalink
test/test_repo_utils: correctly parse system git version
Browse files Browse the repository at this point in the history
On macos there are bunch of tests fails because system
git version output cannot be parsed because of extra ending.

Output example for macos:
   git version 2.39.3 (Apple Git-146)
Output example for linux:
   git version 2.45.2

Signed-off-by: Kyr Shatskyy <[email protected]>
  • Loading branch information
Kyr Shatskyy committed Aug 3, 2024
1 parent 543c98b commit e06f5ac
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions teuthology/test/test_repo_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import os
import os.path
from pytest import raises, mark
import re
import shutil
import subprocess
import tempfile
Expand All @@ -29,14 +30,21 @@ def setup_class(cls):
cls.repo_url = 'file://' + cls.src_path
cls.commit = None

cls.git_version = parse(
subprocess.check_output(('git', 'version')
).decode().strip().split(' ')[-1])
cls.git_version = parse(cls.get_system_git_version())

@classmethod
def teardown_class(cls):
shutil.rmtree(cls.temp_path)

@classmethod
def get_system_git_version(cls):
# parsing following patterns
# 1) git version 2.45.2
# 2) git version 2.39.3 (Apple Git-146)
git_version = subprocess.check_output(('git', 'version')).decode()
m = re.match(r"git version (?P<ver>\d+.\d+.\d+) ?", git_version)
return m['ver']

def setup_method(self, method):
# In git 2.28.0, the --initial-branch flag was added.
if self.git_version >= parse("2.28.0"):
Expand Down Expand Up @@ -239,4 +247,4 @@ def test_url_to_dirname(self, input_, expected):

def test_current_branch(self):
repo_utils.clone_repo(self.repo_url, self.dest_path, 'main', self.commit)
assert repo_utils.current_branch(self.dest_path) == "main"
assert repo_utils.current_branch(self.dest_path) == "main"

0 comments on commit e06f5ac

Please sign in to comment.