| Server IP : 213.136.93.164 / Your IP : 216.73.216.20 Web Server : Apache System : Linux m14200.contabo.net 5.14.0-611.54.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed May 6 18:03:03 EDT 2026 x86_64 User : ki692510 ( 1047) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /lib64/python3.9/site-packages/borg/testsuite/ |
Upload File : |
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
def test_parse_version_invalid():
with pytest.raises(ValueError):
assert parse_version('') # we require x.y.z versions
with pytest.raises(ValueError):
assert parse_version('1') # we require x.y.z versions
with pytest.raises(ValueError):
assert parse_version('1.2') # we require x.y.z versions
with pytest.raises(ValueError):
assert parse_version('crap')
@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