Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions staflversion/version.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
@total_ordering
class StaflVersion:
VERSION_REGEX = re.compile(
r"^(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\+(?P<build>\d+)$"
r"^(?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)\-(?P<build>\d+)$"
)

def __init__(self, major: int, minor: int, patch: int, build: int):
Expand Down Expand Up @@ -44,7 +44,7 @@
return None

def __str__(self) -> str:
return f"{self.major}.{self.minor}.{self.patch}+{self.build}"
return f"{self.major}.{self.minor}.{self.patch}-{self.build}"

def __repr__(self) -> str:
return str(self)
Expand Down Expand Up @@ -85,14 +85,14 @@
_INCREMENT_MAJOR = "+semver:major"
_INCREMENT_MINOR = "+semver:minor"
_INCREMENT_PATCH = "+semver:patch"
_SET_VERSION = re.compile(r"\+semver-set:" + StaflVersion.VERSION_REGEX.pattern[1:-1])

Check failure on line 88 in staflversion/version.py

View workflow job for this annotation

GitHub Actions / linter (3.11, ubuntu-latest)

E501 line too long (90 > 88 characters)

def __init__(self, git: GitWrapper):
self._git = git

def determine_version(self) -> StaflVersion:
tags = self._git.get_tags()

Check warning on line 95 in staflversion/version.py

View workflow job for this annotation

GitHub Actions / linter (3.11, ubuntu-latest)

W293 blank line contains whitespace
if tags:
new_commit_messages = self._git.get_commit_messages_since_tag()
else:
Expand Down
38 changes: 19 additions & 19 deletions tests/test_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,45 +11,45 @@ def test_version_construction_from_ints():


def test_version_parse():
version = StaflVersion.parse("1.2.3+4")
version = StaflVersion.parse("1.2.3-4")
assert version.major == 1
assert version.minor == 2
assert version.patch == 3
assert version.build == 4


def test_version_str():
v_str = "1.2.3+4"
v_str = "1.2.3-4"
version = StaflVersion.parse(v_str)
assert str(version) == v_str


def test_version_compare_build():
v1 = StaflVersion.parse("1.0.0+0")
v2 = StaflVersion.parse("1.0.0+1")
v1 = StaflVersion.parse("1.0.0-0")
v2 = StaflVersion.parse("1.0.0-1")
assert v2 > v1


def test_version_compare_patch():
v1 = StaflVersion.parse("1.0.0+1")
v2 = StaflVersion.parse("1.0.1+0")
v1 = StaflVersion.parse("1.0.0-1")
v2 = StaflVersion.parse("1.0.1-0")
assert v2 > v1


def test_version_compare_minor():
v1 = StaflVersion.parse("1.0.1+1")
v2 = StaflVersion.parse("1.1.0+0")
v1 = StaflVersion.parse("1.0.1-1")
v2 = StaflVersion.parse("1.1.0-0")
assert v2 > v1


def test_version_compare_major():
v1 = StaflVersion.parse("1.2.1+1")
v2 = StaflVersion.parse("2.0.0+0")
v1 = StaflVersion.parse("1.2.1-1")
v2 = StaflVersion.parse("2.0.0-0")
assert v2 > v1


def test_version_increment_major():
v1 = StaflVersion.parse("1.1.1+1")
v1 = StaflVersion.parse("1.1.1-1")
v2 = v1.increment_major()
assert v1.major + 1 == v2.major
assert v2.minor == 0
Expand All @@ -58,7 +58,7 @@ def test_version_increment_major():


def test_version_increment_minor():
v1 = StaflVersion.parse("1.0.0+0")
v1 = StaflVersion.parse("1.0.0-0")
v2 = v1.increment_minor()
assert v2.major == v1.major
assert v2.minor == v1.minor + 1
Expand All @@ -67,7 +67,7 @@ def test_version_increment_minor():


def test_version_increment_patch():
v1 = StaflVersion.parse("1.0.0+0")
v1 = StaflVersion.parse("1.0.0-0")
v2 = v1.increment_patch()
assert v2.major == v1.major
assert v2.minor == v1.minor
Expand All @@ -76,7 +76,7 @@ def test_version_increment_patch():


def test_version_increment_build():
v1 = StaflVersion.parse("1.0.0+0")
v1 = StaflVersion.parse("1.0.0-0")
v2 = v1.increment_build()
assert v2.major == v1.major
assert v2.minor == v1.minor
Expand All @@ -97,7 +97,7 @@ def get_tags(self):


def test_version_determine_simple_build():
git = MockGitWrapper(["kjlj"], ["0.0.0+1", "0.0.0+2", "invalid"])
git = MockGitWrapper(["kjlj"], ["0.0.0-1", "0.0.0-2", "invalid"])
versioner = StaflVersioner(git)
assert versioner.determine_version() == StaflVersion(0, 0, 0, 3)

Expand All @@ -109,26 +109,26 @@ def test_version_determine_first_build():


def test_version_determine_increment_patch():
git = MockGitWrapper(["some m", "new thing +semver:patch"], ["0.0.0+1", "0.0.0+2"])
git = MockGitWrapper(["some m", "new thing +semver:patch"], ["0.0.0-1", "0.0.0-2"])
versioner = StaflVersioner(git)
assert versioner.determine_version() == StaflVersion(0, 0, 1, 0)


def test_version_determine_increment_minor():
git = MockGitWrapper(["some m", "new thing +semver:minor"], ["0.0.0+1", "0.0.0+2"])
git = MockGitWrapper(["some m", "new thing +semver:minor"], ["0.0.0-1", "0.0.0-2"])
versioner = StaflVersioner(git)
assert versioner.determine_version() == StaflVersion(0, 1, 0, 0)


def test_version_determine_increment_major():
git = MockGitWrapper(["some m", "new thing +semver:major"], ["0.0.0+1", "0.0.0+2"])
git = MockGitWrapper(["some m", "new thing +semver:major"], ["0.0.0-1", "0.0.0-2"])
versioner = StaflVersioner(git)
assert versioner.determine_version() == StaflVersion(1, 0, 0, 0)


def test_version_determine_set_version():
git = MockGitWrapper(
["+semver-set:1.2.3+4", "new thing +semver:major"], ["0.0.0+1", "0.0.0+2"]
["+semver-set:1.2.3-4", "new thing +semver:major"], ["0.0.0-1", "0.0.0-2"]
)
versioner = StaflVersioner(git)
assert versioner.determine_version() == StaflVersion(1, 2, 3, 4)
Loading