Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
92849fe
build: drop lib target so unit tests compile and run once
musingfox Oct 1, 2026
fcddd37
test: gate network and audio tests behind ignore, move hermetic CLI t…
musingfox Oct 1, 2026
d03f475
ci: run default and e2e test tiers separately
musingfox Oct 1, 2026
0399b39
test: clear every API key env var in tts fallback test
musingfox Oct 1, 2026
6a9a5b9
test: move offline e2e tests into hermetic cli tier
musingfox Oct 1, 2026
8cc9058
test: remove tests that assert copied logic
musingfox Oct 1, 2026
afdf7f6
test: remove derive and default-literal tests
musingfox Oct 1, 2026
3e3d5fc
test: merge duplicate provider cases into table-driven tests
musingfox Oct 1, 2026
eebdc0c
build: drop unused mockito
musingfox Oct 1, 2026
faf134d
refactor(pipeline): extract fallback loops for injection
musingfox Oct 1, 2026
d4b4081
test(pipeline): cover LLM and TTS fallback switching
musingfox Oct 1, 2026
50d90d2
test(queue): cover lock contention timeout and release
musingfox Oct 1, 2026
b115004
test(tts): cover required-field errors for google, cloud_tts, xai and…
musingfox Oct 1, 2026
818b959
test(cli): cover stop hook summarization, SUMVOX_DISABLE and generic …
musingfox Oct 1, 2026
46f682b
refactor(llm): extract OpenAI request building into build_request
musingfox Oct 1, 2026
85a391b
test(llm): drive OpenAI wire-format test through build_request
musingfox Oct 1, 2026
5d83553
test(tts): cover espeak and piper estimate_cost
musingfox Oct 1, 2026
506ea95
test(tts): assert piper factory builds the provider with the resolved…
musingfox Oct 1, 2026
96ca60d
chore(config): drop orphan test section header
musingfox Oct 1, 2026
a036ed6
ci: run ignored audio playback tests in the e2e job
musingfox Oct 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 8 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,7 @@ jobs:
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}

- name: Run tests
run: cargo test --lib --bins --verbose

- name: Run tests with all features
run: cargo test --lib --bins --all-features --verbose
run: cargo test --verbose

e2e:
name: E2E
Expand All @@ -103,6 +100,12 @@ jobs:
- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Run audio playback tests
env:
SDL_AUDIODRIVER: dummy
run: "cargo test --bins --verbose -- --ignored audio:: tts::"
timeout-minutes: 10

- name: Write E2E config
env:
E2E_CONFIG: ${{ secrets.E2E_CONFIG }}
Expand All @@ -118,7 +121,7 @@ jobs:
E2E_CONFIG: ${{ secrets.E2E_CONFIG }}
SDL_AUDIODRIVER: dummy
if: env.E2E_CONFIG != ''
run: cargo test --test e2e --verbose
run: cargo test --test e2e --verbose -- --ignored
timeout-minutes: 10

build:
Expand Down
1 change: 0 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ Be respectful, constructive, and collaborative. We're all here to build better t
sumvox/
├── src/
│ ├── main.rs # Entry point and hook orchestration
│ ├── lib.rs # Library surface shared with the integration tests
│ ├── cli.rs # CLI argument parsing
│ ├── config.rs # Configuration loading, migration and saving
│ ├── pipeline.rs # Shared summarize -> speak flow (say / sum / json / hooks)
Expand Down
172 changes: 2 additions & 170 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 0 additions & 5 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ rand = "0.8"
jsonwebtoken = "9"

[dev-dependencies]
mockito = "1"
tempfile = "3"
assert_cmd = "2"
predicates = "3"
Expand All @@ -44,10 +43,6 @@ panic = "abort"
strip = true
opt-level = "z" # Optimize for size

[lib]
name = "sumvox"
path = "src/lib.rs"

[[bin]]
name = "sumvox"
path = "src/main.rs"
6 changes: 5 additions & 1 deletion justfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,14 @@
default:
@just --list

# Run all tests
# Run unit and component tests (offline, silent)
test:
cargo test

# Run e2e tests (needs config/e2e_test.toml, hits real APIs, plays audio)
test-e2e:
cargo test --test e2e -- --ignored

# Run tests with output
test-verbose:
cargo test -- --nocapture
Expand Down
Loading
Loading