nebius/SWE-rebench-V2-PRs huggingface dataset:
Repository: pdm-project/pdm
Pull request #2830 (2024-04-17 14:10:35)

fix: do not trigger recursive script error on multiple invocations
## Pull Request Checklist

- [x] A news fragment is added in `news/` describing what is new.
- [x] Test cases added for changed code.

## Describe what you have changed in this PR.

For correctly determining script recursion, rather than just multiple invocations of the same task/command e.g. when using different arguments, pass a copy of the `seen` set when recursively calling the next (nested) run task.

Otherwise, when a parent composite recursively runs a child composite, the original `seen` set will get mutated, which means any further invocations of the same child composite in the parent scope will be blocked by the (incorrect) recursion error.

Fixes issue #2829 


Patch:
diff --git a/news/2829.bugfix.md b/news/2829.bugfix.md
new file mode 100644
index 00000000..1e9ab9d2
--- /dev/null
+++ b/news/2829.bugfix.md
@@ -0,0 +1,1 @@
+Fix recursive script detection on multiple invocations.
diff --git a/src/pdm/cli/commands/run.py b/src/pdm/cli/commands/run.py
index 4a368125..69f64f24 100644
--- a/src/pdm/cli/commands/run.py
+++ b/src/pdm/cli/commands/run.py
@@ -308,6 +308,7 @@ class TaskRunner:
             if task.kind == "composite":
                 if command in seen:
                     raise PdmUsageError(f"Script {command} is recursive.")
+                seen = seen.copy()
                 seen.add(command)
 
             self.hooks.try_emit("pre_script", script=command, args=args)


Test patch:
diff --git a/tests/cli/test_run.py b/tests/cli/test_run.py
index 1326cd13..e97e5c0f 100644
--- a/tests/cli/test_run.py
+++ b/tests/cli/test_run.py
@@ -670,7 +670,8 @@ def test_composite_fails_on_recursive_script(project, pdm):
         "first": {"composite": ["first"]},
         "second": {"composite": ["third"]},
         "third": {"composite": ["second"]},
-        "forth": {"composite": ["python -V", "python -V"]},
+        "fourth": {"composite": ["python -V", "python -V"]},
+        "fifth": {"composite": ["fourth", "fourth"]},
     }
     project.pyproject.write()
     result = pdm(["run", "first"], obj=project)
@@ -681,7 +682,10 @@ def test_composite_fails_on_recursive_script(project, pdm):
     assert result.exit_code == 1
     assert "Script second is recursive" in result.stderr
 
-    result = pdm(["run", "forth"], obj=project)
+    result = pdm(["run", "fourth"], obj=project)
+    assert result.exit_code == 0
+
+    result = pdm(["run", "fifth"], obj=project)
     assert result.exit_code == 0
Repository: graphql-java-kickstart/graphql-java-tools
Pull request #476 (2021-01-20 13:18:15)

Prevent to add PageInfo definition if not needed
<!-- Uncomment one of the following lines as necessary. -->
<!-- Fixes #<ISSUE_NUMBER> -->
<!-- Resolves #<ISSUE_NUMBER> -->

