diff options
| author | Amos Lim <amoseui@gmail.com> | 2018-10-16 01:08:19 +0900 |
|---|---|---|
| committer | Ryan Dahl <ry@tinyclouds.org> | 2018-10-15 12:08:19 -0400 |
| commit | 15590a0cde8901f15d200d433761d11cc5468270 (patch) | |
| tree | 79514c9465ab81504981010644681fe56ac09e98 /tools | |
| parent | a327759971fe5cb095e1d2f6125269e60ac00123 (diff) | |
Specify deno_dir location with env var DENO_DIR (#970)
(Use C:\deno instead of c:\deno in appveyor config because it's cloned to c:\ by clone_folder variable in .appveyor.yml. On the other hand, build directory is pointed to C:\ by $(APPVEYOR_BUILD_FOLDER) so that test targets are placed on separated partitions.)
Diffstat (limited to 'tools')
| -rwxr-xr-x | tools/deno_dir_test.py | 48 | ||||
| -rwxr-xr-x | tools/test.py | 12 |
2 files changed, 59 insertions, 1 deletions
diff --git a/tools/deno_dir_test.py b/tools/deno_dir_test.py new file mode 100755 index 000000000..571914fc6 --- /dev/null +++ b/tools/deno_dir_test.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python +# Check deno dir is created properly +# Usage: deno_dir_test.py [path to deno dir] +import os +import subprocess +import sys +from util import rmtree, run + +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"] + + 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 run_deno(deno_exe, deno_dir=None): + cmd = [deno_exe, "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) + +def main(argv): + if len(sys.argv) != 3: + print "Usage ./tools/deno_dir_test.py out/debug/deno out/debug/.deno_dir" + sys.exit(1) + deno_dir_test(argv[1], argv[2]) + + +if __name__ == '__main__': + sys.exit(main(sys.argv)) diff --git a/tools/test.py b/tools/test.py index 45c9f5e2b..d2a7944e6 100755 --- a/tools/test.py +++ b/tools/test.py @@ -4,8 +4,9 @@ import os import sys from check_output_test import check_output_test +from deno_dir_test import deno_dir_test from setup_test import setup_test -from util import build_path, enable_ansi_colors, executable_suffix, run +from util import build_path, enable_ansi_colors, executable_suffix, run, rmtree from unit_tests import unit_tests from util_test import util_test from benchmark_test import benchmark_test @@ -29,6 +30,11 @@ def main(argv): print "Usage: tools/test.py [build_dir]" sys.exit(1) + deno_dir = os.path.join(build_dir, ".deno_test") + if os.path.isdir(deno_dir): + rmtree(deno_dir) + os.environ["DENO_DIR"] = deno_dir + enable_ansi_colors() http_server.spawn() @@ -56,6 +62,10 @@ def main(argv): check_output_test(deno_exe) check_output_test(deno_ns_exe) + rmtree(deno_dir) + + deno_dir_test(deno_exe, deno_dir) + if __name__ == '__main__': sys.exit(main(sys.argv)) |
