supercov 2.0.1-x86_64-linux-gnu → 3.0.1-x86_64-linux-gnu

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +19 -22
  3. data/lib/supercov.rb +1 -1
  4. data/libexec/supercov +0 -0
  5. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 73748b44c6d1b5b9f020a0df7acc0f51cf77d21ad9004e144f241e9656d23694
4
- data.tar.gz: 910fe5b3111591a25c6e2addefe20c5da12d3fa75fecf13a9c650d53356ad543
3
+ metadata.gz: 6b7188b2f603145dbef58006fa854ce27783c34bc5f17e981753972aee72a97b
4
+ data.tar.gz: c6a3bda4a9439cbd1e6cf337326a07762f62cd1c8afd23d5f77b8adcf4f2536d
5
5
  SHA512:
6
- metadata.gz: 84290e10ffed3c993f0c121186f8eb3b52768dddc8e10670e6c829df46ba3b40253f251c4bbd932e05ec7f4b3e606947173b2fa4282efcacd48d08fe5166b989
7
- data.tar.gz: 4144ede9f1489085ccff05718451a71dc92c44d50feeedb6a472311991d20b8abaad0a18cdd679f7fd8ac4339085a410068e0dc61a992db1d88e37af0e7c255e
6
+ metadata.gz: 6e40e5a0bfcd370917d7a34913c3595ed4f95d94e4db939992f7133f80fb14518cdaeee34bf6d9c7d8a2f73ec77f0fc842d4f9a788022ed7d9880959beb2b443
7
+ data.tar.gz: 32ecb1541746783da33fdd44271a7baf3604191edb5a67198145edb835bc5473ef175fb131ae19e8379ae6920c8913f21e7ec0560379cd978927da20a8d393bb
data/README.md CHANGED
@@ -12,7 +12,7 @@ Measure code quality with npx supercov.
12
12
 
13
13
  Scoring needs a [TypeSafe AI](https://typesafe.ai) API key, and your coding agent will usually ask you for it. It costs about a cent per megabyte of source. Coverage needs no account, config file, import, custom reporter, or hosted service. Supercov is local, free, open source, and MIT licensed.
14
14
 
15
- [Website](https://supercov.com) · [Documentation](https://supercov.com/docs) · [npm](https://www.npmjs.com/package/supercov) · [GitHub](https://github.com/supercorp-ai/supercov)
15
+ [Website](https://supercov.com) · [Documentation](https://supercov.com/docs) · [npm](https://www.npmjs.com/package/supercov) · [GitHub](https://github.com/supercorp-ai/supercov) · [Discord](https://discord.gg/CudcAH53yF)
16
16
 
17
17
  Supported languages: [JavaScript](https://supercov.com/docs/javascript) · [TypeScript](https://supercov.com/docs/javascript) · [Rust](https://supercov.com/docs/rust) · [Python](https://supercov.com/docs/python) · [Ruby](https://supercov.com/docs/ruby) · [Go](https://supercov.com/docs/go) · [Java](https://supercov.com/docs/java) · [Kotlin](https://supercov.com/docs/kotlin).
18
18
 
@@ -141,30 +141,21 @@ npx supercov -- python -m unittest
141
141
  npx supercov -- bundle exec rspec
142
142
  ```
143
143
 
144
- ## Map what assertions check
144
+ ## See what the tests assert
145
145
 
146
- Each normal test run creates an assertion map automatically. An agent can
147
- optionally fill in what the assertions check:
146
+ Coverage says which code ran; assertion coverage says which of it the tests
147
+ would catch breaking. Supercov asks [Jev](https://typesafe.ai), test by test,
148
+ whether changing each statement the test ran would make it fail:
148
149
 
149
150
  ```sh
150
- npx supercov runs latest assertions --json
151
- # Pin the returned run ID. Inspect assertions and the source that ran:
152
- npx supercov runs <run> assertion <assertion-id>
153
- npx supercov runs <run> source src/example.ts
154
- # Edit assertions.json, then validate and acknowledge:
155
- npx supercov runs <run> assertions validate --json
156
- # Copy examined expectedBasis tokens into assertions.json; save again.
157
- npx supercov runs <run> assertions check --require-mappings --json
158
- npx supercov runs <run> # includes the assertion percentage in the regular report
151
+ npx supercov -- npm test
152
+ TYPESAFE_API_KEY=... npx supercov runs latest assertions assess
153
+ npx supercov runs latest assertions # the share asserted and what is not
159
154
  ```
160
155
 
161
- After code or tests change, run the same test command again. Supercov reuses the
162
- newest available map for that command and language and identifies dirty flows. Rust owns
163
- validation, change tracking and reporting; the agent supplies semantic reasoning.
164
- The score is agent-assessed and separate from MC/DC. See
165
- [assertion maps](docs/assertion-maps.md) for the format and JS/TS limits, or run
166
- `supercov docs assertion-agent` for the agent workflow. `supercov assertions schema`
167
- exports the editor schema; `assertions validate --file <path>` checks JSON syntax.
156
+ Answers are reused across runs whenever the question is the same, so after a
157
+ commit only what changed is asked again. Every language Supercov measures. See
158
+ [assertion coverage](docs/assertions.md).
168
159
 
169
160
  ## Give Supercov a job
170
161
 
@@ -313,9 +304,11 @@ Supercov uses exact per-test attribution where an adapter is available. For othe
313
304
  | --- | --- |
314
305
  | Playwright | Exact per test, worker, retry, outcome, action, and assertion phase |
315
306
  | Vitest | Exact per test, with setup execution kept separate |
316
- | Jest | Exact per test, including parameterized tests; exact `expect` occurrence identity for assertion maps |
307
+ | Jest | Exact per test, including parameterized tests |
317
308
  | `node:test` | Exact per test |
318
- | AVA and Mocha | Aggregate structural coverage |
309
+ | Mocha | Exact per test and retry, `--parallel` included |
310
+ | AVA | Exact per test, concurrent tests included |
311
+ | node-tap 15 and newer | Exact per subtest |
319
312
  | Cargo's standard libtest runner | Exact test, attempt, and passing-assertion identity |
320
313
  | rustdoc doctests | Exact per doctest |
321
314
  | cargo-nextest | Exact test, attempt, retry, and binary identity |
@@ -385,6 +378,10 @@ npx supercov runs clean # remove all runs and the build cache
385
378
 
386
379
  [MIT licensed](LICENSE). Inspect, extend, and run it anywhere.
387
380
 
381
+ ## Community
382
+
383
+ Ask questions, share what you measured, and talk to the people building Supercov on [Discord](https://discord.gg/CudcAH53yF).
384
+
388
385
  ## Contributors
389
386
 
390
387
  - [@DaVinciTachyon](https://github.com/DaVinciTachyon)
data/lib/supercov.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Supercov
4
- VERSION = "2.0.1"
4
+ VERSION = "3.0.1"
5
5
  end
data/libexec/supercov CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: supercov
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 3.0.1
5
5
  platform: x86_64-linux-gnu
6
6
  authors:
7
7
  - Supercorp
@@ -9,7 +9,8 @@ bindir: exe
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies: []
12
- description: The platform-native Supercov CLI, powered by the single Rust engine.
12
+ description: Runs the project's existing tests, measures line, branch and MC/DC coverage,
13
+ and points coding agents at untested code, security risks and code smells.
13
14
  email:
14
15
  - hello@supercorp.ai
15
16
  executables: