tools: support testing known issues
This commit adds a known_issues directory to the test directory for scripts that reproduce known bugs. Since these scripts are expected to fail, it also adds a --expect-fail flag to test.py which reports tests as successful when they fail. Refs: https://github.com/nodejs/testing/issues/18 PR-URL: https://github.com/nodejs/node/pull/5528 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Wyatt Preul <wpreul@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
This commit is contained in:
parent
ad0ce57432
commit
32e1f9d0b5
3
Makefile
3
Makefile
@ -192,6 +192,9 @@ test-internet: all
|
||||
test-debugger: all
|
||||
$(PYTHON) tools/test.py debugger
|
||||
|
||||
test-known-issues: all
|
||||
$(PYTHON) tools/test.py known_issues --expect-fail
|
||||
|
||||
test-npm: $(NODE_EXE)
|
||||
NODE=$(NODE) tools/test-npm.sh
|
||||
|
||||
|
6
test/known_issues/testcfg.py
Normal file
6
test/known_issues/testcfg.py
Normal file
@ -0,0 +1,6 @@
|
||||
import sys, os
|
||||
sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
|
||||
import testpy
|
||||
|
||||
def GetConfiguration(context, root):
|
||||
return testpy.SimpleTestConfiguration(context, root, 'known_issues')
|
@ -430,7 +430,7 @@ class TestCase(object):
|
||||
self.thread_id = 0
|
||||
|
||||
def IsNegative(self):
|
||||
return False
|
||||
return self.context.expect_fail
|
||||
|
||||
def CompareTime(self, other):
|
||||
return cmp(other.duration, self.duration)
|
||||
@ -778,13 +778,14 @@ TIMEOUT_SCALEFACTOR = {
|
||||
|
||||
class Context(object):
|
||||
|
||||
def __init__(self, workspace, buildspace, verbose, vm, args, timeout,
|
||||
processor, suppress_dialogs, store_unexpected_output):
|
||||
def __init__(self, workspace, buildspace, verbose, vm, args, expect_fail,
|
||||
timeout, processor, suppress_dialogs, store_unexpected_output):
|
||||
self.workspace = workspace
|
||||
self.buildspace = buildspace
|
||||
self.verbose = verbose
|
||||
self.vm_root = vm
|
||||
self.node_args = args
|
||||
self.expect_fail = expect_fail
|
||||
self.timeout = timeout
|
||||
self.processor = processor
|
||||
self.suppress_dialogs = suppress_dialogs
|
||||
@ -1289,6 +1290,8 @@ def BuildOptions():
|
||||
result.add_option("--special-command", default=None)
|
||||
result.add_option("--node-args", dest="node_args", help="Args to pass through to Node",
|
||||
default=[], action="append")
|
||||
result.add_option("--expect-fail", dest="expect_fail",
|
||||
help="Expect test cases to fail", default=False, action="store_true")
|
||||
result.add_option("--valgrind", help="Run tests through valgrind",
|
||||
default=False, action="store_true")
|
||||
result.add_option("--cat", help="Print the source of the tests",
|
||||
@ -1480,6 +1483,7 @@ def Main():
|
||||
VERBOSE,
|
||||
shell,
|
||||
options.node_args,
|
||||
options.expect_fail,
|
||||
options.timeout,
|
||||
processor,
|
||||
options.suppress_dialogs,
|
||||
|
@ -62,6 +62,7 @@ if /i "%1"=="test-gc" set test_args=%test_args% gc&set buildnodeweak=1&got
|
||||
if /i "%1"=="test-internet" set test_args=%test_args% internet&goto arg-ok
|
||||
if /i "%1"=="test-pummel" set test_args=%test_args% pummel&goto arg-ok
|
||||
if /i "%1"=="test-all" set test_args=%test_args% sequential parallel message gc internet pummel&set buildnodeweak=1&set jslint=1&goto arg-ok
|
||||
if /i "%1"=="test-known-issues" set test_args=%test_args% known_issues --expect-fail&goto arg-ok
|
||||
if /i "%1"=="jslint" set jslint=1&goto arg-ok
|
||||
if /i "%1"=="msi" set msi=1&set licensertf=1&set download_arg="--download=all"&set i18n_arg=small-icu&goto arg-ok
|
||||
if /i "%1"=="build-release" set build_release=1&goto arg-ok
|
||||
|
Loading…
x
Reference in New Issue
Block a user