Spaces:
Running
on
L40S
Running
on
L40S
File size: 2,346 Bytes
d7e58f0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# Copyright (c) OpenMMLab. All rights reserved.
from unittest.mock import patch
import pytest
from mmcv import get_git_hash, parse_version_info
from mmcv.utils import digit_version
def test_digit_version():
assert digit_version('0.2.16') == (0, 2, 16, 0, 0, 0)
assert digit_version('1.2.3') == (1, 2, 3, 0, 0, 0)
assert digit_version('1.2.3rc0') == (1, 2, 3, 0, -1, 0)
assert digit_version('1.2.3rc1') == (1, 2, 3, 0, -1, 1)
assert digit_version('1.0rc0') == (1, 0, 0, 0, -1, 0)
assert digit_version('1.0') == digit_version('1.0.0')
assert digit_version('1.5.0+cuda90_cudnn7.6.3_lms') == digit_version('1.5')
assert digit_version('1.0.0dev') < digit_version('1.0.0a')
assert digit_version('1.0.0a') < digit_version('1.0.0a1')
assert digit_version('1.0.0a') < digit_version('1.0.0b')
assert digit_version('1.0.0b') < digit_version('1.0.0rc')
assert digit_version('1.0.0rc1') < digit_version('1.0.0')
assert digit_version('1.0.0') < digit_version('1.0.0post')
assert digit_version('1.0.0post') < digit_version('1.0.0post1')
assert digit_version('v1') == (1, 0, 0, 0, 0, 0)
assert digit_version('v1.1.5') == (1, 1, 5, 0, 0, 0)
with pytest.raises(AssertionError):
digit_version('a')
with pytest.raises(AssertionError):
digit_version('1x')
with pytest.raises(AssertionError):
digit_version('1.x')
def test_parse_version_info():
assert parse_version_info('0.2.16') == (0, 2, 16, 0, 0, 0)
assert parse_version_info('1.2.3') == (1, 2, 3, 0, 0, 0)
assert parse_version_info('1.2.3rc0') == (1, 2, 3, 0, 'rc', 0)
assert parse_version_info('1.2.3rc1') == (1, 2, 3, 0, 'rc', 1)
assert parse_version_info('1.0rc0') == (1, 0, 0, 0, 'rc', 0)
def _mock_cmd_success(cmd):
return b'3b46d33e90c397869ad5103075838fdfc9812aa0'
def _mock_cmd_fail(cmd):
raise OSError
def test_get_git_hash():
with patch('mmcv.utils.version_utils._minimal_ext_cmd', _mock_cmd_success):
assert get_git_hash() == '3b46d33e90c397869ad5103075838fdfc9812aa0'
assert get_git_hash(digits=6) == '3b46d3'
assert get_git_hash(digits=100) == get_git_hash()
with patch('mmcv.utils.version_utils._minimal_ext_cmd', _mock_cmd_fail):
assert get_git_hash() == 'unknown'
assert get_git_hash(fallback='n/a') == 'n/a'
|