Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

specFilter causes timeout with large amount of tests #302

Closed
joonass-visma opened this issue Feb 15, 2022 · 1 comment · Fixed by #321
Closed

specFilter causes timeout with large amount of tests #302

joonass-visma opened this issue Feb 15, 2022 · 1 comment · Fixed by #321

Comments

@joonass-visma
Copy link

Hi!

We are using karma+jasmine+webpack+Chrome to run our tests and our project has large amount of tests (almost 60000 atm). When trying to use the latest version (v4.0.1 atm), the following is happening for us:

  1. Start running tests and let it run fully through, this goes fine.
  2. Change something in test file and save.
  3. Wait for tests to start running again.
  4. After a moment we get following error:

DisconnectedClient disconnected from CONNECTED state (ping timeout)

After trying out different versions I found out that the last karma-jasmine version that works for us without timeouting is v3.0.3. Then I checked what is different in v3.1.0 and it's the specFilter which is set for jasmine in adapter.js:

jasmineConfig.specFilter = createSpecFilter(clientConfig, jasmineEnv)

Eventually specFilter is calling KarmaSpecFilter.matches which seems to be not performing well with large amount of tests, i.e. this line of code here:

return this.specIdsToRun.indexOf(spec.id) !== -1

Reducing the amount of tests to run or removing the specFilter seems to solve the issue so this line must be the problem here.

So is there any plans to fix this somehow or is there any workaround for this since we are basically now stuck with v3.0.3 because of this issue.

@Havunen
Copy link
Contributor

Havunen commented Feb 15, 2022

Changing data structure in the shown source code from array toSet should result great performance improvement.

karmarunnerbot pushed a commit that referenced this issue May 13, 2022
## [5.0.1](v5.0.0...v5.0.1) (2022-05-13)

### Bug Fixes

* fixes matches performance issue, github[#302](#302) ([e964fa6](e964fa6))
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this issue May 13, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [karma-jasmine](https://github.com/karma-runner/karma-jasmine) | devDependencies | patch | [`5.0.0` -> `5.0.1`](https://renovatebot.com/diffs/npm/karma-jasmine/5.0.0/5.0.1) |

---

### Release Notes

<details>
<summary>karma-runner/karma-jasmine</summary>

### [`v5.0.1`](https://github.com/karma-runner/karma-jasmine/blob/HEAD/CHANGELOG.md#&#8203;501-httpsgithubcomkarma-runnerkarma-jasminecomparev500v501-2022-05-13)

[Compare Source](karma-runner/karma-jasmine@v5.0.0...v5.0.1)

##### Bug Fixes

-   fixes matches performance issue, github[#&#8203;302](karma-runner/karma-jasmine#302) ([e964fa6](karma-runner/karma-jasmine@e964fa6))

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1352
Reviewed-by: crapStone <crapstone@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
nicojs pushed a commit to nicojs/karma-jasmine that referenced this issue May 29, 2022
## [5.0.1](karma-runner/karma-jasmine@v5.0.0...v5.0.1) (2022-05-13)

### Bug Fixes

* fixes matches performance issue, github[karma-runner#302](karma-runner#302) ([e964fa6](karma-runner@e964fa6))
crapStone pushed a commit to Calciumdibromid/CaBr2 that referenced this issue Jun 17, 2022
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [karma-jasmine](https://github.com/karma-runner/karma-jasmine) | devDependencies | minor | [`5.0.1` -> `5.1.0`](https://renovatebot.com/diffs/npm/karma-jasmine/5.0.1/5.1.0) |

---

### Release Notes

<details>
<summary>karma-runner/karma-jasmine</summary>

### [`v5.1.0`](https://github.com/karma-runner/karma-jasmine/blob/HEAD/CHANGELOG.md#&#8203;510-httpsgithubcomkarma-runnerkarma-jasminecomparev501v510-2022-06-16)

[Compare Source](karma-runner/karma-jasmine@v5.0.1...v5.1.0)

##### Features

-   **spec-filter:** allow custom specFilter ([b73dbd6](karma-runner/karma-jasmine@b73dbd6))

#### [5.0.1](karma-runner/karma-jasmine@v5.0.0...v5.0.1) (2022-05-13)

##### Bug Fixes

-   fixes matches performance issue, github[#&#8203;302](karma-runner/karma-jasmine#302) ([e964fa6](karma-runner/karma-jasmine@e964fa6))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

Co-authored-by: cabr2-bot <cabr2.help@gmail.com>
Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1422
Reviewed-by: 6543 <6543@noreply.codeberg.org>
Co-authored-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Co-committed-by: Calciumdibromid Bot <cabr2_bot@noreply.codeberg.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants