Skip to content
File

Blob: src/workerd/api/node/tests/BUILD.bazel

16.8 KB
1load("@aspect_rules_js//js:defs.bzl", "js_binary")
2load("@rules_shell//shell:sh_test.bzl", "sh_test")
3load("//:build/wd_test.bzl", "wd_test")
4 
5wd_test(
6 src = "assert-test.wd-test",
7 args = ["--experimental"],
8 data = ["assert-test.js"],
9)
10 
11wd_test(
12 size = "large",
13 src = "buffer-nodejs-test.wd-test",
14 args = ["--experimental"],
15 data = ["buffer-nodejs-test.js"],
16)
17 
18wd_test(
19 src = "cluster-nodejs-test.wd-test",
20 args = ["--experimental"],
21 data = ["cluster-nodejs-test.js"],
22)
23 
24wd_test(
25 src = "child_process-nodejs-test.wd-test",
26 args = ["--experimental"],
27 data = ["child_process-nodejs-test.js"],
28)
29 
30wd_test(
31 src = "console-nodejs-test.wd-test",
32 args = ["--experimental"],
33 data = ["console-nodejs-test.js"],
34)
35 
36wd_test(
37 size = "enormous",
38 src = "crypto_dh-test.wd-test",
39 args = ["--experimental"],
40 data = ["crypto_dh-test.js"],
41)
42 
43wd_test(
44 src = "crypto_hash-test.wd-test",
45 args = ["--experimental"],
46 data = ["crypto_hash-test.js"],
47)
48 
49wd_test(
50 src = "crypto_hkdf-test.wd-test",
51 args = ["--experimental"],
52 data = ["crypto_hkdf-test.js"],
53)
54 
55wd_test(
56 src = "crypto_hmac-test.wd-test",
57 args = ["--experimental"],
58 data = ["crypto_hmac-test.js"],
59)
60 
61wd_test(
62 src = "crypto_keys-test.wd-test",
63 args = ["--experimental"],
64 data = [
65 "crypto_keys-test.js",
66 "fixtures/agent1-cert.pem",
67 "fixtures/dh_private.pem",
68 "fixtures/dh_public.pem",
69 "fixtures/dsa_private.pem",
70 "fixtures/dsa_private_1025.pem",
71 "fixtures/dsa_private_encrypted.pem",
72 "fixtures/dsa_private_encrypted_1025.pem",
73 "fixtures/dsa_private_pkcs8.pem",
74 "fixtures/dsa_public.pem",
75 "fixtures/dsa_public_1025.pem",
76 "fixtures/ec_p256_private.pem",
77 "fixtures/ec_p256_public.pem",
78 "fixtures/ec_p384_private.pem",
79 "fixtures/ec_p384_public.pem",
80 "fixtures/ec_p521_private.pem",
81 "fixtures/ec_p521_public.pem",
82 "fixtures/ec_secp256k1_private.pem",
83 "fixtures/ec_secp256k1_public.pem",
84 "fixtures/ed25519_private.pem",
85 "fixtures/ed25519_public.pem",
86 "fixtures/ed448_private.pem",
87 "fixtures/ed448_public.pem",
88 "fixtures/rsa_private.pem",
89 "fixtures/rsa_private_2048.pem",
90 "fixtures/rsa_private_4096.pem",
91 "fixtures/rsa_private_b.pem",
92 "fixtures/rsa_private_encrypted.pem",
93 "fixtures/rsa_private_pkcs8.pem",
94 "fixtures/rsa_private_pkcs8_bad.pem",
95 "fixtures/rsa_pss_private_2048.pem",
96 "fixtures/rsa_pss_private_2048_sha1_sha1_20.pem",
97 "fixtures/rsa_pss_private_2048_sha256_sha256_16.pem",
98 "fixtures/rsa_pss_private_2048_sha512_sha256_20.pem",
99 "fixtures/rsa_pss_public_2048.pem",
100 "fixtures/rsa_pss_public_2048_sha1_sha1_20.pem",
101 "fixtures/rsa_pss_public_2048_sha256_sha256_16.pem",
102 "fixtures/rsa_pss_public_2048_sha512_sha256_20.pem",
103 "fixtures/rsa_public.pem",
104 "fixtures/rsa_public_2048.pem",
105 "fixtures/rsa_public_4096.pem",
106 "fixtures/rsa_public_b.pem",
107 "fixtures/x25519_private.pem",
108 "fixtures/x25519_public.pem",
109 "fixtures/x448_private.pem",
110 "fixtures/x448_public.pem",
111 ],
112)
113 
114wd_test(
115 src = "crypto_pbkdf2-test.wd-test",
116 args = ["--experimental"],
117 data = ["crypto_pbkdf2-test.js"],
118)
119 
120wd_test(
121 src = "crypto_random-test.wd-test",
122 args = ["--experimental"],
123 data = ["crypto_random-test.js"],
124)
125 
126wd_test(
127 size = "large",
128 src = "crypto_scrypt-test.wd-test",
129 args = ["--experimental"],
130 data = ["crypto_scrypt-test.js"],
131)
132 
133wd_test(
134 src = "crypto_spkac-test.wd-test",
135 args = ["--experimental"],
136 data = ["crypto_spkac-test.js"],
137)
138 
139wd_test(
140 src = "crypto_x509-test.wd-test",
141 args = ["--experimental"],
142 data = ["crypto_x509-test.js"],
143)
144 
145wd_test(
146 src = "diagnostics-channel-test.wd-test",
147 args = ["--experimental"],
148 data = ["diagnostics-channel-test.js"],
149)
150 
151wd_test(
152 src = "diagnostics-channel-getter-test.wd-test",
153 args = ["--experimental"],
154 data = ["diagnostics-channel-getter-test.js"],
155)
156 
157wd_test(
158 src = "mimetype-test.wd-test",
159 args = ["--experimental"],
160 data = ["mimetype-test.js"],
161)
162 
163wd_test(
164 src = "node-compat-v2-test.wd-test",
165 args = ["--experimental"],
166 data = ["node-compat-v2-test.js"],
167)
168 
169wd_test(
170 src = "perf-hooks-nodejs-test.wd-test",
171 args = ["--experimental"],
172 data = ["perf-hooks-nodejs-test.js"],
173)
174 
175wd_test(
176 src = "path-test.wd-test",
177 args = ["--experimental"],
178 data = ["path-test.js"],
179)
180 
181wd_test(
182 src = "punycode-nodejs-test.wd-test",
183 args = ["--experimental"],
184 data = ["punycode-nodejs-test.js"],
185)
186 
187wd_test(
188 size = "large",
189 src = "streams-test.wd-test",
190 args = ["--experimental"],
191 data = ["streams-test.js"],
192)
193 
194wd_test(
195 src = "string-decoder-test.wd-test",
196 args = ["--experimental"],
197 data = ["string-decoder-test.js"],
198)
199 
200wd_test(
201 src = "url-nodejs-test.wd-test",
202 args = ["--experimental"],
203 data = ["url-nodejs-test.js"],
204)
205 
206wd_test(
207 src = "util-nodejs-test.wd-test",
208 args = ["--experimental"],
209 data = ["util-nodejs-test.js"],
210)
211 
212wd_test(
213 src = "sys-nodejs-test.wd-test",
214 args = ["--experimental"],
215 data = ["sys-nodejs-test.js"],
216)
217 
218wd_test(
219 size = "large",
220 src = "zlib-nodejs-test.wd-test",
221 args = ["--experimental"],
222 data = ["zlib-nodejs-test.js"],
223)
224 
225wd_test(
226 size = "large",
227 src = "zlib-zstd-nodejs-test.wd-test",
228 args = ["--experimental"],
229 data = ["zlib-zstd-nodejs-test.js"],
230)
231 
232wd_test(
233 src = "module-nodejs-test.wd-test",
234 args = ["--experimental"],
235 data = ["module-nodejs-test.js"],
236)
237 
238wd_test(
239 src = "module-create-require-test.wd-test",
240 args = ["--experimental"],
241 data = ["module-create-require-test.js"],
242)
243 
244wd_test(
245 src = "module-require-mutable-exports-test.wd-test",
246 args = ["--experimental"],
247 data = ["module-require-mutable-exports-test.js"],
248)
249 
250wd_test(
251 src = "process-exit-test.wd-test",
252 args = ["--experimental"],
253 data = ["process-exit-test.js"],
254)
255 
256wd_test(
257 src = "process-nodejs-test.wd-test",
258 data = ["process-nodejs-test.js"],
259)
260 
261wd_test(
262 src = "process-getbuiltin-newmodreg-test.wd-test",
263 args = ["--experimental"],
264 data = ["process-getbuiltin-newmodreg-test.js"],
265)
266 
267wd_test(
268 src = "process-legacy-nodejs-test.wd-test",
269 args = ["--experimental"],
270 data = ["process-legacy-nodejs-test.js"],
271)
272 
273wd_test(
274 src = "process-stdio-nodejs-test.wd-test",
275 data = ["process-stdio-nodejs-test.js"],
276)
277 
278wd_test(
279 src = "process-stdio-fs-nodejs-test.wd-test",
280 data = ["process-stdio-fs-nodejs-test.js"],
281)
282 
283sh_test(
284 name = "process-stdio-sh-test",
285 srcs = ["test_process_stdio.sh"],
286 args = [
287 "$(location //src/workerd/server:workerd_cross)",
288 "$(location process-stdio-nodejs-test.wd-test)",
289 "$(location process-stdio-nodejs-test.expected_stdout)",
290 "$(location process-stdio-nodejs-test.expected_stderr)",
291 ],
292 data = [
293 "process-stdio-nodejs-test.expected_stderr",
294 "process-stdio-nodejs-test.expected_stdout",
295 "process-stdio-nodejs-test.js",
296 "process-stdio-nodejs-test.wd-test",
297 "//src/workerd/server:workerd_cross",
298 ],
299)
300 
301sh_test(
302 name = "process-stdio-fs-sh-test",
303 srcs = ["test_process_stdio.sh"],
304 args = [
305 "$(location //src/workerd/server:workerd_cross)",
306 "$(location process-stdio-fs-nodejs-test.wd-test)",
307 "$(location process-stdio-fs-nodejs-test.expected_stdout)",
308 "$(location process-stdio-fs-nodejs-test.expected_stderr)",
309 ],
310 data = [
311 "process-stdio-fs-nodejs-test.expected_stderr",
312 "process-stdio-fs-nodejs-test.expected_stdout",
313 "process-stdio-fs-nodejs-test.js",
314 "process-stdio-fs-nodejs-test.wd-test",
315 "//src/workerd/server:workerd_cross",
316 ],
317)
318 
319wd_test(
320 src = "querystring-nodejs-test.wd-test",
321 args = ["--experimental"],
322 data = ["querystring-nodejs-test.js"],
323)
324 
325wd_test(
326 src = "readline-nodejs-test.wd-test",
327 args = ["--experimental"],
328 data = ["readline-nodejs-test.js"],
329)
330 
331wd_test(
332 src = "repl-nodejs-test.wd-test",
333 args = ["--experimental"],
334 data = ["repl-nodejs-test.js"],
335)
336 
337wd_test(
338 src = "sqlite-nodejs-test.wd-test",
339 args = ["--experimental"],
340 data = ["sqlite-nodejs-test.js"],
341)
342 
343config_setting(
344 name = "debug_build",
345 values = {"compilation_mode": "dbg"},
346)
347 
348wd_test(
349 size = "large",
350 src = "legacy_url-nodejs-test.wd-test",
351 args = ["--experimental"],
352 data = ["legacy_url-nodejs-test.js"],
353 target_compatible_with = select({
354 ":debug_build": ["@platforms//:incompatible"],
355 "//conditions:default": [],
356 }),
357)
358 
359wd_test(
360 src = "dns-nodejs-test.wd-test",
361 args = ["--experimental"],
362 data = ["dns-nodejs-test.js"],
363 tags = ["requires-network"],
364)
365 
366js_binary(
367 name = "net-nodejs-tcp-server",
368 entry_point = "net-nodejs-tcp-server.js",
369)
370 
371wd_test(
372 size = "large",
373 src = "net-nodejs-test.wd-test",
374 args = ["--experimental"],
375 data = ["net-nodejs-test.js"],
376 sidecar = "net-nodejs-tcp-server",
377 sidecar_port_bindings = [
378 "SERVER_PORT",
379 "ECHO_SERVER_PORT",
380 "TIMEOUT_SERVER_PORT",
381 "END_SERVER_PORT",
382 "SERVER_THAT_DIES_PORT",
383 "RECONNECT_SERVER_PORT",
384 ],
385)
386 
387wd_test(
388 src = "timers-nodejs-test.wd-test",
389 args = ["--experimental"],
390 data = ["timers-nodejs-test.js"],
391)
392 
393wd_test(
394 src = "timers-global-override-test.wd-test",
395 args = ["--experimental"],
396 data = ["timers-global-override-test.js"],
397)
398 
399wd_test(
400 src = "async_hooks-nodejs-test.wd-test",
401 args = ["--experimental"],
402 data = ["async_hooks-nodejs-test.js"],
403)
404 
405wd_test(
406 src = "crypto_sign-test.wd-test",
407 args = ["--experimental"],
408 data = [
409 "crypto_sign-test.js",
410 "fixtures/dsa_private.pem",
411 "fixtures/dsa_public.pem",
412 "fixtures/ed25519_private.pem",
413 "fixtures/ed25519_public.pem",
414 "fixtures/rsa_private.pem",
415 "fixtures/rsa_public.pem",
416 ],
417)
418 
419wd_test(
420 src = "crypto_cipher-test.wd-test",
421 args = ["--experimental"],
422 data = [
423 "crypto_cipher-test.js",
424 "fixtures/ed25519_private.pem",
425 "fixtures/ed25519_public.pem",
426 "fixtures/rsa_private.pem",
427 "fixtures/rsa_public.pem",
428 ],
429)
430 
431js_binary(
432 name = "tls-nodejs-tcp-server",
433 entry_point = "tls-nodejs-tcp-server.js",
434)
435 
436wd_test(
437 size = "large",
438 src = "tls-nodejs-test.wd-test",
439 args = ["--experimental"],
440 data = [
441 "fixtures/tls-nodejs-tcp-server.pem",
442 "tls-nodejs-test.js",
443 ],
444 sidecar = "tls-nodejs-tcp-server",
445 sidecar_port_bindings = [
446 "ECHO_SERVER_PORT",
447 "HELLO_SERVER_PORT",
448 "JS_STREAM_SERVER_PORT",
449 "STREAM_WRAP_SERVER_PORT",
450 ],
451 sidecar_randomize_ip = False,
452)
453 
454wd_test(
455 src = "streams-nodejs-test.wd-test",
456 args = ["--experimental"],
457 data = ["streams-nodejs-test.js"],
458)
459 
460wd_test(
461 src = "streams-v24-nodejs-test.wd-test",
462 args = ["--experimental"],
463 data = ["streams-v24-nodejs-test.js"],
464)
465 
466js_binary(
467 name = "http-nodejs-server",
468 entry_point = "http-nodejs-server.js",
469)
470 
471wd_test(
472 src = "http-nodejs-test.wd-test",
473 args = ["--experimental"],
474 data = ["http-nodejs-test.js"],
475 sidecar = "http-nodejs-server",
476 sidecar_port_bindings = [
477 "PONG_SERVER_PORT",
478 "ASD_SERVER_PORT",
479 "TIMEOUT_SERVER_PORT",
480 "HELLO_WORLD_SERVER_PORT",
481 "HEADER_VALIDATION_SERVER_PORT",
482 ],
483 tags = ["requires-network"],
484)
485 
486js_binary(
487 name = "http-outgoing-nodejs-server",
488 entry_point = "http-outgoing-nodejs-server.js",
489)
490 
491wd_test(
492 src = "http-outgoing-nodejs-test.wd-test",
493 args = ["--experimental"],
494 data = ["http-outgoing-nodejs-test.js"],
495 sidecar = "http-outgoing-nodejs-server",
496 sidecar_port_bindings = [
497 "FINISH_WRITABLE_PORT",
498 "WRITABLE_FINISHED_PORT",
499 "PROPERTIES_PORT",
500 ],
501)
502 
503wd_test(
504 src = "http-incoming-nodejs-test.wd-test",
505 args = ["--experimental"],
506 data = ["http-incoming-nodejs-test.js"],
507)
508 
509js_binary(
510 name = "http-client-nodejs-server",
511 entry_point = "http-client-nodejs-server.js",
512)
513 
514wd_test(
515 src = "http-client-nodejs-test.wd-test",
516 args = ["--experimental"],
517 data = ["http-client-nodejs-test.js"],
518 sidecar = "http-client-nodejs-server",
519 sidecar_port_bindings = [
520 "PONG_SERVER_PORT",
521 "ASD_SERVER_PORT",
522 "DEFAULT_HEADERS_EXIST_PORT",
523 "REQUEST_ARGUMENTS_PORT",
524 "HELLO_WORLD_SERVER_PORT",
525 "GZIP_SERVER_PORT",
526 ],
527)
528 
529js_binary(
530 name = "http-server-nodejs-server",
531 entry_point = "http-server-nodejs-server.js",
532)
533 
534wd_test(
535 src = "http-server-nodejs-test.wd-test",
536 args = ["--experimental"],
537 data = ["http-server-nodejs-test.js"],
538 sidecar = "http-server-nodejs-server",
539 sidecar_port_bindings = [
540 "PONG_SERVER_PORT",
541 ],
542)
543 
544js_binary(
545 name = "http-agent-nodejs-server",
546 entry_point = "http-agent-nodejs-server.js",
547)
548 
549wd_test(
550 src = "http-agent-nodejs-test.wd-test",
551 args = ["--experimental"],
552 data = ["http-agent-nodejs-test.js"],
553 sidecar = "http-agent-nodejs-server",
554 sidecar_port_bindings = [
555 "PONG_SERVER_PORT",
556 ],
557)
558 
559wd_test(
560 src = "bound-als-test.wd-test",
561 args = ["--experimental"],
562 data = ["bound-als-test.js"],
563)
564 
565wd_test(
566 src = "fs-nodejs-test.wd-test",
567 args = ["--experimental"],
568 data = ["fs-nodejs-test.js"],
569)
570 
571wd_test(
572 src = "fs-access-test.wd-test",
573 args = ["--experimental"],
574 data = ["fs-access-test.js"],
575)
576 
577wd_test(
578 src = "fs-chown-chmod-test.wd-test",
579 args = ["--experimental"],
580 data = ["fs-chown-chmod-test.js"],
581)
582 
583wd_test(
584 src = "fs-utimes-test.wd-test",
585 args = ["--experimental"],
586 data = ["fs-utimes-test.js"],
587)
588 
589wd_test(
590 src = "fs-stat-test.wd-test",
591 args = ["--experimental"],
592 data = ["fs-stat-test.js"],
593)
594 
595wd_test(
596 src = "fs-misc-test.wd-test",
597 args = ["--experimental"],
598 data = ["fs-misc-test.js"],
599)
600 
601wd_test(
602 src = "fs-link-test.wd-test",
603 args = ["--experimental"],
604 data = ["fs-link-test.js"],
605)
606 
607wd_test(
608 src = "fs-dir-test.wd-test",
609 args = ["--experimental"],
610 data = ["fs-dir-test.js"],
611)
612 
613wd_test(
614 src = "fs-filehandle-test.wd-test",
615 args = ["--experimental"],
616 data = ["fs-filehandle-test.js"],
617)
618 
619wd_test(
620 src = "fs-glob-test.wd-test",
621 args = ["--experimental"],
622 data = ["fs-glob-test.js"],
623)
624 
625wd_test(
626 src = "fs-cp-test.wd-test",
627 args = ["--experimental"],
628 data = ["fs-cp-test.js"],
629)
630 
631wd_test(
632 src = "fs-cp-into-subdirectory-test.wd-test",
633 args = ["--experimental"],
634 data = ["fs-cp-into-subdirectory-test.js"],
635)
636 
637wd_test(
638 src = "fs-readstream-test.wd-test",
639 args = ["--experimental"],
640 data = ["fs-readstream-test.js"],
641)
642 
643wd_test(
644 src = "fs-writestream-test.wd-test",
645 args = ["--experimental"],
646 data = ["fs-writestream-test.js"],
647)
648 
649wd_test(
650 src = "os-test.wd-test",
651 args = ["--experimental"],
652 data = ["os-test.js"],
653)
654 
655wd_test(
656 src = "http-server-nodejs-global-test.wd-test",
657 args = ["--experimental"],
658 data = ["http-server-nodejs-global-test.js"],
659)
660 
661wd_test(
662 src = "constants-test.wd-test",
663 args = ["--experimental"],
664 data = ["constants-test.js"],
665)
666 
667wd_test(
668 src = "http2-test.wd-test",
669 args = ["--experimental"],
670 data = ["http2-test.js"],
671)
672 
673wd_test(
674 src = "inspector-nodejs-test.wd-test",
675 args = ["--experimental"],
676 data = ["inspector-nodejs-test.js"],
677)
678 
679wd_test(
680 src = "vm-test.wd-test",
681 args = ["--experimental"],
682 data = ["vm-test.js"],
683)
684 
685wd_test(
686 src = "domain-nodejs-test.wd-test",
687 args = ["--experimental"],
688 data = ["domain-nodejs-test.js"],
689)
690 
691wd_test(
692 src = "v8-nodejs-test.wd-test",
693 args = ["--experimental"],
694 data = ["v8-nodejs-test.js"],
695)
696 
697wd_test(
698 src = "tty-nodejs-test.wd-test",
699 args = ["--experimental"],
700 data = ["tty-nodejs-test.js"],
701)
702 
703js_binary(
704 name = "sidecar-supervisor",
705 entry_point = "sidecar-supervisor.mjs",
706 visibility = ["//visibility:public"],
707)
708 
709wd_test(
710 src = "worker_threads-nodejs-test.wd-test",
711 args = ["--experimental"],
712 data = ["worker_threads-nodejs-test.js"],
713)
714 
715wd_test(
716 src = "wasi-nodejs-test.wd-test",
717 args = ["--experimental"],
718 data = ["wasi-nodejs-test.js"],
719)
720 
721wd_test(
722 src = "dgram-nodejs-test.wd-test",
723 args = ["--experimental"],
724 data = ["dgram-nodejs-test.js"],
725)
726 
727wd_test(
728 src = "trace-events-nodejs-test.wd-test",
729 args = ["--experimental"],
730 data = ["trace-events-nodejs-test.js"],
731)
732 
733wd_test(
734 src = "buffer-effective-size-concat-test.wd-test",
735 args = ["--experimental"],
736 data = ["buffer-effective-size-concat-test.js"],
737)
738 
739wd_test(
740 src = "als-gc-test.wd-test",
741 args = ["--experimental"],
742 data = ["als-gc-test.js"],
743)