Add tests for version option
From Python 3.4 on, version is printed on stdout instead of stderr.
This commit is contained in:
1 parent
fea623630e
commit
d22401f101
1 file changed
+23
-1
@@ -16,7 +16,7 @@ import os
|
|||||||
import shutil
|
import shutil
|
||||||
import unittest
|
import unittest
|
||||||
from subprocess import Popen, PIPE
|
from subprocess import Popen, PIPE
|
||||||
from django_migration_linter import utils, DEFAULT_CACHE_PATH
|
from django_migration_linter import utils, DEFAULT_CACHE_PATH, constants
|
||||||
from tests import fixtures
|
from tests import fixtures
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
@@ -274,3 +274,25 @@ class CallLinterFromCommandLineTest(unittest.TestCase):
|
|||||||
self.assertTrue(lines[0].endswith('ERR'))
|
self.assertTrue(lines[0].endswith('ERR'))
|
||||||
self.assertTrue(lines[2].endswith('OK'))
|
self.assertTrue(lines[2].endswith('OK'))
|
||||||
self.assertTrue(lines[3].startswith('*** Summary'))
|
self.assertTrue(lines[3].startswith('*** Summary'))
|
||||||
|
|
||||||
|
|
||||||
|
class VersionOptionLinterFromCommandLineTest(CallLinterFromCommandLineTest):
|
||||||
|
def test_call_with_version_option(self):
|
||||||
|
cmd = "{} --version".format(self.linter_exec)
|
||||||
|
process = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
|
||||||
|
process.wait()
|
||||||
|
self.assertEqual(process.returncode, 0)
|
||||||
|
process_read_stream = process.stderr if sys.version_info.major == 2 else process.stdout
|
||||||
|
lines = list(map(utils.clean_bytes_to_str, process_read_stream.readlines()))
|
||||||
|
self.assertEqual(len(lines), 1)
|
||||||
|
self.assertEqual(lines[0], "django-migration-linter {}".format(constants.__version__))
|
||||||
|
|
||||||
|
def test_call_with_short_version_option(self):
|
||||||
|
cmd = "{} -V".format(self.linter_exec)
|
||||||
|
process = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE)
|
||||||
|
process.wait()
|
||||||
|
self.assertEqual(process.returncode, 0)
|
||||||
|
process_read_stream = process.stderr if sys.version_info.major == 2 else process.stdout
|
||||||
|
lines = list(map(utils.clean_bytes_to_str, process_read_stream.readlines()))
|
||||||
|
self.assertEqual(len(lines), 1)
|
||||||
|
self.assertEqual(lines[0], "django-migration-linter {}".format(constants.__version__))
|
||||||
Reference in new issue
Block a user