Browse Source

version: add missing test for format_version, fix bug

Marian Beermann 8 years ago
parent
commit
7965efd5d9
2 changed files with 17 additions and 2 deletions
  1. 16 1
      src/borg/testsuite/version.py
  2. 1 1
      src/borg/version.py

+ 16 - 1
src/borg/testsuite/version.py

@@ -1,6 +1,6 @@
 import pytest
 
-from ..version import parse_version
+from ..version import parse_version, format_version
 
 
 @pytest.mark.parametrize("version_str, version_tuple", [
@@ -36,3 +36,18 @@ def test_parse_version_invalid():
         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

+ 1 - 1
src/borg/version.py

@@ -40,7 +40,7 @@ def format_version(version):
     while True:
         part = next(it)
         if part >= 0:
-            f += str(part)
+            f.append(str(part))
         elif part == -1:
             break
         else: