deno_install/install_test.py
2018-11-17 13:44:08 +08:00

62 lines
1.8 KiB
Python
Executable file

#!/usr/bin/env python
# Copyright 2018 the Deno authors. All rights reserved. MIT license.
from __future__ import print_function
import sys
import shutil
import os
import subprocess
this_dir = os.path.dirname(os.path.realpath(__file__))
def bin_dir():
home = os.path.expanduser("~")
return os.path.join(home, ".deno", "bin")
def test_install():
os.chdir(this_dir)
PATTERN = "DENO_EXE: "
expected_bin_dir = bin_dir()
print("Testing install.py ... Expect deno installed to ", expected_bin_dir)
if os.path.exists(expected_bin_dir):
shutil.rmtree(expected_bin_dir)
expected_fn = os.path.join(expected_bin_dir, "deno")
cmd = [sys.executable, "install.py"]
out = subprocess.check_output(cmd, universal_newlines=True)
actual_fn = None
for line in out.splitlines():
print(line)
if PATTERN in line:
print("set actual")
actual_fn = line[len(PATTERN):]
assert actual_fn == expected_fn, "actual %s != expected %s" % (actual_fn,
expected_fn)
assert os.path.exists(actual_fn)
def test_tag_install():
print(
"Testing install.py [tag_name] ... Expect specified version of deno installed"
)
cmd = [sys.executable, "install.py", "v0.1.11"]
out = subprocess.check_output(cmd, universal_newlines=True)
bin_path = os.path.join(bin_dir(), "deno")
cmd = [bin_path, "-v"]
out = subprocess.check_output(cmd, universal_newlines=True)
assert "deno: 0.1.11" in out, "installed deno version is not 0.1.11"
assert "v8: 7.1.302.4" in out, "v8 version is not 7.1.302.4"
assert "typescript: 3.1.3" in out, "typescript version is not 3.1.3"
def main():
test_install()
test_tag_install()
if __name__ == '__main__':
main()