Refactor test infrastructure (#2432)

* use subclass of unittest.TestCase for all test cases

* allow to run single test file (eg. python tools/integration_tests.py)

* test filtering (via --pattern/-p CLI flag)

* use common CLI parser for all tests:
  usage: test.py [-h] [--failfast] [--verbose] [--executable EXECUTABLE]
               [--release] [--pattern PATTERN] [--build-dir BUILD_DIR]

  optional arguments:
  -h, --help            show this help message and exit
  --failfast, -f        Stop on first failure
  --verbose, -v         Verbose output
  --executable EXECUTABLE
                        Use external executable of Deno
  --release             Test against release executable
  --pattern PATTERN, -p PATTERN
                        Run tests that match provided pattern
  --build-dir BUILD_DIR
                        Deno build directory

* respect NO_COLOR variable
This commit is contained in:
Bartek Iwańczuk 2019-06-03 18:35:55 +02:00 committed by Ryan Dahl
parent bbc8de0c7a
commit 43c6c1a9f5
17 changed files with 283 additions and 278 deletions

View file

@ -4,18 +4,10 @@ from subprocess import CalledProcessError, PIPE, Popen
import sys
import time
from util import DenoTestCase, test_main
from test_util import DenoTestCase, run_tests
class TestRepl(DenoTestCase):
def __init__(self, *args, **kwargs):
super(TestRepl, self).__init__(*args, **kwargs)
self._warm_up()
def _warm_up(self):
# This may output an error message about the history file (ignore it).
self.input("")
def input(self, *lines, **kwargs):
exit_ = kwargs.pop("exit", True)
sleep_ = kwargs.pop("sleep", 0)
@ -141,4 +133,4 @@ class TestRepl(DenoTestCase):
if __name__ == "__main__":
test_main()
run_tests()