mirror of
https://github.com/danbulant/deno_install
synced 2026-05-21 13:18:48 +00:00
62 lines
1.8 KiB
Python
Executable file
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()
|