1
0
mirror of https://github.com/vikstrous/pirate-get synced 2025-01-10 10:04:21 +01:00

test version check

This commit is contained in:
Viktor Stanchev 2016-01-03 18:05:58 -05:00
parent fed7f7ab89
commit af0c44fe8b
2 changed files with 39 additions and 1 deletions

View File

@ -1,7 +1,7 @@
import sys import sys
from distutils.version import LooseVersion from distutils.version import LooseVersion
if LooseVersion(sys.version) < LooseVersion("3.4.0"): if LooseVersion(sys.version) < LooseVersion("3.4.0"):
print("Python 3.4.0 required") print("At least python 3.4.0 required. Your version is "+sys.version)
sys.exit(1) sys.exit(1)
import re import re

38
tests/test_version.py Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env python3
import sys
import unittest
import importlib
from unittest import mock
from unittest.mock import patch, call, MagicMock
import pirate.pirate
class TestPirate(unittest.TestCase):
@patch('sys.exit')
def test_unsupported(self, mock_exit):
sys.version = '3.2.1 (default, dec 7 2015, 12:58:09) \n[gcc 5.2.0]'
importlib.reload(pirate.pirate)
mock_exit.assert_called_once_with(1)
@patch('sys.exit')
def test_unsupported2(self, mock_exit):
sys.version = '2.5.1 (default, dec 7 2015, 12:58:09) \n[gcc 5.2.0]'
importlib.reload(pirate.pirate)
mock_exit.assert_called_once_with(1)
@patch('sys.exit')
def test_supported(self, mock_exit):
sys.version = '3.5.1 (default, dec 7 2015, 12:58:09) \n[gcc 5.2.0]'
importlib.reload(pirate.pirate)
mock_exit.assert_not_called()
@patch('sys.exit')
def test_supported_exact(self, mock_exit):
sys.version = '3.4.0 (default, dec 7 2015, 12:58:09) \n[gcc 5.2.0]'
importlib.reload(pirate.pirate)
mock_exit.assert_not_called()
if __name__ == '__main__':
unittest.main()