## Checklist
<!-- Change [ ] to [x] to indicate you acknowledge the check. -->
- [x] Pull requests follows the [contribution guide](https://github.com/graphql-java-kickstart/graphql-java-tools/wiki/Contribution-guide)
- [x] New or modified functionality is covered by tests

## Description
<!-- Briefly describe how you resolved the issue or a bug. -->
Prevent `RelayConnectionFactory` to do extra work and add new definition when not needed.

oryan-block: Can you provide an example schema where this is a problem?
I'm not sure I understand what we're trying  to solve here.
vojtapol: I believe the problem is that we are always adding some baked-in types to facilitate the relay `@connection` directive. If the users want to have their own type called `PageInfo` for whatever reason they can't because it clashes.

Patch:
diff --git a/src/main/kotlin/graphql/kickstart/tools/relay/RelayConnectionFactory.kt b/src/main/kotlin/graphql/kickstart/tools/relay/RelayConnectionFactory.kt
index 1e1b4bb..8ebabb7 100644
--- a/src/main/kotlin/graphql/kickstart/tools/relay/RelayConnectionFactory.kt
+++ b/src/main/kotlin/graphql/kickstart/tools/relay/RelayConnectionFactory.kt
@@ -6,12 +6,18 @@ import graphql.language.*
 class RelayConnectionFactory : TypeDefinitionFactory {
 
     override fun create(existing: MutableList<Definition<*>>): List<Definition<*>> {
+        val connectionDirectives = findConnectionDirectives(existing)
+        if (connectionDirectives.isEmpty()) {
+            // do not add Relay definitions unless needed
+            return emptyList()
+        }
+
         val definitions = mutableListOf<Definition<*>>()
         val definitionsByName = existing.filterIsInstance<TypeDefinition<*>>()
             .associateBy { it.name }
             .toMutableMap()
 
-        findConnectionDirectives(existing)
+        connectionDirectives
             .flatMap { createDefinitions(it) }
             .forEach {
                 if (!definitionsByName.containsKey(it.name)) {


Test patch:
diff --git a/src/test/kotlin/graphql/kickstart/tools/relay/RelayConnectionFactoryTest.kt b/src/test/kotlin/graphql/kickstart/tools/relay/RelayConnectionFactoryTest.kt
new file mode 100644
index 0000000..54dc3b0
--- /dev/null
+++ b/src/test/kotlin/graphql/kickstart/tools/relay/RelayConnectionFactoryTest.kt
@@ -0,0 +1,20 @@
+package graphql.kickstart.tools.relay
+
+import graphql.language.Definition
+import org.junit.Assert.assertEquals
+import org.junit.Test
+
+class RelayConnectionFactoryTest {
+
+    @Test
+    fun `should not add new definition when no @connection directive`() {
+        // setup
+        val factory = RelayConnectionFactory()
+        val existing = mutableListOf<Definition<*>>()
+
+        val newDefinitions = factory.create(existing)
+
+        // expect
+        assertEquals(newDefinitions.size, 0)
+    }
+}
Repository: pdm-project/pdm
Pull request #3320 (2024-11-29 08:29:27)

fix: no longer requires wheel to build
Signed-off-by: Frost Ming <me@frostming.com>

## Pull Request Checklist

- [ ] A news fragment is added in `news/` describing what is new.
- [ ] Test cases added for changed code.

## Describe what you have changed in this PR.



Patch:
diff --git a/news/3320.bugfix.md b/news/3320.bugfix.md
new file mode 100644
index 00000000..3e0a0043
--- /dev/null
+++ b/news/3320.bugfix.md
@@ -0,0 +1,2 @@
+No longer requires `wheel` to build a setuptools-backed package.
+```
diff --git a/src/pdm/builders/base.py b/src/pdm/builders/base.py
index 1281a378..beae8e8f 100644
--- a/src/pdm/builders/base.py
+++ b/src/pdm/builders/base.py
@@ -172,7 +172,7 @@ class EnvBuilder:
 
     DEFAULT_BACKEND: ClassVar[dict[str, Any]] = {
         "build-backend": "setuptools.build_meta:__legacy__",
-        "requires": ["setuptools >= 40.8.0", "wheel"],
+        "requires": ["setuptools>=61"],
     }
 
     _shared_envs: ClassVar[dict[int, str]] = {}
diff --git a/src/pdm/models/backends.py b/src/pdm/models/backends.py
index 3e6d6a45..0975c610 100644
--- a/src/pdm/models/backends.py
+++ b/src/pdm/models/backends.py
@@ -45,7 +45,7 @@ class SetuptoolsBackend(BuildBackend):
     @classmethod
     def build_system(cls) -> BuildSystem:
         return {
-            "requires": ["setuptools>=61", "wheel"],
+            "requires": ["setuptools>=61"],
             "build-backend": "setuptools.build_meta",
         }
 


Test patch:
diff --git a/tests/cli/test_init.py b/tests/cli/test_init.py
index 34e311a2..f697e948 100644
--- a/tests/cli/test_init.py
+++ b/tests/cli/test_init.py
@@ -71,7 +71,7 @@ def test_init_command_library(project_no_init, pdm, mocker):
             "readme": "README.md",
             "version": "0.1.0",
         },
-        "build-system": {"build-backend": "setuptools.build_meta", "requires": ["setuptools>=61", "wheel"]},
+        "build-system": {"build-backend": "setuptools.build_meta", "requires": ["setuptools>=61"]},
         "tool": {"pdm": {"distribution": True}},
     }
Repository: pdm-project/pdm
Pull request #3366 (2024-12-31 05:58:02)

Also use csh venv activation for tcsh
## Pull Request Checklist

- [x] A news fragment is added in `news/` describing what is new.
- [x] Test cases added for changed code.

## Describe what you have changed in this PR.

`shellingham.detect_shell()` returns `('tcsh', '/bin/tcsh')` for tcsh on FreeBSD, so the current code tries to use the Bash venv activation script and fails due to syntax error. This change fixes the issue.



Patch:
diff --git a/news/3366.bugfix.md b/news/3366.bugfix.md
new file mode 100644
index 00000000..6e773b93
--- /dev/null
+++ b/news/3366.bugfix.md
@@ -0,0 +1,1 @@
+`shellingham.detect_shell()` returns `('tcsh', '/bin/tcsh')` for tcsh on FreeBSD, so the current code tries to use the Bash venv activation script and fails due to syntax error. This change fixes the issue.
diff --git a/src/pdm/cli/commands/venv/activate.py b/src/pdm/cli/commands/venv/activate.py
index 08142ad1..a3bd99ee 100644
--- a/src/pdm/cli/commands/venv/activate.py
+++ b/src/pdm/cli/commands/venv/activate.py
@@ -48,7 +48,7 @@ class ActivateCommand(BaseCommand):
             shell = ""
         if shell == "fish":
             command, filename = "source", "activate.fish"
-        elif shell == "csh":
+        elif shell in ["csh", "tcsh"]:
             command, filename = "source", "activate.csh"
         elif shell in ["powershell", "pwsh"]:
             command, filename = ".", "Activate.ps1"


Test patch:
diff --git a/tests/cli/test_venv.py b/tests/cli/test_venv.py
index c1db2a77..41e2192a 100644
--- a/tests/cli/test_venv.py
+++ b/tests/cli/test_venv.py
@@ -141,6 +141,19 @@ def test_venv_activate(pdm, mocker, project):
             assert result.output.startswith("source")
 
 
+@pytest.mark.usefixtures("venv_backends")
+def test_venv_activate_tcsh(pdm, mocker, project):
+    project.project_config["venv.in_project"] = False
+    result = pdm(["venv", "create"], obj=project)
+    assert result.exit_code == 0, result.stderr
+    venv_path = re.match(r"Virtualenv (.+) is created successfully", result.output).group(1)
+    key = os.path.basename(venv_path)[len(get_venv_prefix(project)) :]
+
+    mocker.patch("shellingham.detect_shell", return_value=("tcsh", None))
+    result = pdm(["venv", "activate", key], obj=project)
+    assert result.output.startswith("source") and result.output.strip("'\"\n").endswith("activate.csh")
+
+
 @pytest.mark.usefixtures("venv_backends")
 def test_venv_activate_custom_prompt(pdm, mocker, project):
     project.project_config["venv.in_project"] = False
Repository: ember-cli/ember-cli
Pull request #9064 (2020-02-26 14:36:32)

consistently 'use strict'; for our node js files
right now some files have it and some don't


Patch:
diff --git a/blueprints/app/files/.eslintrc.js b/blueprints/app/files/.eslintrc.js
index 11921a10b..351c1fb27 100644
--- a/blueprints/app/files/.eslintrc.js
+++ b/blueprints/app/files/.eslintrc.js
@@ -1,3 +1,5 @@
+'use strict';
+
 module.exports = {
   root: true,
   parser: 'babel-eslint',


Test patch:
diff --git a/blueprints/app/files/testem.js b/blueprints/app/files/testem.js
index 02423c684..49f53feed 100644
--- a/blueprints/app/files/testem.js
+++ b/blueprints/app/files/testem.js
@@ -1,3 +1,5 @@
+'use strict';
+
 module.exports = {
   test_page: 'tests/index.html?hidepassed',
   disable_watching: true,
diff --git a/tests/fixtures/addon/.eslintrc.js b/tests/fixtures/addon/.eslintrc.js
index c4b7c4129..85a190092 100644
--- a/tests/fixtures/addon/.eslintrc.js
+++ b/tests/fixtures/addon/.eslintrc.js
@@ -1,3 +1,5 @@
+'use strict';
+
 module.exports = {
   root: true,
   parser: 'babel-eslint',
diff --git a/tests/fixtures/app/.eslintrc.js b/tests/fixtures/app/.eslintrc.js
index f2fa7e537..f3c9d4f26 100644
--- a/tests/fixtures/app/.eslintrc.js
+++ b/tests/fixtures/app/.eslintrc.js
@@ -1,3 +1,5 @@
+'use strict';
+
 module.exports = {
   root: true,
   parser: 'babel-eslint',
Repository: ember-cli/ember-cli
Pull request #9147 (2020-04-04 08:13:42)

Convert serve task to async await


Patch:
diff --git a/lib/tasks/serve.js b/lib/tasks/serve.js
index 91cb65f1d..64d7c7598 100644
--- a/lib/tasks/serve.js
+++ b/lib/tasks/serve.js
@@ -31,7 +31,7 @@ class ServeTask extends Task {
     this._builder = null;
   }
 
-  run(options) {
+  async run(options) {
     let hasBuild = !!options.path;
 
     if (hasBuild) {
@@ -88,12 +88,13 @@ class ServeTask extends Task {
     /* hang until the user exits */
     this._runDeferred = pDefer();
 
-    return expressServer.start(options).then(() => {
-      if (hasBuild) {
-        this.ui.writeLine(`– Serving on ${serveURL(options, this.project)}`);
-      }
-      return this._runDeferred.promise;
-    });
+    await expressServer.start(options);
+
+    if (hasBuild) {
+      this.ui.writeLine(`– Serving on ${serveURL(options, this.project)}`);
+    }
+
+    return this._runDeferred.promise;
   }
 
   /**
@@ -102,8 +103,9 @@ class ServeTask extends Task {
    * @private
    * @method onInterrupt
    */
-  onInterrupt() {
-    return this._builder.cleanup().then(() => this._runDeferred.resolve());
+  async onInterrupt() {
+    await this._builder.cleanup();
+    return this._runDeferred.resolve();
   }
 }
 


Test patch:
diff --git a/tests/unit/tasks/serve-test.js b/tests/unit/tasks/serve-test.js
index 7567cb942..d2a6d9f51 100644
--- a/tests/unit/tasks/serve-test.js
+++ b/tests/unit/tasks/serve-test.js
@@ -65,7 +65,7 @@ describe('serve task', function () {
 
   describe('run with path', function () {
     it(`Throws error if path doesn't exist`, function () {
-      expect(runServeTask.bind(this, 'xyz')).to.throw(
+      expect(runServeTask('xyz')).to.be.rejectedWith(
         'The path xyz does not exist. Please specify a valid build directory to serve.'
       );
     });
Repository: ember-cli/ember-cli
Pull request #9188 (2020-04-24 13:17:35)

Add Node 14 to CI


Patch:
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d67e603de..5000036cd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -54,7 +54,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        node-version: [10.x, 12.x, 13.x]
+        node-version: [10.x, 12.x, 13.x, 14.x]
         os: [ubuntu, macOS, windows]
 
     steps:
diff --git a/docs/node-support.md b/docs/node-support.md
index 9c1104727..225107425 100644
--- a/docs/node-support.md
+++ b/docs/node-support.md
@@ -16,6 +16,7 @@
 | 11.x             | 3.9.0 - 3.13.0               |
 | 12.x             | 3.10.0 - Current             |
 | 13.x             | 3.15.0 - Current             |
+| 14.x             | 3.19.0 - Current             |
 
 
 ## Design
@@ -35,6 +36,8 @@ Node.js](https://github.com/nodejs/LTS#lts_schedule).
   * Supported by ember-cli/ember-cli#master until: 2022-04-30.
 * v13: Released as stable (not an LTS)
   * Supported by ember-cli/ember-cli#master until: 2020-06-30.
+* v14: Released as stable version then converted to LTS.
+  * Supported by ember-cli/ember-cli#master until: 2023-04-30.
 
 ## Release Process and Support Policy
 


Test patch:
diff --git a/tests/unit/utilities/platform-checker-test.js b/tests/unit/utilities/platform-checker-test.js
index 534a4708d..a52591c78 100644
--- a/tests/unit/utilities/platform-checker-test.js
+++ b/tests/unit/utilities/platform-checker-test.js
@@ -18,7 +18,8 @@ describe('platform-checker', function() {
     check('v10.0.0', { isTested: true, isDeprecated: false, isValid: true });
     check('v12.0.0', { isTested: true, isDeprecated: false, isValid: true });
     check('v13.0.0', { isTested: true, isDeprecated: false, isValid: true });
-    check('v14.0.0', { isTested: false, isDeprecated: false, isValid: true });
+    check('v14.0.0', { isTested: true, isDeprecated: false, isValid: true });
+    check('v15.0.0', { isTested: false, isDeprecated: false, isValid: true });
   });
 
   it('checkIsDeprecated', function() {
Repository: ember-cli/ember-cli
Pull request #9323 (2020-09-08 16:31:32)

Remove errant ember-lts-3.12 scenario from CI configuration.
The backing scenario for this was removed in https://github.com/ember-cli/ember-cli/pull/9310, but the matrix build was not correspondingly updated ([leading to failures with the default CI setup for v3.21.0](https://travis-ci.org/github/ember-cli/ember-addon-output/builds/723142458)).


Patch:
diff --git a/blueprints/addon/files/.travis.yml b/blueprints/addon/files/.travis.yml
index eb3470fd1..4f9511e4b 100644
--- a/blueprints/addon/files/.travis.yml
+++ b/blueprints/addon/files/.travis.yml
@@ -51,7 +51,6 @@ jobs:
 
     # we recommend new addons test the current and previous LTS
     # as well as latest stable release (bonus points to beta/canary)
-    - env: EMBER_TRY_SCENARIO=ember-lts-3.12
     - env: EMBER_TRY_SCENARIO=ember-lts-3.16
     - env: EMBER_TRY_SCENARIO=ember-lts-3.20
     - env: EMBER_TRY_SCENARIO=ember-release


Test patch:
diff --git a/tests/fixtures/addon/defaults/.travis.yml b/tests/fixtures/addon/defaults/.travis.yml
index d62be9b09..156fd25fa 100644
--- a/tests/fixtures/addon/defaults/.travis.yml
+++ b/tests/fixtures/addon/defaults/.travis.yml
@@ -47,7 +47,6 @@ jobs:
 
     # we recommend new addons test the current and previous LTS
     # as well as latest stable release (bonus points to beta/canary)
-    - env: EMBER_TRY_SCENARIO=ember-lts-3.12
     - env: EMBER_TRY_SCENARIO=ember-lts-3.16
     - env: EMBER_TRY_SCENARIO=ember-lts-3.20
     - env: EMBER_TRY_SCENARIO=ember-release
diff --git a/tests/fixtures/addon/yarn/.travis.yml b/tests/fixtures/addon/yarn/.travis.yml
index 092bec4a8..3a7ed03cd 100644
--- a/tests/fixtures/addon/yarn/.travis.yml
+++ b/tests/fixtures/addon/yarn/.travis.yml
@@ -46,7 +46,6 @@ jobs:
 
     # we recommend new addons test the current and previous LTS
     # as well as latest stable release (bonus points to beta/canary)
-    - env: EMBER_TRY_SCENARIO=ember-lts-3.12
     - env: EMBER_TRY_SCENARIO=ember-lts-3.16
     - env: EMBER_TRY_SCENARIO=ember-lts-3.20
     - env: EMBER_TRY_SCENARIO=ember-release
Repository: ember-cli/ember-cli
Pull request #9327 (2020-09-10 15:11:33)

mention the new ember 3.16 minimum in the addon readme


Patch:
diff --git a/blueprints/addon/files/README.md b/blueprints/addon/files/README.md
index 881e5e70e..c229f9afd 100644
--- a/blueprints/addon/files/README.md
+++ b/blueprints/addon/files/README.md
@@ -7,7 +7,7 @@
 Compatibility
 ------------------------------------------------------------------------------
 
-* Ember.js v3.12 or above
+* Ember.js v3.16 or above
 * Ember CLI v2.13 or above
 * Node.js v10 or above
 


Test patch:
diff --git a/tests/fixtures/addon/defaults/README.md b/tests/fixtures/addon/defaults/README.md
index 955cce6cf..246839130 100644
--- a/tests/fixtures/addon/defaults/README.md
+++ b/tests/fixtures/addon/defaults/README.md
@@ -7,7 +7,7 @@ foo
 Compatibility
 ------------------------------------------------------------------------------
 
-* Ember.js v3.12 or above
+* Ember.js v3.16 or above
 * Ember CLI v2.13 or above
 * Node.js v10 or above
 
diff --git a/tests/fixtures/addon/yarn/README.md b/tests/fixtures/addon/yarn/README.md
index 955cce6cf..246839130 100644
--- a/tests/fixtures/addon/yarn/README.md
+++ b/tests/fixtures/addon/yarn/README.md
@@ -7,7 +7,7 @@ foo
 Compatibility
 ------------------------------------------------------------------------------
 
-* Ember.js v3.12 or above
+* Ember.js v3.16 or above
 * Ember CLI v2.13 or above
 * Node.js v10 or above
Repository: ember-cli/ember-cli
Pull request #9467 (2021-03-01 20:28:57)

defer tests warning
If you load your tests via `<script type="module">` (which is becoming possible under advanced scenarios with embroider), that implicitly acts like `<script defer>`, and it causes this check to run too early.

DOMContentLoaded fires after all the deferred scripts have finished.

rwjblue: 🤦 

Patch:
diff --git a/lib/utilities/ember-app-utils.js b/lib/utilities/ember-app-utils.js
index c4524f8a8..cf6e73202 100644
--- a/lib/utilities/ember-app-utils.js
+++ b/lib/utilities/ember-app-utils.js
@@ -129,7 +129,7 @@ function contentFor(config, match, type, options) {
       break;
     case 'test-body-footer':
       content.push(
-        `<script>Ember.assert('The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".', EmberENV.TESTS_FILE_LOADED);</script>`
+        `<script>document.addEventListener('DOMContentLoaded', function() { Ember.assert('The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".', EmberENV.TESTS_FILE_LOADED);});</script>`
       );
 
       break;


Test patch:
diff --git a/tests/unit/utilities/ember-app-utils-test.js b/tests/unit/utilities/ember-app-utils-test.js
index f4f87b74f..faafc3c4c 100644
--- a/tests/unit/utilities/ember-app-utils-test.js
+++ b/tests/unit/utilities/ember-app-utils-test.js
@@ -211,7 +211,7 @@ describe('ember-app-utils', function () {
         let output = contentFor(config, defaultMatch, 'test-body-footer', defaultOptions);
 
         expect(output, 'includes `<script>` tag').to.equal(
-          `<script>Ember.assert('The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".', EmberENV.TESTS_FILE_LOADED);</script>`
+          `<script>document.addEventListener('DOMContentLoaded', function() { Ember.assert('The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".', EmberENV.TESTS_FILE_LOADED);});</script>`
         );
       });
     });
Repository: ember-cli/ember-cli
Pull request #9490 (2021-03-19 14:25:04)

Prevent window.Ember deprecation on Ember 3.27+.
Accessing `window.Ember` (e.g. without importing) will issue a deprecation in Ember 3.27 and higher, and ultimately removed in Ember 4.



Patch:
diff --git a/lib/utilities/ember-app-utils.js b/lib/utilities/ember-app-utils.js
index cf6e73202..f3f31508e 100644
--- a/lib/utilities/ember-app-utils.js
+++ b/lib/utilities/ember-app-utils.js
@@ -129,7 +129,13 @@ function contentFor(config, match, type, options) {
       break;
     case 'test-body-footer':
       content.push(
-        `<script>document.addEventListener('DOMContentLoaded', function() { Ember.assert('The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".', EmberENV.TESTS_FILE_LOADED);});</script>`
+        `<script>
+document.addEventListener('DOMContentLoaded', function() {
+  if (!EmberENV.TESTS_FILE_LOADED) {
+    throw new Error('The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".');
+  }
+});
+</script>`
       );
 
       break;


Test patch:
diff --git a/tests/unit/utilities/ember-app-utils-test.js b/tests/unit/utilities/ember-app-utils-test.js
index faafc3c4c..8d76738cb 100644
--- a/tests/unit/utilities/ember-app-utils-test.js
+++ b/tests/unit/utilities/ember-app-utils-test.js
@@ -211,7 +211,13 @@ describe('ember-app-utils', function () {
         let output = contentFor(config, defaultMatch, 'test-body-footer', defaultOptions);
 
         expect(output, 'includes `<script>` tag').to.equal(
-          `<script>document.addEventListener('DOMContentLoaded', function() { Ember.assert('The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".', EmberENV.TESTS_FILE_LOADED);});</script>`
+          `<script>
+document.addEventListener('DOMContentLoaded', function() {
+  if (!EmberENV.TESTS_FILE_LOADED) {
+    throw new Error('The tests file was not loaded. Make sure your tests index.html includes "assets/tests.js".');
+  }
+});
+</script>`
         );
       });
     });