mirror of
https://github.com/oven-sh/bun
synced 2026-02-02 15:08:46 +00:00
### What does this PR do?
- for these kinds of aborts which we test in CI, introduce a feature
flag to suppress core dumps and crash reporting only from that abort,
and set the flag when running the test:
- libuv stub functions
- Node-API abort (used in particular when calling illegal functions
during finalizers)
- passing `process.kill` its own PID
- core dumps are suppressed with `setrlimit`, and crash reporting with
the new `suppress_reporting` field. these suppressions are only engaged
right before crashing, so we won't ignore new kinds of crashes that come
up in these tests.
- for the test bindings used to test the crash handler in
`run-crash-handler.test.ts`, disables core dumps but does not disable
crash reporting (because crashes get reported to a server that the test
is running to make sure they are reported)
- fixes a panic when printing source code around an error containing
`\n\r`
- updates the code where we clone vendor tests to checkout the right tag
- adds `vendor/elysia/test/path/plugin.test.ts` to
no-validate-exceptions
- this failure was exposed by starting to test the version of elysia we
have been intending to test. the crash trace suggests it may be fixed by
#21307.
- makes dumping core or uploading a crash report count as a failing test
- this ensures we don't realize a crash has occurred if it happened in a
subprocess and the main test doesn't adequately check the exit code. to
spawn a subprocess you expect to fail, prefer `expect(code).toBe(1)`
over `expect(code).not.toBe(0)`. if you really expect multiple possible
erroneous exit codes, you might try `expect(signal).toBeNull()` to still
disallow crashes.
### How did you verify your code works?
Running affected tests on a Linux machine with core dumps set up and
checking no new ones appear.
https://buildkite.com/bun/bun/builds/21465 has no core dumps.
276 lines
12 KiB
Plaintext
276 lines
12 KiB
Plaintext
# List of tests for which we do NOT set validateExceptionChecks=1 when running in ASAN CI
|
|
vendor/elysia/test/a.test.ts
|
|
vendor/elysia/test/adapter/web-standard/cookie-to-header.test.ts
|
|
vendor/elysia/test/adapter/web-standard/map-compact-response.test.ts
|
|
vendor/elysia/test/adapter/web-standard/map-early-response.test.ts
|
|
vendor/elysia/test/adapter/web-standard/map-response.test.ts
|
|
vendor/elysia/test/adapter/web-standard/set-cookie.test.ts
|
|
vendor/elysia/test/aot/analysis.test.ts
|
|
vendor/elysia/test/aot/generation.test.ts
|
|
vendor/elysia/test/aot/has-transform.test.ts
|
|
vendor/elysia/test/aot/has-type.test.ts
|
|
vendor/elysia/test/aot/response.test.ts
|
|
vendor/elysia/test/bun/router.test.ts
|
|
vendor/elysia/test/cookie/explicit.test.ts
|
|
vendor/elysia/test/cookie/implicit.test.ts
|
|
vendor/elysia/test/cookie/response.test.ts
|
|
vendor/elysia/test/cookie/signature.test.ts
|
|
vendor/elysia/test/core/as.test.ts
|
|
vendor/elysia/test/core/config.test.ts
|
|
vendor/elysia/test/core/context.test.ts
|
|
vendor/elysia/test/core/dynamic.test.ts
|
|
vendor/elysia/test/core/elysia.test.ts
|
|
vendor/elysia/test/core/formdata.test.ts
|
|
vendor/elysia/test/core/handle-error.test.ts
|
|
vendor/elysia/test/core/modules.test.ts
|
|
vendor/elysia/test/core/mount.test.ts
|
|
vendor/elysia/test/core/native-static.test.ts
|
|
vendor/elysia/test/core/normalize.test.ts
|
|
vendor/elysia/test/core/path.test.ts
|
|
vendor/elysia/test/core/redirect.test.ts
|
|
vendor/elysia/test/core/sanitize.test.ts
|
|
vendor/elysia/test/core/stop.test.ts
|
|
vendor/elysia/test/extends/decorators.test.ts
|
|
vendor/elysia/test/extends/error.test.ts
|
|
vendor/elysia/test/extends/models.test.ts
|
|
vendor/elysia/test/extends/store.test.ts
|
|
vendor/elysia/test/hoc/index.test.ts
|
|
vendor/elysia/test/lifecycle/after-handle.test.ts
|
|
vendor/elysia/test/lifecycle/before-handle.test.ts
|
|
vendor/elysia/test/lifecycle/derive.test.ts
|
|
vendor/elysia/test/lifecycle/error.test.ts
|
|
vendor/elysia/test/lifecycle/hook-types.test.ts
|
|
vendor/elysia/test/lifecycle/map-derive.test.ts
|
|
vendor/elysia/test/lifecycle/map-resolve.test.ts
|
|
vendor/elysia/test/lifecycle/map-response.test.ts
|
|
vendor/elysia/test/lifecycle/parser.test.ts
|
|
vendor/elysia/test/lifecycle/request.test.ts
|
|
vendor/elysia/test/lifecycle/resolve.test.ts
|
|
vendor/elysia/test/lifecycle/response.test.ts
|
|
vendor/elysia/test/lifecycle/transform.test.ts
|
|
vendor/elysia/test/macro/macro.test.ts
|
|
vendor/elysia/test/path/group.test.ts
|
|
vendor/elysia/test/path/guard.test.ts
|
|
vendor/elysia/test/path/path.test.ts
|
|
vendor/elysia/test/path/plugin.test.ts
|
|
vendor/elysia/test/plugins/affix.test.ts
|
|
vendor/elysia/test/plugins/checksum.test.ts
|
|
vendor/elysia/test/plugins/error-propagation.test.ts
|
|
vendor/elysia/test/plugins/plugin.test.ts
|
|
vendor/elysia/test/production/index.test.ts
|
|
vendor/elysia/test/response/custom-response.test.ts
|
|
vendor/elysia/test/response/headers.test.ts
|
|
vendor/elysia/test/response/redirect.test.ts
|
|
vendor/elysia/test/response/static.test.ts
|
|
vendor/elysia/test/response/stream.test.ts
|
|
vendor/elysia/test/sucrose/query.test.ts
|
|
vendor/elysia/test/sucrose/sucrose.test.ts
|
|
vendor/elysia/test/tracer/aot.test.ts
|
|
vendor/elysia/test/tracer/detail.test.ts
|
|
vendor/elysia/test/tracer/timing.test.ts
|
|
vendor/elysia/test/tracer/trace.test.ts
|
|
vendor/elysia/test/type-system/array-string.test.ts
|
|
vendor/elysia/test/type-system/boolean-string.test.ts
|
|
vendor/elysia/test/type-system/coercion-number.test.ts
|
|
vendor/elysia/test/type-system/date.test.ts
|
|
vendor/elysia/test/type-system/form.test.ts
|
|
vendor/elysia/test/type-system/object-string.test.ts
|
|
vendor/elysia/test/type-system/string-format.test.ts
|
|
vendor/elysia/test/type-system/union-enum.test.ts
|
|
vendor/elysia/test/units/deduplicate-checksum.test.ts
|
|
vendor/elysia/test/units/has-ref.test.ts
|
|
vendor/elysia/test/units/has-transform.test.ts
|
|
vendor/elysia/test/units/merge-deep.test.ts
|
|
vendor/elysia/test/units/merge-object-schemas.test.ts
|
|
vendor/elysia/test/units/replace-schema-type.test.ts
|
|
vendor/elysia/test/validator/body.test.ts
|
|
vendor/elysia/test/validator/encode.test.ts
|
|
vendor/elysia/test/validator/exact-mirror.test.ts
|
|
vendor/elysia/test/validator/header.test.ts
|
|
vendor/elysia/test/validator/params.test.ts
|
|
vendor/elysia/test/validator/query.test.ts
|
|
vendor/elysia/test/validator/response.test.ts
|
|
vendor/elysia/test/validator/standalone.test.ts
|
|
vendor/elysia/test/validator/validator.test.ts
|
|
vendor/elysia/test/ws/aot.test.ts
|
|
vendor/elysia/test/ws/connection.test.ts
|
|
vendor/elysia/test/ws/destructuring.test.ts
|
|
vendor/elysia/test/ws/message.test.ts
|
|
|
|
|
|
# List of tests that potentially throw inside of reifyStaticProperties
|
|
test/js/node/test/parallel/test-stream-some-find-every.mjs
|
|
test/js/node/test/parallel/test-stream-iterator-helpers-test262-tests.mjs
|
|
test/js/node/test/parallel/test-fs-stat-date.mjs
|
|
test/js/node/test/parallel/test-fs-readSync-position-validation.mjs
|
|
test/js/node/test/parallel/test-fs-read-promises-position-validation.mjs
|
|
test/js/node/test/parallel/test-fs-read-position-validation.mjs
|
|
test/js/node/test/parallel/test-net-server-async-dispose.mjs
|
|
test/js/node/test/parallel/test-net-connect-custom-lookup-non-string-address.mjs
|
|
test/js/node/test/parallel/test-abortsignal-any.mjs
|
|
test/js/node/test/parallel/test-child-process-fork-url.mjs
|
|
test/js/node/test/parallel/test-debugger-invalid-json.mjs
|
|
test/js/node/test/parallel/test-dgram-async-dispose.mjs
|
|
test/js/node/test/parallel/test-events-add-abort-listener.mjs
|
|
test/js/node/test/parallel/test-fetch.mjs
|
|
test/js/node/test/parallel/test-module-globalpaths-nodepath.js
|
|
test/js/node/test/parallel/test-parse-args.mjs
|
|
test/js/node/test/parallel/test-process-default.js
|
|
test/js/node/test/parallel/test-readline-promises-csi.mjs
|
|
test/js/node/test/parallel/test-require-dot.js
|
|
test/js/node/test/parallel/test-util-promisify-custom-names.mjs
|
|
test/js/node/test/parallel/test-whatwg-readablestream.mjs
|
|
test/js/node/test/parallel/test-worker.mjs
|
|
test/js/node/events/event-emitter.test.ts
|
|
test/js/node/module/node-module-module.test.js
|
|
test/js/node/process/call-constructor.test.js
|
|
test/js/node/stubs.test.js
|
|
test/js/node/timers/node-timers.test.ts
|
|
test/bake/dev/vfile.test.ts
|
|
test/bake/dev/import-meta-inline.test.ts
|
|
test/bake/dev/production.test.ts
|
|
test/cli/run/run-eval.test.ts
|
|
test/cli/run/self-reference.test.ts
|
|
test/js/bun/resolve/import-meta-resolve.test.mjs
|
|
test/js/bun/resolve/import-meta.test.js
|
|
test/js/bun/util/BunObject.test.ts
|
|
test/js/bun/util/fuzzy-wuzzy.test.ts
|
|
test/js/third_party/pg-gateway/pglite.test.ts
|
|
test/js/web/websocket/websocket.test.js
|
|
test/js/node/test/parallel/test-vm-module-referrer-realm.mjs
|
|
test/js/bun/resolve/resolve.test.ts
|
|
|
|
# trips asan on my macos test machine
|
|
test/js/node/test/parallel/test-fs-watch.js
|
|
test/js/node/test/parallel/test-fs-watch-recursive-watch-file.js
|
|
# hit a debug assert
|
|
test/bundler/bundler_compile.test.ts
|
|
|
|
# needs https://github.com/oven-sh/WebKit/pull/94
|
|
# missing RELEASE_AND_RETURN
|
|
test/js/node/test/parallel/test-cluster-disconnect-idle-worker.js
|
|
test/js/node/test/parallel/test-cluster-disconnect-leak.js
|
|
test/js/node/test/parallel/test-os.js
|
|
test/js/node/os/os.test.js
|
|
test/js/node/util/util-callbackify.test.js
|
|
test/js/node/vm/happy-dom-vm-16277.test.ts
|
|
test/bundler/bundler_cjs2esm.test.ts
|
|
test/bundler/bundler_html.test.ts
|
|
test/bundler/bundler_naming.test.ts
|
|
test/bundler/esbuild/css.test.ts
|
|
test/bundler/esbuild/dce.test.ts
|
|
test/bundler/esbuild/importstar.test.ts
|
|
test/bundler/esbuild/loader.test.ts
|
|
test/bundler/esbuild/ts.test.ts
|
|
test/cli/install/bun-install-registry.test.ts
|
|
test/cli/install/bun-workspaces.test.ts
|
|
test/cli/install/bunx.test.ts
|
|
test/integration/jsdom/jsdom.test.ts
|
|
test/integration/svelte/client-side.test.ts
|
|
test/js/bun/http/serve-listen.test.ts
|
|
test/js/bun/util/filesystem_router.test.ts
|
|
test/js/deno/abort/abort-controller.test.ts
|
|
test/js/deno/crypto/random.test.ts
|
|
test/js/deno/crypto/webcrypto.test.ts
|
|
test/js/deno/encoding/encoding.test.ts
|
|
test/js/deno/event/custom-event.test.ts
|
|
test/js/deno/event/event-target.test.ts
|
|
test/js/deno/event/event.test.ts
|
|
test/js/deno/fetch/blob.test.ts
|
|
test/js/deno/fetch/body.test.ts
|
|
test/js/deno/fetch/headers.test.ts
|
|
test/js/deno/fetch/request.test.ts
|
|
test/js/deno/fetch/response.test.ts
|
|
test/js/deno/performance/performance.test.ts
|
|
test/js/deno/url/url.test.ts
|
|
test/js/deno/url/urlsearchparams.test.ts
|
|
test/js/deno/v8/error.test.ts
|
|
test/js/third_party/@fastify/websocket/fastity-test-websocket.test.js
|
|
test/js/third_party/grpc-js/test-resolver.test.ts
|
|
test/js/third_party/grpc-js/test-retry-config.test.ts
|
|
test/js/third_party/grpc-js/test-retry.test.ts
|
|
test/js/third_party/mongodb/mongodb.test.ts
|
|
test/js/third_party/pino/pino.test.js
|
|
test/js/node/test/parallel/test-util-callbackify.js
|
|
test/js/bun/http/serve.test.ts
|
|
test/cli/install/catalogs.test.ts
|
|
test/cli/install/npmrc.test.ts
|
|
test/cli/install/bun-lockb.test.ts
|
|
test/cli/install/isolated-install.test.ts
|
|
test/cli/install/bun-publish.test.ts
|
|
test/cli/install/bun-lock.test.ts
|
|
test/cli/install/bun-install-lifecycle-scripts.test.ts
|
|
# ProgramExecutable::initializeGlobalProperties
|
|
# missing RELEASE_AND_RETURN
|
|
test/js/node/test/parallel/test-repl-syntax-error-handling.js
|
|
# JSModuleRecord::instantiateDeclarations
|
|
# missing RETURN_IF_EXCEPTION
|
|
test/js/node/test/parallel/test-vm-module-errors.js
|
|
# JSModuleNamespaceObject::overrideExportValue
|
|
# missing RETURN_IF_EXCEPTION
|
|
test/js/node/test/parallel/test-vm-module-synthetic.js
|
|
test/js/bun/test/mock/6874/A.test.ts
|
|
test/js/bun/test/mock/6874/B.test.ts
|
|
test/js/bun/test/mock/6879/6879.test.ts
|
|
test/js/bun/test/mock/mock-module.test.ts
|
|
test/regression/issue/11664.test.ts
|
|
# ErrorInstance::put
|
|
# missing RETURN_IF_EXCEPTION
|
|
test/js/node/util/node-inspect-tests/parallel/util-inspect.test.js
|
|
test/js/node/vm/vm.test.ts
|
|
test/js/third_party/grpc-js/test-call-propagation.test.ts
|
|
test/js/third_party/grpc-js/test-channelz.test.ts
|
|
test/js/third_party/grpc-js/test-client.test.ts
|
|
test/js/third_party/grpc-js/test-deadline.test.ts
|
|
test/js/third_party/grpc-js/test-outlier-detection.test.ts
|
|
test/js/third_party/grpc-js/test-server-deadlines.test.ts
|
|
test/js/third_party/grpc-js/test-server-errors.test.ts
|
|
test/js/third_party/grpc-js/test-server-interceptors.test.ts
|
|
test/js/third_party/grpc-js/test-server.test.ts
|
|
test/js/node/test/parallel/test-assert-if-error.js
|
|
# ErrorInstance::defineOwnProperty
|
|
# missing RETURN_IF_EXCEPTION
|
|
test/js/bun/util/inspect-error.test.js
|
|
# moduleLoaderParseModule
|
|
# missing RETURN_IF_EXCEPTION
|
|
test/bundler/transpiler/bun-pragma.test.ts
|
|
|
|
# llhttp
|
|
test/js/node/test/parallel/test-http-parser-bad-ref.js
|
|
test/js/node/test/parallel/test-http-parser.js
|
|
test/js/node/http/node-http-parser.test.ts
|
|
|
|
# try again later
|
|
test/js/node/test/parallel/test-worker-nested-uncaught.js
|
|
|
|
# 3rd party napi
|
|
test/integration/sharp/sharp.test.ts
|
|
test/js/third_party/@duckdb/node-api/duckdb.test.ts
|
|
test/js/third_party/@napi-rs/canvas/napi-rs-canvas.test.ts
|
|
test/js/third_party/duckdb/duckdb-basic-usage.test.ts
|
|
test/js/third_party/prisma/prisma.test.ts
|
|
test/js/third_party/remix/remix.test.ts
|
|
test/js/third_party/resvg/bbox.test.js
|
|
test/js/third_party/rollup-v4/rollup-v4.test.ts
|
|
test/napi/node-napi.test.ts
|
|
test/napi/uv.test.ts
|
|
test/napi/uv_stub.test.ts
|
|
|
|
# normalizeCryptoAlgorithmParameters
|
|
test/js/node/test/parallel/test-webcrypto-derivekey.js
|
|
test/js/node/test/parallel/test-webcrypto-digest.js
|
|
test/js/node/test/parallel/test-webcrypto-encrypt-decrypt-aes.js
|
|
test/js/bun/crypto/wpt-webcrypto.generateKey.test.ts
|
|
test/js/node/test/parallel/test-webcrypto-encrypt-decrypt.js
|
|
test/js/node/test/parallel/test-webcrypto-sign-verify.js
|
|
test/js/node/test/parallel/test-webcrypto-cryptokey-workers.js
|
|
test/js/node/test/parallel/test-crypto-oaep-zero-length.js
|
|
test/js/node/test/parallel/test-crypto-psychic-signatures.js
|
|
test/js/node/test/parallel/test-crypto-subtle-zero-length.js
|
|
test/js/node/test/parallel/test-crypto-worker-thread.js
|
|
test/js/node/test/parallel/test-crypto-webcrypto-aes-decrypt-tag-too-small.js
|
|
test/js/web/crypto/web-crypto.test.ts
|
|
test/js/node/crypto/node-crypto.test.js
|
|
test/js/third_party/pg/pg.test.ts
|
|
test/regression/issue/01466.test.ts
|
|
test/regression/issue/21311.test.ts |