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

fix(coverage): throw error if fail to load built-in provider #3217

Merged

Conversation

AriPerkkio
Copy link
Member

@AriPerkkio AriPerkkio commented Apr 20, 2023

In the issue's reproduction case the @vitest/coverage-c8 does not provide default export which causes coverageModule to be undefined. This makes core.ts to think that coverage is disabled.
As solution we should fail whole process if default export is missing.

@stackblitz
Copy link

stackblitz bot commented Apr 20, 2023

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@AriPerkkio AriPerkkio force-pushed the fix/error-if-missing-coverage-package branch from 584a12d to ad0c81f Compare April 21, 2023 04:57
@sheremet-va sheremet-va merged commit 0a2875e into vitest-dev:main Apr 21, 2023
17 checks passed
@AriPerkkio AriPerkkio deleted the fix/error-if-missing-coverage-package branch April 21, 2023 06:12
renovate bot added a commit to dermoumi/crafts that referenced this pull request May 3, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[@vitest/coverage-istanbul](https://togithub.com/vitest-dev/vitest/tree/main/packages/coverage-istanbul#readme)
([source](https://togithub.com/vitest-dev/vitest)) | [`^0.30.1` ->
`^0.31.0`](https://renovatebot.com/diffs/npm/@vitest%2fcoverage-istanbul/0.30.1/0.31.0)
|
[![age](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/compatibility-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/@vitest%2fcoverage-istanbul/0.31.0/confidence-slim/0.30.1)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vitest-dev/vitest</summary>

###
[`v0.31.0`](https://togithub.com/vitest-dev/vitest/releases/tag/v0.31.0)

[Compare
Source](https://togithub.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

#####    🚨 Breaking Changes

- Update mock implementation to support ESM runtime, introduce
"vi.hoisted"  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3258
[<samp>(0c09a)</samp>](https://togithub.com/vitest-dev/vitest/commit/0c09a40d)
- Bypass ESM import order restriction with `vi.hoisted` to run code
before imports are executed:
    ```ts
    vi.hoisted(() => vi.setSystemTime(new Date(2022, 1, 1)))
    ```
    You can also use it to pass variables to `vi.mock`:
    ```ts
    const { mockedMethod } = vi.hoisted(() => {
      return { mockedMethod: vi.fn() }
    })   
    vi.mocked('./path/to/module.js', () => {
      return { originalMethod: mockedMethod }
    })
    ```
- Move assertion declarations to expect package  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3294
[<samp>(cf3af)</samp>](https://togithub.com/vitest-dev/vitest/commit/cf3afe2b)

    -   The change should be minor:

    ```diff
    - declare namespace Vi {
    + declare module '@&#8203;vitest/expect' {
       interface Assertion<T = any> extends CustomMatchers<T> {}
       interface AsymmetricMatchersContaining extends CustomMatchers {}
    }
    ```

#####    🚀 Features

- Add repeat method to tests  -  by
[@&#8203;samkevin1](https://togithub.com/samkevin1) in
[vitest-dev/vitest#2652
[<samp>(7c8f0)</samp>](https://togithub.com/vitest-dev/vitest/commit/7c8f0ba9)
- Add an option to hide skipped test lines  -  by
[@&#8203;g4rry420](https://togithub.com/g4rry420) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#2745
[<samp>(9bdb1)</samp>](https://togithub.com/vitest-dev/vitest/commit/9bdb1603)
- **coverage**: Watermarks for c8  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#3254
[<samp>(730af)</samp>](https://togithub.com/vitest-dev/vitest/commit/730af0b4)
- **ui**: Add html coverage  -  by
[@&#8203;userquin](https://togithub.com/userquin) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3071
[<samp>(e24cd)</samp>](https://togithub.com/vitest-dev/vitest/commit/e24cd9b2)
- **watch**: Test run cancelling, feat: `--bail` option for cancelling
test run  -  by [@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#3163
[<samp>(8d460)</samp>](https://togithub.com/vitest-dev/vitest/commit/8d4606eb)

#####    🐞 Bug Fixes

- Don't call global setup teardown twice  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3188
[<samp>(ba3d1)</samp>](https://togithub.com/vitest-dev/vitest/commit/ba3d1338)
- Reporter to log version before provider initalizations  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#3131
[<samp>(481b1)</samp>](https://togithub.com/vitest-dev/vitest/commit/481b1fd2)
- Throw an error if Vitest cannot access its internal state  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3250
[<samp>(fbb14)</samp>](https://togithub.com/vitest-dev/vitest/commit/fbb1468e)
- Warning suppression broken  -  by
[@&#8203;IceQub3](https://togithub.com/IceQub3) in
[vitest-dev/vitest#3270
and
[vitest-dev/vitest#3271
[<samp>(036de)</samp>](https://togithub.com/vitest-dev/vitest/commit/036de797)
- Show correct diff in "toHaveBeenCalledWith"  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3289
[<samp>(19fcd)</samp>](https://togithub.com/vitest-dev/vitest/commit/19fcd8df)
- Don't print esm warning, if package name is not found  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3292
[<samp>(62c14)</samp>](https://togithub.com/vitest-dev/vitest/commit/62c14cba)
- Support exactOptionalPropertyTypes  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3293
[<samp>(ba81d)</samp>](https://togithub.com/vitest-dev/vitest/commit/ba81d8a3)
- Don't inline vite hmr and rollup types  -  by
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3291
[<samp>(1f118)</samp>](https://togithub.com/vitest-dev/vitest/commit/1f1189bc)
-   **browser**:
- Failing to load vitest/utils  -  by
[@&#8203;userquin](https://togithub.com/userquin) in
[vitest-dev/vitest#3190
[<samp>(78bad)</samp>](https://togithub.com/vitest-dev/vitest/commit/78bad4ab)
-   **coverage**:
- `thresholdAutoUpdate` to work with `perFile`  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#3182
[<samp>(29eeb)</samp>](https://togithub.com/vitest-dev/vitest/commit/29eebf65)
- Throw error if fail to load built-in provider  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#3217
[<samp>(0a287)</samp>](https://togithub.com/vitest-dev/vitest/commit/0a2875e3)
- Stackblitz hangs with c8  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#3225
[<samp>(d9fda)</samp>](https://togithub.com/vitest-dev/vitest/commit/d9fda2a1)
- C8 to ignore vite's generated helpers  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#3241
[<samp>(21942)</samp>](https://togithub.com/vitest-dev/vitest/commit/21942db0)
- Workspaces c8 source maps  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#3226
[<samp>(efce3)</samp>](https://togithub.com/vitest-dev/vitest/commit/efce3b4d)
-   **docs**:
- Correct typo and broken link to WebdriverIO  -  by
[@&#8203;nathanbabcock](https://togithub.com/nathanbabcock) in
[vitest-dev/vitest#3275
[<samp>(c7da1)</samp>](https://togithub.com/vitest-dev/vitest/commit/c7da155f)
-   **spy**:
- Update to set initial implementation through normal logic  -  by
[@&#8203;Codex-](https://togithub.com/Codex-) in
[vitest-dev/vitest#3260
and
[vitest-dev/vitest#3263
[<samp>(c759a)</samp>](https://togithub.com/vitest-dev/vitest/commit/c759a9aa)
-   **vite-node**:
- Circular imports  -  by [@&#8203;antfu](https://togithub.com/antfu) in
[vitest-dev/vitest#3196
[<samp>(cbb59)</samp>](https://togithub.com/vitest-dev/vitest/commit/cbb593a8)
- Add missing `import.meta.hot.send` mock  -  by
[@&#8203;antfu](https://togithub.com/antfu)
[<samp>(b1624)</samp>](https://togithub.com/vitest-dev/vitest/commit/b1624db5)
-   **vitest**:
- Also check for vite relative to vitest package  -  by
[@&#8203;JoshuaKGoldberg](https://togithub.com/JoshuaKGoldberg) and
[@&#8203;sheremet-va](https://togithub.com/sheremet-va) in
[vitest-dev/vitest#3274
[<samp>(a3393)</samp>](https://togithub.com/vitest-dev/vitest/commit/a3393b15)
-   **watch**:
- Run test files when added to filesystem  -  by
[@&#8203;AriPerkkio](https://togithub.com/AriPerkkio) in
[vitest-dev/vitest#3189
[<samp>(7b2c8)</samp>](https://togithub.com/vitest-dev/vitest/commit/7b2c81bc)

#####     [View changes on
GitHub](https://togithub.com/vitest-dev/vitest/compare/v0.30.1...v0.31.0)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **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, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/dermoumi/crafts).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS42OS4zIiwidXBkYXRlZEluVmVyIjoiMzUuNjkuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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 this pull request may close these issues.

Vitest ignores coverage tresholds if reports fail to be created
2 participants