diff --git a/packages/svelte/tests/runtime-legacy/samples/component-not-constructor2/_config.js b/packages/svelte/tests/runtime-legacy/samples/component-not-constructor2/_config.js index f730e431eb..ce75906162 100644 --- a/packages/svelte/tests/runtime-legacy/samples/component-not-constructor2/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/component-not-constructor2/_config.js @@ -1,6 +1,11 @@ import { test } from '../../test'; export default test({ + compileOptions: { + // override process.env.HMR — this test only passes in prod mode because in dev mode we generate a helpful error + dev: false + }, + get props() { return { componentName: 'Sub' }; }, diff --git a/packages/svelte/tests/runtime-legacy/shared.ts b/packages/svelte/tests/runtime-legacy/shared.ts index 2e540aefed..8769be7504 100644 --- a/packages/svelte/tests/runtime-legacy/shared.ts +++ b/packages/svelte/tests/runtime-legacy/shared.ts @@ -138,11 +138,13 @@ export function runtime_suite(runes: boolean) { } async function common_setup(cwd: string, runes: boolean | undefined, config: RuntimeTest) { + const force_hmr = process.env.HMR && config.compileOptions?.dev !== false && !config.error; + const compileOptions: CompileOptions = { generate: 'client', rootDir: cwd, - dev: process.env.HMR ? true : undefined, - hmr: process.env.HMR ? true : undefined, + dev: force_hmr ? true : undefined, + hmr: force_hmr ? true : undefined, ...config.compileOptions, immutable: config.immutable, accessors: 'accessors' in config ? config.accessors : true, diff --git a/packages/svelte/tests/runtime-runes/samples/bind-this-proxy/_config.js b/packages/svelte/tests/runtime-runes/samples/bind-this-proxy/_config.js index c07f8d05a4..3a1ca8b26c 100644 --- a/packages/svelte/tests/runtime-runes/samples/bind-this-proxy/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/bind-this-proxy/_config.js @@ -2,6 +2,11 @@ import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ + compileOptions: { + // override process.env.HMR — this test only passes in prod mode, because in dev we add `$destroy` methods etc + dev: false + }, + html: `
Hello\nworld
`, async test({ assert, target, logs }) {