debugpy/tests/test_tests___main__.py
Derek Keeler e80a669624
Update for VSTS-based CI process (#431)
* Add flake8 configuration files
- .flake8.ci: addendum config for CI to make use of only.
* Add build badge for CI in VSTS
* Enable JUnit style test file output.
- convert_args return value simplified
- allow original style of unittest reporting as well
- remove unnecessary flags from junit xmlrunner
* Use argparse to collect runtime configuration of tests module
2018-06-21 17:09:53 -07:00

164 lines
4.5 KiB
Python

import os
import os.path
import unittest
import sys
from . import TEST_ROOT, PROJECT_ROOT
from .__main__ import convert_argv
class ConvertArgsTests(unittest.TestCase):
def test_no_args(self):
config, argv, env = convert_argv([])
self.assertEqual(argv, [
sys.executable + ' -m unittest',
'discover',
'--top-level-directory', PROJECT_ROOT,
'--start-directory', PROJECT_ROOT,
])
self.assertEqual(env, {
'HAS_NETWORK': '1',
})
self.assertFalse(config.lint_only)
self.assertFalse(config.lint)
def test_discovery_full(self):
config, argv, env = convert_argv([
'-v', '--failfast', '--full',
])
self.assertEqual(argv, [
sys.executable + ' -m unittest',
'discover',
'--top-level-directory', PROJECT_ROOT,
'--start-directory', PROJECT_ROOT,
'-v', '--failfast',
])
self.assertEqual(env, {
'HAS_NETWORK': '1',
})
self.assertFalse(config.lint_only)
self.assertFalse(config.lint)
def test_discovery_quick(self):
config, argv, env = convert_argv([
'-v', '--failfast', '--quick',
])
self.assertEqual(argv, [
sys.executable + ' -m unittest',
'discover',
'--top-level-directory', PROJECT_ROOT,
'--start-directory', os.path.join(TEST_ROOT, 'ptvsd'),
'-v', '--failfast',
])
self.assertEqual(env, {
'HAS_NETWORK': '1',
})
self.assertFalse(config.lint_only)
self.assertFalse(config.lint)
def test_modules(self):
config, argv, env = convert_argv([
'-v', '--failfast',
'w',
'x/y.py:Spam.test_spam'.replace('/', os.sep),
'z:Eggs',
])
self.assertEqual(argv, [
sys.executable + ' -m unittest',
'-v', '--failfast',
'w',
'x.y.Spam.test_spam',
'z.Eggs',
])
self.assertEqual(env, {
'HAS_NETWORK': '1',
})
self.assertFalse(config.lint_only)
self.assertFalse(config.lint)
def test_no_network(self):
config, argv, env = convert_argv([
'--no-network'
])
self.assertEqual(argv, [
sys.executable + ' -m unittest',
'discover',
'--top-level-directory', PROJECT_ROOT,
'--start-directory', PROJECT_ROOT,
])
self.assertEqual(env, {})
self.assertFalse(config.lint_only)
self.assertFalse(config.lint)
def test_lint(self):
config, argv, env = convert_argv([
'-v',
'--quick',
'--lint'
])
self.assertEqual(argv, [
sys.executable + ' -m unittest',
'discover',
'--top-level-directory', PROJECT_ROOT,
'--start-directory', os.path.join(TEST_ROOT, 'ptvsd'),
'-v',
])
self.assertEqual(env, {
'HAS_NETWORK': '1',
})
self.assertFalse(config.lint_only)
self.assertTrue(config.lint)
self.assertTrue(config.quick)
def test_lint_only(self):
config, _, _ = convert_argv([
'--quick', '--lint-only', '-v',
])
self.assertTrue(config.lint_only)
self.assertFalse(config.lint)
self.assertTrue(config.quick)
def test_coverage(self):
config, argv, env = convert_argv([
'--coverage'
])
self.assertEqual(argv, [
sys.executable + ' -m unittest',
'discover',
'--top-level-directory', PROJECT_ROOT,
'--start-directory', PROJECT_ROOT,
])
self.assertEqual(env, {
'HAS_NETWORK': '1',
})
self.assertFalse(config.lint_only)
self.assertFalse(config.lint)
self.assertTrue(config.coverage)
def test_specify_junit_file(self):
config, argv, env = convert_argv([
'--junit-xml=./my-test-file'
])
self.assertEqual(argv, [
sys.executable + ' -m unittest',
'discover',
'--top-level-directory', PROJECT_ROOT,
'--start-directory', PROJECT_ROOT,
])
self.assertEqual(env, {
'HAS_NETWORK': '1',
})
self.assertFalse(config.lint_only)
self.assertFalse(config.lint)
self.assertEqual(config.junit_xml, './my-test-file')