summaryrefslogtreecommitdiff
path: root/tools/deno_dir_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/deno_dir_test.py')
-rwxr-xr-xtools/deno_dir_test.py48
1 files changed, 48 insertions, 0 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))