Skip to content

Commit 74c4bb7

Browse files
refackjasnell
authored andcommitted
tools,test: add list of slow tests
they will be skipped if run with `--flaky-tests=skip` PR-URL: #23251 Reviewed-By: Rich Trott <rtrott@gmail.com>
1 parent 5b79d55 commit 74c4bb7

File tree

2 files changed

+211
-24
lines changed

2 files changed

+211
-24
lines changed

test/root.status

+190
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
[$mode==debug]
2+
async-hooks/test-callback-error: SLOW
3+
async-hooks/test-callback-error: SLOW
4+
async-hooks/test-emit-init: SLOW
5+
async-hooks/test-emit-init: SLOW
6+
async-hooks/test-querywrap: SLOW
7+
async-hooks/test-querywrap: SLOW
8+
async-hooks/test-tlswrap: SLOW
9+
async-hooks/test-tlswrap: SLOW
10+
message/eval_messages: SLOW
11+
message/stdin_messages: SLOW
12+
parallel/test-benchmark-assert: SLOW
13+
parallel/test-benchmark-cluster: SLOW
14+
parallel/test-benchmark-crypto: SLOW
15+
parallel/test-benchmark-dns: SLOW
16+
parallel/test-benchmark-domain: SLOW
17+
parallel/test-benchmark-es: SLOW
18+
parallel/test-benchmark-events: SLOW
19+
parallel/test-benchmark-fs: SLOW
20+
parallel/test-benchmark-misc: SLOW
21+
parallel/test-benchmark-module: SLOW
22+
parallel/test-benchmark-os: SLOW
23+
parallel/test-benchmark-process: SLOW
24+
parallel/test-benchmark-querystring: SLOW
25+
parallel/test-benchmark-streams: SLOW
26+
parallel/test-benchmark-string_decoder: SLOW
27+
parallel/test-benchmark-timers: SLOW
28+
parallel/test-benchmark-url: SLOW
29+
parallel/test-benchmark-util: SLOW
30+
parallel/test-benchmark-v8: SLOW
31+
parallel/test-benchmark-vm: SLOW
32+
parallel/test-benchmark-zlib: SLOW
33+
parallel/test-buffer-constructor-node-modules-paths: SLOW
34+
parallel/test-buffer-indexof: SLOW
35+
parallel/test-child-process-spawnsync-input: SLOW
36+
parallel/test-child-process-windows-hide: SLOW
37+
parallel/test-cli-eval: SLOW
38+
parallel/test-cli-eval-event: SLOW
39+
parallel/test-cli-node-options: SLOW
40+
parallel/test-cli-node-options-disallowed: SLOW
41+
parallel/test-cli-node-print-help: SLOW
42+
parallel/test-cli-syntax: SLOW
43+
parallel/test-cluster-basic: SLOW
44+
parallel/test-cluster-bind-privileged-port: SLOW
45+
parallel/test-cluster-bind-twice: SLOW
46+
parallel/test-cluster-disconnect: SLOW
47+
parallel/test-cluster-disconnect-idle-worker: SLOW
48+
parallel/test-crypto-fips: SLOW
49+
parallel/test-domain-abort-on-uncaught: SLOW
50+
parallel/test-domain-uncaught-exception: SLOW
51+
parallel/test-domain-with-abort-on-uncaught-exception: SLOW
52+
parallel/test-env-var-no-warnings: SLOW
53+
parallel/test-error-reporting: SLOW
54+
parallel/test-eslint-alphabetize-errors: SLOW
55+
parallel/test-eslint-buffer-constructor: SLOW
56+
parallel/test-eslint-crypto-check: SLOW
57+
parallel/test-eslint-documented-errors: SLOW
58+
parallel/test-eslint-duplicate-requires: SLOW
59+
parallel/test-eslint-eslint-check: SLOW
60+
parallel/test-eslint-inspector-check: SLOW
61+
parallel/test-eslint-lowercase-name-for-primitive: SLOW
62+
parallel/test-eslint-no-let-in-for-declaration: SLOW
63+
parallel/test-eslint-no-unescaped-regexp-dot: SLOW
64+
parallel/test-eslint-number-isnan: SLOW
65+
parallel/test-eslint-prefer-assert-iferror: SLOW
66+
parallel/test-eslint-prefer-assert-methods: SLOW
67+
parallel/test-eslint-prefer-common-expectserror: SLOW
68+
parallel/test-eslint-prefer-common-mustnotcall: SLOW
69+
parallel/test-eslint-prefer-util-format-errors: SLOW
70+
parallel/test-eslint-require-buffer: SLOW
71+
parallel/test-eslint-required-modules: SLOW
72+
parallel/test-fs-read-stream-concurrent-reads: SLOW
73+
parallel/test-gc-tls-external-memory: SLOW
74+
parallel/test-heapdump-dns: SLOW
75+
parallel/test-heapdump-fs-promise: SLOW
76+
parallel/test-heapdump-http2: SLOW
77+
parallel/test-heapdump-inspector: SLOW
78+
parallel/test-heapdump-tls: SLOW
79+
parallel/test-heapdump-worker: SLOW
80+
parallel/test-heapdump-zlib: SLOW
81+
parallel/test-http-client-timeout-option-with-agent: SLOW
82+
parallel/test-http-pipeline-flood: SLOW
83+
parallel/test-http-pipeline-requests-connection-leak: SLOW
84+
parallel/test-http2-forget-closed-streams: SLOW
85+
parallel/test-http2-multiplex: SLOW
86+
parallel/test-inspector-tracing-domain: SLOW
87+
parallel/test-listen-fd-cluster: SLOW
88+
parallel/test-module-loading-globalpaths: SLOW
89+
parallel/test-module-main-fail: SLOW
90+
parallel/test-module-main-preserve-symlinks-fail: SLOW
91+
parallel/test-net-pingpong: SLOW
92+
parallel/test-next-tick-fixed-queue-regression: SLOW
93+
parallel/test-npm-install: SLOW
94+
parallel/test-preload: SLOW
95+
parallel/test-repl: SLOW
96+
parallel/test-repl-tab-complete: SLOW
97+
parallel/test-repl-top-level-await: SLOW
98+
parallel/test-stdio-pipe-access: SLOW
99+
parallel/test-stream-pipeline: SLOW
100+
parallel/test-stream2-read-sync-stack: SLOW
101+
parallel/test-stringbytes-external: SLOW
102+
parallel/test-sync-io-option: SLOW
103+
parallel/test-tick-processor-arguments: SLOW
104+
parallel/test-tls-env-bad-extra-ca: SLOW
105+
parallel/test-tls-env-extra-ca: SLOW
106+
parallel/test-tls-handshake-exception: SLOW
107+
parallel/test-tls-securepair-leak: SLOW
108+
parallel/test-tls-server-verify: SLOW
109+
parallel/test-tls-session-cache: SLOW
110+
parallel/test-tls-ticket-cluster: SLOW
111+
parallel/test-tls-timeout-server: SLOW
112+
parallel/test-tls-timeout-server-2: SLOW
113+
parallel/test-tls-tlswrap-segfault: SLOW
114+
parallel/test-trace-events-all: SLOW
115+
parallel/test-trace-events-api: SLOW
116+
parallel/test-trace-events-async-hooks: SLOW
117+
parallel/test-trace-events-binding: SLOW
118+
parallel/test-trace-events-bootstrap: SLOW
119+
parallel/test-trace-events-category-used: SLOW
120+
parallel/test-trace-events-file-pattern: SLOW
121+
parallel/test-trace-events-fs-sync: SLOW
122+
parallel/test-trace-events-metadata: SLOW
123+
parallel/test-trace-events-none: SLOW
124+
parallel/test-trace-events-perf: SLOW
125+
parallel/test-trace-events-process-exit: SLOW
126+
parallel/test-trace-events-promises: SLOW
127+
parallel/test-trace-events-v8: SLOW
128+
parallel/test-trace-events-vm: SLOW
129+
parallel/test-trace-events-worker-metadata: SLOW
130+
parallel/test-tracing-no-crash: SLOW
131+
parallel/test-url-relative: SLOW
132+
parallel/test-util-callbackify: SLOW
133+
parallel/test-util-inspect: SLOW
134+
parallel/test-util-inspect-long-running: SLOW
135+
parallel/test-util-types: SLOW
136+
parallel/test-v8-coverage: SLOW
137+
parallel/test-vm-api-handles-getter-errors: SLOW
138+
parallel/test-vm-basic: SLOW
139+
parallel/test-vm-cached-data: SLOW
140+
parallel/test-vm-sigint: SLOW
141+
parallel/test-vm-sigint-existing-handler: SLOW
142+
parallel/test-vm-symbols: SLOW
143+
parallel/test-vm-syntax-error-message: SLOW
144+
parallel/test-vm-syntax-error-stderr: SLOW
145+
parallel/test-worker: SLOW
146+
parallel/test-worker-cleanup-handles: SLOW
147+
parallel/test-worker-debug: SLOW
148+
parallel/test-worker-esmodule: SLOW
149+
parallel/test-worker-exit-code: SLOW
150+
parallel/test-worker-memory: SLOW
151+
parallel/test-worker-message-channel: SLOW
152+
parallel/test-worker-message-channel-sharedarraybuffer: SLOW
153+
parallel/test-worker-nexttick-terminate: SLOW
154+
parallel/test-worker-onmessage: SLOW
155+
parallel/test-worker-onmessage-not-a-function: SLOW
156+
parallel/test-worker-parent-port-ref: SLOW
157+
parallel/test-worker-relative-path: SLOW
158+
parallel/test-worker-relative-path-double-dot: SLOW
159+
parallel/test-worker-stdio: SLOW
160+
parallel/test-worker-syntax-error: SLOW
161+
parallel/test-worker-syntax-error-file: SLOW
162+
parallel/test-worker-uncaught-exception: SLOW
163+
parallel/test-worker-uncaught-exception-async: SLOW
164+
parallel/test-worker-unsupported-things: SLOW
165+
parallel/test-worker-workerdata-sharedarraybuffer: SLOW
166+
parallel/test-zlib-bytes-read: SLOW
167+
parallel/test-zlib-convenience-methods: SLOW
168+
sequential/test-benchmark-buffer: SLOW
169+
sequential/test-benchmark-child-process: SLOW
170+
sequential/test-benchmark-dgram: SLOW
171+
sequential/test-benchmark-http: SLOW
172+
sequential/test-benchmark-net: SLOW
173+
sequential/test-benchmark-path: SLOW
174+
sequential/test-benchmark-tls: SLOW
175+
sequential/test-child-process-execsync: SLOW
176+
sequential/test-child-process-exit: SLOW
177+
sequential/test-child-process-pass-fd: SLOW
178+
sequential/test-fs-readfile-tostring-fail: SLOW
179+
sequential/test-fs-watch-system-limit: SLOW
180+
sequential/test-gc-http-client: SLOW
181+
sequential/test-gc-http-client-connaborted: SLOW
182+
sequential/test-gc-http-client-onerror: SLOW
183+
sequential/test-gc-http-client-timeout: SLOW
184+
sequential/test-gc-net-timeout: SLOW
185+
sequential/test-http2-ping-flood: SLOW
186+
sequential/test-http2-settings-flood: SLOW
187+
sequential/test-inspector-port-cluster: SLOW
188+
sequential/test-net-bytes-per-incoming-chunk-overhead: SLOW
189+
sequential/test-pipe: SLOW
190+
sequential/test-util-debug: SLOW

