summaryrefslogtreecommitdiff
path: root/tools/deno_dir_test.py
diff options
context:
space:
mode:
authorAndy Hayden <andyhayden1@gmail.com>2019-05-30 13:40:40 -0700
committerRyan Dahl <ry@tinyclouds.org>2019-05-30 16:40:40 -0400
commit8fb44eba5bb9862de5fcc6c785eb6f21ecbd0aea (patch)
tree9c866283b36d8388af4fd0e72d2bf2da4b8b70e4 /tools/deno_dir_test.py
parent1540b36ce7a4740f4a87c564becca65ed8d97255 (diff)
chore: refactor python tests to use unittest (#2414)
Move every test to a method on DenoTestCase. test.py is a single TestSuite of every TestCase. Add a Spawn context manager for http_server, this is explicitly used where it's needed. Each python test file can now be run independently without needing to manually run http_server. Add --help and consistent flags using argparse for each python test, including --failfast. Use ColorTextTestRunner so that '... ok' is green.
Diffstat (limited to 'tools/deno_dir_test.py')
-rwxr-xr-xtools/deno_dir_test.py64
1 files changed, 28 insertions, 36 deletions
diff --git a/tools/deno_dir_test.py b/tools/deno_dir_test.py
index bcfa370bf..7133d02d7 100755
--- a/tools/deno_dir_test.py
+++ b/tools/deno_dir_test.py
@@ -5,50 +5,42 @@
import os
import subprocess
import sys
-from util import rmtree, run
+from util import DenoTestCase, mkdtemp, rmtree, run, test_main
-def deno_dir_test(deno_exe, deno_dir):
- assert os.path.isfile(deno_exe)
- old_deno_dir = None
- if "DENO_DIR" in os.environ:
- old_deno_dir = os.environ["DENO_DIR"]
- del os.environ["DENO_DIR"]
+class TestDenoDir(DenoTestCase):
+ def setUp(self):
+ self.old_deno_dir = None
+ if "DENO_DIR" in os.environ:
+ self.old_deno_dir = os.environ["DENO_DIR"]
+ del os.environ["DENO_DIR"]
- if os.path.isdir(deno_dir):
- rmtree(deno_dir)
-
- # Run deno with no env flag
- run_deno(deno_exe)
- assert not os.path.isdir(deno_dir)
-
- # Run deno with DENO_DIR env flag
- run_deno(deno_exe, deno_dir)
- assert os.path.isdir(deno_dir)
- assert os.path.isdir(os.path.join(deno_dir, "deps"))
- assert os.path.isdir(os.path.join(deno_dir, "gen"))
- rmtree(deno_dir)
-
- if old_deno_dir is not None:
- os.environ["DENO_DIR"] = old_deno_dir
+ def tearDown(self):
+ if self.old_deno_dir is not None:
+ os.environ["DENO_DIR"] = self.old_deno_dir
+ def test_deno_dir(self):
+ deno_dir = mkdtemp()
+ if os.path.isdir(deno_dir):
+ rmtree(deno_dir)
-def run_deno(deno_exe, deno_dir=None):
- cmd = [deno_exe, "run", "tests/002_hello.ts"]
- deno_dir_env = {"DENO_DIR": deno_dir} if deno_dir is not None else None
- run(cmd, quiet=True, env=deno_dir_env)
-
-
-USAGE = "./tools/deno_dir_test.py target/debug/deno target/debug/.deno_dir"
+ # Run deno with no env flag
+ self.run_deno()
+ assert not os.path.isdir(deno_dir)
+ # Run deno with DENO_DIR env flag
+ self.run_deno(deno_dir)
+ assert os.path.isdir(deno_dir)
+ assert os.path.isdir(os.path.join(deno_dir, "deps"))
+ assert os.path.isdir(os.path.join(deno_dir, "gen"))
+ rmtree(deno_dir)
-def main(argv):
- if len(sys.argv) != 3:
- print "Usage: " + USAGE
- sys.exit(1)
- deno_dir_test(argv[1], argv[2])
+ def run_deno(self, deno_dir=None):
+ cmd = [self.deno_exe, "run", "tests/002_hello.ts"]
+ deno_dir_env = {"DENO_DIR": deno_dir} if deno_dir is not None else None
+ run(cmd, quiet=True, env=deno_dir_env)
if __name__ == '__main__':
- sys.exit(main(sys.argv))
+ test_main()