summaryrefslogtreecommitdiff
path: root/tools/util_test.py
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2018-10-11 16:56:50 -0400
committerGitHub <noreply@github.com>2018-10-11 16:56:50 -0400
commitd4f72e18bedda726a74ec0960e59e304055f9039 (patch)
treec73d3d03ea186c5a5bd944cf2204e8ac519ce716 /tools/util_test.py
parentc814d5a9140d88bf1633b74742e64436e1c75667 (diff)
Improve tools/unit_tests.py (#958)
Checks the output more carefully. The first line of output from js/unit_tests.ts should be something like "running 96 tests" And the last line should be something like "test result: ok. 96 passed; 0 failed; 0 ignored; 0 measured; 36 filtered out" This parses those strings and make sure they align. This will catch silent death bugs.
Diffstat (limited to 'tools/util_test.py')
-rw-r--r--tools/util_test.py35
1 files changed, 35 insertions, 0 deletions
diff --git a/tools/util_test.py b/tools/util_test.py
index e40d0aed0..4adf0d658 100644
--- a/tools/util_test.py
+++ b/tools/util_test.py
@@ -1,5 +1,8 @@
# Copyright 2018 the Deno authors. All rights reserved. MIT license.
from util import pattern_match, parse_exit_code, shell_quote_win
+import util
+import os
+import sys
def pattern_match_test():
@@ -44,10 +47,42 @@ def shell_quote_win_test():
'a"b""c\\d\\"e\\\\')
+def parse_unit_test_output_test():
+ print "Testing util.parse_unit_test_output()..."
+ # This is an example of a successful unit test output.
+ output = open(
+ os.path.join(util.root_path, "tools/testdata/unit_test_output1.txt"))
+ (actual, expected) = util.parse_unit_test_output(output, False)
+ assert actual == 96
+ assert expected == 96
+
+ # This is an example of a silently dying unit test.
+ output = open(
+ os.path.join(util.root_path, "tools/testdata/unit_test_output2.txt"))
+ (actual, expected) = util.parse_unit_test_output(output, False)
+ assert actual == None
+ assert expected == 96
+
+ # This is an example of compiling before successful unit tests.
+ output = open(
+ os.path.join(util.root_path, "tools/testdata/unit_test_output3.txt"))
+ (actual, expected) = util.parse_unit_test_output(output, False)
+ assert actual == 96
+ assert expected == 96
+
+ # Check what happens on empty output.
+ from StringIO import StringIO
+ output = StringIO("\n\n\n")
+ (actual, expected) = util.parse_unit_test_output(output, False)
+ assert actual == None
+ assert expected == None
+
+
def util_test():
pattern_match_test()
parse_exit_code_test()
shell_quote_win_test()
+ parse_unit_test_output_test()
if __name__ == '__main__':