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

Merge pull request #79 from vikstrous/version_check

error out if the version of python is old
This commit is contained in:
Viktor Stanchev 2016-01-03 18:07:54 -05:00
commit 34e3c66a4f
2 changed files with 44 additions and 1 deletions

View File

@ -1,3 +1,9 @@
import sys
from distutils.version import LooseVersion
if LooseVersion(sys.version) < LooseVersion("3.4.0"):
print("At least python 3.4.0 required. Your version is "+sys.version)
sys.exit(1)
import re
import os
import argparse
@ -6,7 +12,6 @@ import configparser
import socket
import urllib.request as request
import urllib.error
import sys
import builtins
from collections import OrderedDict

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()