Skip to content

Commit b20aad8

Browse files
authored
Add faster test262 test target (#362)
* Add faster test262 test target - add test262-fast.conf with lengthy tests disabled - add test262-fast corresponding target - make valgrind use test262-fast
1 parent 6d801de commit b20aad8

File tree

3 files changed

+136
-1
lines changed

3 files changed

+136
-1
lines changed

.github/workflows/valgrind.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ jobs:
2020
make BUILD_TYPE=RelWithDebInfo
2121
- name: test
2222
run: |
23-
valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --error-exitcode=1 ./build/run-test262 -m -c test262.conf -a
23+
valgrind --leak-check=full --show-leak-kinds=all --track-origins=yes --error-exitcode=1 ./build/run-test262 -m -c test262.conf -c test262-fast.conf -a

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,9 @@ test: $(QJS)
8989
test262: $(QJS)
9090
$(RUN262) -m -c test262.conf -a
9191

92+
test262-fast: $(QJS)
93+
$(RUN262) -m -c test262.conf -c test262-fast.conf -a
94+
9295
test262-update: $(QJS)
9396
$(RUN262) -u -c test262.conf -a
9497

test262-fast.conf

Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
[exclude]
2+
# list excluded tests and directories here for faster operation
3+
4+
# lengthy constructed regexp (>500 ms)
5+
test262/test/annexB/built-ins/RegExp/RegExp-leading-escape-BMP.js
6+
test262/test/annexB/built-ins/RegExp/RegExp-trailing-escape-BMP.js
7+
8+
# slow notifications (> 600 ms)
9+
test262/test/built-ins/Atomics/notify/notify-in-order-one-time.js
10+
test262/test/built-ins/Atomics/notify/notify-in-order.js
11+
test262/test/built-ins/Atomics/wait/bigint/waiterlist-order-of-operations-is-fifo.js
12+
test262/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js
13+
14+
# lengthy constructed regexp (>200 ms)
15+
test262/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-flags-u.js
16+
test262/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-digit-class-escape-plus-quantifier-flags-u.js
17+
test262/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-flags-u.js
18+
test262/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-whitespace-class-escape-plus-quantifier-flags-u.js
19+
test262/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-flags-u.js
20+
test262/test/built-ins/RegExp/CharacterClassEscapes/character-class-non-word-class-escape-plus-quantifier-flags-u.js
21+
test262/test/built-ins/RegExp/character-class-escape-non-whitespace.js
22+
23+
# 417 lengty tests with huge constructed regexp (>200 ms)
24+
test262/test/built-ins/RegExp/property-escapes/generated/
25+
26+
# lengthy constructed URLS (>200 ms)
27+
test262/test/built-ins/decodeURI/S15.1.3.1_A1.2_T1.js
28+
test262/test/built-ins/decodeURI/S15.1.3.1_A1.2_T2.js
29+
test262/test/built-ins/decodeURI/S15.1.3.1_A1.10_T1.js
30+
test262/test/built-ins/decodeURI/S15.1.3.1_A1.11_T1.js
31+
test262/test/built-ins/decodeURI/S15.1.3.1_A1.11_T2.js
32+
test262/test/built-ins/decodeURI/S15.1.3.1_A1.12_T1.js
33+
test262/test/built-ins/decodeURI/S15.1.3.1_A1.12_T2.js
34+
test262/test/built-ins/decodeURI/S15.1.3.1_A1.12_T3.js
35+
test262/test/built-ins/decodeURI/S15.1.3.1_A2.5_T1.js
36+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.2_T1.js
37+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.2_T2.js
38+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.10_T1.js
39+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.11_T1.js
40+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.11_T2.js
41+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.12_T1.js
42+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.12_T2.js
43+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A1.12_T3.js
44+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A2.5_T1.js
45+
46+
# lengthy comment tests
47+
test262/test/language/comments/S7.4_A5.js
48+
test262/test/language/comments/S7.4_A6.js
49+
50+
# lengthy unicode level tests
51+
test262/test/language/identifiers/start-unicode-5.2.0-class-escaped.js
52+
test262/test/language/identifiers/start-unicode-5.2.0-class.js
53+
test262/test/language/identifiers/start-unicode-8.0.0-class-escaped.js
54+
test262/test/language/identifiers/start-unicode-8.0.0-class.js
55+
test262/test/language/identifiers/start-unicode-9.0.0-class-escaped.js
56+
test262/test/language/identifiers/start-unicode-9.0.0-class.js
57+
test262/test/language/identifiers/start-unicode-10.0.0-class-escaped.js
58+
test262/test/language/identifiers/start-unicode-10.0.0-class.js
59+
test262/test/language/identifiers/start-unicode-13.0.0-class-escaped.js
60+
test262/test/language/identifiers/start-unicode-13.0.0-class.js
61+
test262/test/language/identifiers/start-unicode-15.0.0-class-escaped.js
62+
test262/test/language/identifiers/start-unicode-15.0.0-class.js
63+
64+
# Atomics tests with 2 second delays
65+
test262/test/built-ins/Atomics/notify/bigint/notify-all-on-loc.js
66+
test262/test/built-ins/Atomics/notify/negative-count.js
67+
test262/test/built-ins/Atomics/notify/notify-all-on-loc.js
68+
test262/test/built-ins/Atomics/notify/notify-all.js
69+
test262/test/built-ins/Atomics/notify/notify-nan.js
70+
test262/test/built-ins/Atomics/notify/notify-one.js
71+
test262/test/built-ins/Atomics/notify/notify-two.js
72+
test262/test/built-ins/Atomics/notify/notify-zero.js
73+
74+
# Atomics tests with 400 millisecond delays
75+
test262/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-no-operation.js
76+
test262/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-add.js
77+
test262/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-and.js
78+
test262/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-compareExchange.js
79+
test262/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-exchange.js
80+
test262/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-or.js
81+
test262/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-store.js
82+
test262/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-sub.js
83+
test262/test/built-ins/Atomics/wait/bigint/no-spurious-wakeup-on-xor.js
84+
test262/test/built-ins/Atomics/wait/no-spurious-wakeup-no-operation.js
85+
test262/test/built-ins/Atomics/wait/no-spurious-wakeup-on-add.js
86+
test262/test/built-ins/Atomics/wait/no-spurious-wakeup-on-and.js
87+
test262/test/built-ins/Atomics/wait/no-spurious-wakeup-on-compareExchange.js
88+
test262/test/built-ins/Atomics/wait/no-spurious-wakeup-on-exchange.js
89+
test262/test/built-ins/Atomics/wait/no-spurious-wakeup-on-or.js
90+
test262/test/built-ins/Atomics/wait/no-spurious-wakeup-on-store.js
91+
test262/test/built-ins/Atomics/wait/no-spurious-wakeup-on-sub.js
92+
test262/test/built-ins/Atomics/wait/no-spurious-wakeup-on-xor.js
93+
94+
# Atomics tests with 200 millisecond delays
95+
test262/test/built-ins/Atomics/notify/count-defaults-to-infinity-missing.js
96+
test262/test/built-ins/Atomics/notify/count-defaults-to-infinity-undefined.js
97+
test262/test/built-ins/Atomics/notify/notify-renotify-noop.js
98+
test262/test/built-ins/Atomics/notify/undefined-index-defaults-to-zero.js
99+
test262/test/built-ins/Atomics/wait/bigint/false-for-timeout-agent.js
100+
test262/test/built-ins/Atomics/wait/bigint/nan-for-timeout.js
101+
test262/test/built-ins/Atomics/wait/bigint/negative-timeout-agent.js
102+
test262/test/built-ins/Atomics/wait/bigint/value-not-equal.js
103+
test262/test/built-ins/Atomics/wait/bigint/was-woken-before-timeout.js
104+
test262/test/built-ins/Atomics/wait/false-for-timeout-agent.js
105+
test262/test/built-ins/Atomics/wait/nan-for-timeout.js
106+
test262/test/built-ins/Atomics/wait/negative-timeout-agent.js
107+
test262/test/built-ins/Atomics/wait/null-for-timeout-agent.js
108+
test262/test/built-ins/Atomics/wait/object-for-timeout-agent.js
109+
test262/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js
110+
test262/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js
111+
test262/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js
112+
test262/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js
113+
test262/test/built-ins/Atomics/wait/true-for-timeout-agent.js
114+
test262/test/built-ins/Atomics/wait/undefined-for-timeout.js
115+
test262/test/built-ins/Atomics/wait/undefined-index-defaults-to-zero.js
116+
test262/test/built-ins/Atomics/wait/value-not-equal.js
117+
test262/test/built-ins/Atomics/wait/wait-index-value-not-equal.js
118+
test262/test/built-ins/Atomics/wait/was-woken-before-timeout.js
119+
120+
# lengthy regexp literal construction (>500 ms)
121+
test262/test/language/literals/regexp/S7.8.5_A1.1_T2.js
122+
test262/test/language/literals/regexp/S7.8.5_A1.4_T2.js
123+
test262/test/language/literals/regexp/S7.8.5_A2.1_T2.js
124+
test262/test/language/literals/regexp/S7.8.5_A2.4_T2.js
125+
126+
# lengthy built-ins tests (100-200 ms)
127+
test262/test/built-ins/Function/prototype/toString/built-in-function-object.js
128+
test262/test/built-ins/decodeURI/S15.1.3.1_A2.4_T1.js
129+
test262/test/built-ins/decodeURIComponent/S15.1.3.2_A2.4_T1.js
130+
test262/test/built-ins/encodeURI/S15.1.3.3_A2.3_T1.js
131+
test262/test/built-ins/encodeURIComponent/S15.1.3.4_A2.3_T1.js
132+
test262/test/language/expressions/dynamic-import/await-import-evaluation.js

0 commit comments

Comments
 (0)