tools/test.py

+21-24
Original file line numberDiff line numberDiff line change
@@ -850,23 +850,23 @@ def GetTestStatus(self, context, sections, defs):
850850

851851

852852
class LiteralTestSuite(TestSuite):
853-
854-
def __init__(self, tests):
853+
def __init__(self, tests_repos, test_root):
855854
super(LiteralTestSuite, self).__init__('root')
856-
self.tests = tests
855+
self.tests_repos = tests_repos
856+
self.test_root = test_root
857857

858858
def GetBuildRequirements(self, path, context):
859859
(name, rest) = CarCdr(path)
860860
result = [ ]
861-
for test in self.tests:
861+
for test in self.tests_repos:
862862
if not name or name.match(test.GetName()):
863863
result += test.GetBuildRequirements(rest, context)
864864
return result
865865

866866
def ListTests(self, current_path, path, context, arch, mode):
867867
(name, rest) = CarCdr(path)
868868
result = [ ]
869-
for test in self.tests:
869+
for test in self.tests_repos:
870870
test_name = test.GetName()
871871
if not name or name.match(test_name):
872872
full_path = current_path + [test_name]
@@ -875,8 +875,11 @@ def ListTests(self, current_path, path, context, arch, mode):
875875
return result
876876

877877
def GetTestStatus(self, context, sections, defs):
878-
for test in self.tests:
879-
test.GetTestStatus(context, sections, defs)
878+
# Just read the test configuration from root_path/root.status.
879+
root = TestConfiguration(context, self.test_root, 'root')
880+
root.GetTestStatus(sections, defs)
881+
for tests_repos in self.tests_repos:
882+
tests_repos.GetTestStatus(context, sections, defs)
880883

