test.py 1.5 KB
Newer Older
1 2 3 4 5 6
#!/usr/bin/env python
# Runs the full test suite.
# Usage: ./tools/test.py out/Debug
import os
import sys
from check_output_test import check_output_test
7
from setup_test import setup_test
8
from util import build_path, enable_ansi_colors, executable_suffix, run
9
from unit_tests import unit_tests
10
from util_test import util_test
11
from benchmark_test import benchmark_test
R
Ryan Dahl 已提交
12 13
import subprocess
import http_server
14 15 16 17 18


def check_exists(filename):
    if not os.path.exists(filename):
        print "Required target doesn't exist:", filename
R
Ryan Dahl 已提交
19
        print "Run ./tools/build.py"
20 21 22 23
        sys.exit(1)


def main(argv):
R
Ryan Dahl 已提交
24 25 26 27 28 29
    if len(argv) == 2:
        build_dir = sys.argv[1]
    elif len(argv) == 1:
        build_dir = build_path()
    else:
        print "Usage: tools/test.py [build_dir]"
30 31
        sys.exit(1)

32 33
    enable_ansi_colors()

R
Ryan Dahl 已提交
34 35
    http_server.spawn()

36 37 38 39 40
    deno_exe = os.path.join(build_dir, "deno" + executable_suffix)
    check_exists(deno_exe)
    deno_ns_exe = os.path.join(build_dir, "deno_ns" + executable_suffix)
    check_exists(deno_ns_exe)

41
    # Internal tools testing
42
    setup_test()
43
    util_test()
44
    benchmark_test(build_dir, deno_exe)
45

46 47 48 49
    test_cc = os.path.join(build_dir, "test_cc" + executable_suffix)
    check_exists(test_cc)
    run([test_cc])

R
Ryan Dahl 已提交
50 51 52
    test_rs = os.path.join(build_dir, "test_rs" + executable_suffix)
    check_exists(test_rs)
    run([test_rs])
53

54
    unit_tests(deno_exe)
R
Ryan Dahl 已提交
55

56 57 58 59 60 61
    check_output_test(deno_exe)
    check_output_test(deno_ns_exe)


if __name__ == '__main__':
    sys.exit(main(sys.argv))