docs: Update Phase 0 with specific test fix requirements
Per ADR-012, Phase 0 now specifies: - 5 tests to REMOVE (broken multiprocessing) - 4 tests to FIX (brittle assertions) - 1 test to RENAME (misleading name) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -22,27 +22,42 @@ v1.5.0 is a quality-focused release that addresses failing tests, increases test
|
||||
**Priority**: Must complete first - unblocks all other phases
|
||||
|
||||
#### Scope
|
||||
Fix the 19 failing tests identified in the current test suite:
|
||||
Address flaky and broken tests per ADR-012 (Flaky Test Removal):
|
||||
|
||||
| Category | Count | Tests |
|
||||
|----------|-------|-------|
|
||||
| Migration Performance | 2 | `test_single_worker_performance`, `test_concurrent_workers_performance` |
|
||||
| Feed Route (Streaming) | 1 | `test_feed_route_streaming` |
|
||||
| Feed Endpoints | 3 | `test_feed_rss_endpoint`, `test_feed_json_endpoint`, `test_feed_xml_legacy_endpoint` |
|
||||
| Content Negotiation | 6 | `test_accept_rss`, `test_accept_json_feed`, `test_accept_json_generic`, `test_accept_wildcard`, `test_no_accept_header`, `test_quality_factor_json_wins` |
|
||||
| Backward Compatibility | 1 | `test_feed_xml_contains_rss` |
|
||||
| Search Security | 1 | `test_search_escapes_html_in_note_content` |
|
||||
**REMOVE (5 tests)** - Architecturally broken multiprocessing tests:
|
||||
| Test | Reason |
|
||||
|------|--------|
|
||||
| `test_concurrent_workers_barrier_sync` | Cannot pickle Barrier objects |
|
||||
| `test_sequential_worker_startup` | Missing Flask app context |
|
||||
| `test_worker_late_arrival` | Missing Flask app context |
|
||||
| `test_single_worker_performance` | Cannot pickle local functions |
|
||||
| `test_concurrent_workers_performance` | Cannot pickle local functions |
|
||||
|
||||
**FIX (4 tests)** - Valuable tests needing adjustments:
|
||||
| Test | Fix Required |
|
||||
|------|--------------|
|
||||
| `test_debug_level_for_early_retries` | Configure logger level in test |
|
||||
| `test_new_connection_per_retry` | Adjust assertion count |
|
||||
| Feed XML tests | Change `<?xml version="1.0"` to `<?xml version=` (don't assert quote style) |
|
||||
| `test_feed_json_endpoint` | Don't require charset in Content-Type |
|
||||
|
||||
**RENAME (1 test)**:
|
||||
| Test | New Name |
|
||||
|------|----------|
|
||||
| `test_feed_route_streaming` | `test_feed_route_caching` (test is correct, name misleading) |
|
||||
|
||||
#### Approach
|
||||
1. Investigate each failing test category
|
||||
2. Determine if failure is test issue or code issue
|
||||
3. Fix appropriately (prefer fixing tests over changing working code)
|
||||
4. Document any behavioral changes
|
||||
1. Remove the 5 broken multiprocessing tests (they cannot work due to Python limitations)
|
||||
2. Fix the brittle feed assertion tests (check semantics, not quote style)
|
||||
3. Fix the 4 migration tests that have value but need mock/assertion adjustments
|
||||
4. Rename misleading test
|
||||
5. Document changes in implementation report
|
||||
|
||||
#### Acceptance Criteria
|
||||
- [ ] All 879 tests pass
|
||||
- [ ] No test skips added (unless justified)
|
||||
- [ ] No test timeouts
|
||||
- [ ] All remaining tests pass consistently (run 3x to verify no flakiness)
|
||||
- [ ] 5 broken tests removed with justification in ADR-012
|
||||
- [ ] No new test skips added
|
||||
- [ ] Test count reduced from 879 to 874
|
||||
|
||||
#### Dependencies
|
||||
None - this is the first phase
|
||||
|
||||
Reference in New Issue
Block a user