881884

882885
TIMEOUT_SCALEFACTOR = {
@@ -1198,23 +1201,18 @@ def __init__(self, sections, defs):
11981201
self.defs = defs
11991202

12001203
def ClassifyTests(self, cases, env):
1201-
sections = [s for s in self.sections if s.condition.Evaluate(env, self.defs)]
1204+
sections = [ s for s in self.sections if s.condition.Evaluate(env, self.defs) ]
12021205
all_rules = reduce(list.__add__, [s.rules for s in sections], [])
12031206
unused_rules = set(all_rules)
1204-
result = [ ]
1205-
all_outcomes = set([])
1207+
result = []
12061208
for case in cases:
12071209
matches = [ r for r in all_rules if r.Contains(case.path) ]
1208-
outcomes = set([])
1209-
for rule in matches:
1210-
outcomes = outcomes.union(rule.GetOutcomes(env, self.defs))
1211-
unused_rules.discard(rule)
1212-
if not outcomes:
1213-
outcomes = [PASS]
1214-
case.outcomes = outcomes
1215-
all_outcomes = all_outcomes.union(outcomes)
1216-
result.append(ClassifiedTest(case, outcomes))
1217-
return (result, list(unused_rules), all_outcomes)
1210+
outcomes_list = [ r.GetOutcomes(env, self.defs) for r in matches ]
1211+
outcomes = reduce(set.union, outcomes_list, set())
1212+
unused_rules.difference_update(matches)
1213+
case.outcomes = set(outcomes) or set([PASS])
1214+
result.append(case)
1215+
return result, unused_rules
12181216

12191217

12201218
class Section(object):
@@ -1552,7 +1550,7 @@ def Main():
15521550
repositories = [TestRepository(join(workspace, 'test', name)) for name in suites]
15531551
repositories += [TestRepository(a) for a in options.suite]
15541552

1555-
root = LiteralTestSuite(repositories)
1553+
root = LiteralTestSuite(repositories, test_root)
15561554
paths = ArgsToTestPaths(test_root, args, suites)
15571555

15581556
# Check for --valgrind option. If enabled, we overwrite the special
@@ -1623,8 +1621,7 @@ def Main():
16231621
}
16241622
test_list = root.ListTests([], path, context, arch, mode)
16251623
unclassified_tests += test_list
1626-
(cases, unused_rules, _) = (
1627-
config.ClassifyTests(test_list, env))
1624+
cases, unused_rules = config.ClassifyTests(test_list, env)
16281625
if globally_unused_rules is None:
16291626
globally_unused_rules = set(unused_rules)
16301627
else:
@@ -1671,7 +1668,7 @@ def should_keep(case):
16711668
return False
16721669
elif SKIP in case.outcomes:
16731670
return False
1674-
elif (options.flaky_tests == SKIP) and (set([FLAKY]) & case.outcomes):
1671+
elif (options.flaky_tests == SKIP) and (set([SLOW, FLAKY]) & case.outcomes):
16751672
return False
16761673
else:
16771674
return True

0 commit comments

Comments
 (0)