Option C Tools
Loading...
Searching...
No Matches
test_compat.py
Go to the documentation of this file.
1
#!/usr/bin/env python3
2
# -*- coding: utf-8 -*-
3
# tests/tests_linter/test_compat.py
4
5
"""
6
Purpose
7
-------
8
Validate the version-parsing utility in ``oct.core.compat``.
9
10
Responsibilities
11
----------------
12
- Confirm that normal dotted version strings parse correctly.
13
- Confirm that pre-release version strings (alpha, rc) do not crash (OI-421).
14
- Confirm that single-segment versions parse correctly.
15
16
Diagnostics
17
-----------
18
Domain: LINTER-TESTS
19
L2: test lifecycle
20
L3: assertion details
21
L4: deep tracing
22
23
Contracts
24
---------
25
Inputs: version strings
26
Outputs: pass/fail assertions
27
"""
28
29
from
oct.core.compat
import
_parse_version_tuple
30
31
32
def
test_normal_version
():
33
"""Standard dotted version string parses correctly."""
34
assert
_parse_version_tuple(
"2.0.0"
) == (2, 0, 0)
35
36
37
def
test_prerelease_alpha
():
38
"""Pre-release alpha string should not crash (OI-421)."""
39
result = _parse_version_tuple(
"2.0.0a1"
)
40
assert
result == (2, 0, 0)
41
42
43
def
test_prerelease_rc
():
44
"""Release candidate string should not crash (OI-421)."""
45
result = _parse_version_tuple(
"2.0.0rc2"
)
46
assert
result == (2, 0, 0)
47
48
49
def
test_prerelease_beta
():
50
"""Pre-release beta string should not crash (OI-421)."""
51
result = _parse_version_tuple(
"1.2.3b4"
)
52
assert
result == (1, 2, 3)
53
54
55
def
test_single_segment
():
56
"""Single-segment version string parses correctly."""
57
assert
_parse_version_tuple(
"3"
) == (3,)
58
59
60
def
test_two_segments
():
61
"""Two-segment version string parses correctly."""
62
assert
_parse_version_tuple(
"1.2"
) == (1, 2)
tests_linter.test_compat.test_prerelease_alpha
test_prerelease_alpha()
Definition
test_compat.py:37
tests_linter.test_compat.test_single_segment
test_single_segment()
Definition
test_compat.py:55
tests_linter.test_compat.test_normal_version
test_normal_version()
Definition
test_compat.py:32
tests_linter.test_compat.test_prerelease_rc
test_prerelease_rc()
Definition
test_compat.py:43
tests_linter.test_compat.test_two_segments
test_two_segments()
Definition
test_compat.py:60
tests_linter.test_compat.test_prerelease_beta
test_prerelease_beta()
Definition
test_compat.py:49
tests
tests_linter
test_compat.py
Generated by
1.15.0