summaryrefslogtreecommitdiff
path: root/tools/integration_tests.py
diff options
context:
space:
mode:
authorDmitry Sharshakov <sh7dm@outlook.com>2019-02-07 23:11:03 +0300
committerRyan Dahl <ry@tinyclouds.org>2019-02-07 15:11:03 -0500
commitaea7884d11b6f10e2ccc0d6a7c5c154f84472ed4 (patch)
tree899afa21d38c1ccf5d1746768063d37a8a6deb94 /tools/integration_tests.py
parent9470f2b0c87a1051c0fd629ce942a6bf15ede612 (diff)
Make integration tests standalone (#1671)
Co-authored-by: Sergey Golovin <golovim@gmail.com>
Diffstat (limited to 'tools/integration_tests.py')
-rwxr-xr-xtools/integration_tests.py42
1 files changed, 33 insertions, 9 deletions
diff --git a/tools/integration_tests.py b/tools/integration_tests.py
index 787385021..66f59f0a0 100755
--- a/tools/integration_tests.py
+++ b/tools/integration_tests.py
@@ -11,8 +11,10 @@ import os
import re
import sys
import subprocess
-from util import root_path, tests_path, pattern_match, green_ok, red_failed
-
+import http_server
+import argparse
+from util import root_path, tests_path, pattern_match, \
+ green_ok, red_failed, rmtree, executable_suffix
def read_test(file_name):
with open(file_name, "r") as f:
@@ -87,13 +89,35 @@ def integration_tests(deno_exe, test_filter = None):
print "... " + green_ok()
-def main(argv):
- deno_exe = argv[1]
- test_filter = None
- if len(argv) > 2:
- test_filter = argv[2]
- integration_tests(deno_exe, test_filter)
+def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--filter", help="Run specific tests")
+ parser.add_argument("--release", help="Use release build of Deno",
+ action="store_true")
+ parser.add_argument("--executable", help="Use external executable of Deno")
+ args = parser.parse_args()
+
+ target = "release" if args.release else "debug"
+
+ build_dir = None
+ if "DENO_BUILD_PATH" in os.environ:
+ build_dir = os.environ["DENO_BUILD_PATH"]
+ else:
+ build_dir = os.path.join(root_path, "target", target)
+
+ deno_dir = os.path.join(build_dir, ".deno_test")
+ if os.path.isdir(deno_dir):
+ rmtree(deno_dir)
+ os.environ["DENO_DIR"] = deno_dir
+
+ deno_exe = os.path.join(build_dir, "deno" + executable_suffix)
+ if args.executable:
+ deno_exe = args.executable
+
+ http_server.spawn()
+
+ integration_tests(deno_exe, args.filter)
if __name__ == "__main__":
- sys.exit(main(sys.argv))
+ sys.exit(main())