• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / etl / 29081800273
73%

Build:
DEFAULT BRANCH: main
Ran 10 Jul 2026 09:20AM UTC
Jobs 1
Files 259
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

10 Jul 2026 09:03AM UTC coverage: 72.753% (-0.2%) from 72.972%
29081800273

push

github

web-flow
feat(etl): Add scripted fault injection for destination tests (#893)

* feat(etl): Add destination fault injection test primitives

FaultInjector holds per-operation FIFO queues of scripted FaultAction
values (FailDispatch, FailResult, HoldResult, DelayResult). HoldGate and
HoldHandle let tests observe a held async result and release it with the
captured inner result or an injected error.

* feat(etl): Wire fault injection into TestDestinationWrapper

Each destination method consumes scripted faults: dispatch failures
return before the inner destination runs, result faults apply between
the inner result and the apply loop. startup is now forwarded to the
inner destination, and shutdown_called is recorded before faults so
tests can assert the invocation. Adds the first pipeline consumer:
destination_shutdown_error_is_returned_by_shutdown_and_wait.

* test(etl): Cover drop_table_for_copy failure on both channels

Dispatch failure leaves the inner destination untouched; result failure
applies the drop but the apply loop observes an error. Both leave the
table Errored with timed retry, keep schemas in the store, and recopy
cleanly on retry.

* ref(etl): Tighten fault test comments and docs

Single-line GIVEN/WHEN/THEN comments without marker decoration, variant
docs on FaultyOp, trimmed InjectedError doc.

* ref(etl): Rename fault actions to destination-behavior vocabulary

Reject, FailAfterWrite, HoldResponse, and RespondSlowly replace
FailDispatch, FailResult, HoldResult, and DelayResult. Document that
holds are indefinite and test-controlled unlike RespondSlowly, and
replace the Default derive on FaultInjector with the conventional
manual impl.

172 of 187 new or added lines in 2 files covered. (91.98%)

778 existing lines in 18 files now uncovered.

40672 of 55904 relevant lines covered (72.75%)

1643.17 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
93.29
crates/etl/src/test_utils/faults.rs
5
86.72
0.06% crates/etl/src/test_utils/test_destination_wrapper.rs

Coverage Regressions

Lines Coverage ∆ File
227
27.66
26.13% crates/etl-destinations/src/snowflake/client.rs
199
0.0
0.0% crates/etl-destinations/src/snowflake/streaming/channel.rs
101
92.17
-0.04% crates/etl-api/src/k8s/http.rs
95
19.54
-0.95% crates/etl-destinations/src/snowflake/core.rs
43
38.74
16.87% crates/etl-destinations/src/snowflake/streaming/rest_client.rs
33
0.0
0.0% crates/etl-destinations/src/snowflake/error.rs
18
11.86
0.0% crates/etl-api/src/config.rs
12
0.0
0.0% crates/etl-destinations/src/snowflake/metrics.rs
11
94.66
-0.53% crates/etl-destinations/src/snowflake/streaming/batch.rs
8
79.24
-1.17% crates/etl/src/error.rs
7
81.35
0.0% crates/etl-api/src/configs/pipeline.rs
7
88.74
-1.52% crates/etl/src/replication/table_sync/copy.rs
5
84.62
3.97% crates/etl-destinations/src/snowflake/streaming/offset_token.rs
4
83.94
0.66% crates/etl/src/replication/apply.rs
4
90.0
-1.08% crates/etl/src/runtime/table_sync/worker.rs
2
86.21
-1.38% crates/etl/src/replication/table_sync/mod.rs
1
88.46
-1.28% crates/etl/src/postgres/stream/events.rs
1
71.43
-1.3% crates/etl/src/runtime/table_sync/pool.rs
Jobs
ID Job ID Ran Files Coverage
1 29081800273.1 10 Jul 2026 09:20AM UTC 259
72.75
GitHub Action Run
Source Files on build 29081800273
  • Tree
  • List 259
  • Changed 23
  • Source Changed 12
  • Coverage Changed 23
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29081800273
  • 013b1c37 on github
  • Prev Build on main (#28941773881)
  • Next Build on main (#29085341271)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc