mirror of https://github.com/borgbackup/borg.git
55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
import pytest
|
|
|
|
from ..version import parse_version, format_version
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"version_str, version_tuple",
|
|
[
|
|
# setuptools < 8.0 uses "-"
|
|
("1.0.0a1.dev204-g8866961.d20170606", (1, 0, 0, -4, 1)),
|
|
("1.0.0a1.dev204-g8866961", (1, 0, 0, -4, 1)),
|
|
("1.0.0-d20170606", (1, 0, 0, -1)),
|
|
# setuptools >= 8.0 uses "+"
|
|
("1.0.0a1.dev204+g8866961.d20170606", (1, 0, 0, -4, 1)),
|
|
("1.0.0a1.dev204+g8866961", (1, 0, 0, -4, 1)),
|
|
("1.0.0+d20170606", (1, 0, 0, -1)),
|
|
# pre-release versions:
|
|
("1.0.0a1", (1, 0, 0, -4, 1)),
|
|
("1.0.0a2", (1, 0, 0, -4, 2)),
|
|
("1.0.0b3", (1, 0, 0, -3, 3)),
|
|
("1.0.0rc4", (1, 0, 0, -2, 4)),
|
|
# release versions:
|
|
("0.0.0", (0, 0, 0, -1)),
|
|
("0.0.11", (0, 0, 11, -1)),
|
|
("0.11.0", (0, 11, 0, -1)),
|
|
("11.0.0", (11, 0, 0, -1)),
|
|
],
|
|
)
|
|
def test_parse_version(version_str, version_tuple):
|
|
assert parse_version(version_str) == version_tuple
|
|
|
|
|
|
@pytest.mark.parametrize("invalid_version", ["", "1", "1.2", "crap"])
|
|
def test_parse_version_invalid(invalid_version):
|
|
with pytest.raises(ValueError):
|
|
assert parse_version(invalid_version) # we require x.y.z versions
|
|
|
|
|
|
@pytest.mark.parametrize(
|
|
"version_str, version_tuple",
|
|
[
|
|
("1.0.0a1", (1, 0, 0, -4, 1)),
|
|
("1.0.0", (1, 0, 0, -1)),
|
|
("1.0.0a2", (1, 0, 0, -4, 2)),
|
|
("1.0.0b3", (1, 0, 0, -3, 3)),
|
|
("1.0.0rc4", (1, 0, 0, -2, 4)),
|
|
("0.0.0", (0, 0, 0, -1)),
|
|
("0.0.11", (0, 0, 11, -1)),
|
|
("0.11.0", (0, 11, 0, -1)),
|
|
("11.0.0", (11, 0, 0, -1)),
|
|
],
|
|
)
|
|
def test_format_version(version_str, version_tuple):
|
|
assert format_version(version_tuple) == version_str
|