Commit Graph

5 Commits

Author SHA1 Message Date
Yuzviak bf5b0e3ae2 fix(lint): resolve all ruff E402/I001/F821 errors
- Move pytestmark after all imports in 35 test files (E402: not-at-top)
- Add TYPE_CHECKING guard for FlightProcessor in composition.py (F821)
- Sort import blocks in src/ and tests/ (I001 auto-fix via ruff --fix)
- ruff check src/ tests/ now exits 0 with no errors

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-11 19:13:42 +03:00
Yuzviak 6a1cd513a7 feat(02-04): decorate 7 test files with @pytest.mark.ac markers
- test_acceptance.py: 8 decorators (AC-1.1, AC-2.1a, AC-3.3, AC-3.4, AC-4.1, AC-4.4, AC-1.4)
- test_accuracy.py: 11 decorators (AC-1.1, AC-1.2, AC-1.3, AC-2.1a, AC-2.2, AC-4.1)
- test_processor_pipe.py: 2 decorators (AC-4.4, AC-1.4)
- test_gps_input_encoding.py: module-level pytestmark for AC-4.3 (13 tests)
- test_sitl_integration.py: 9 decorators (AC-4.3, AC-4.4, AC-NEW-2, AC-5.2, AC-3.4)
- test_mavlink.py: 5 decorators (AC-4.3, AC-5.2, AC-3.4)
- test_schemas.py: 2 class-level decorators (AC-6.3, AC-6.3)
- 14 non-deferred ACs covered; 45 tests collected under -m ac
2026-05-11 18:25:52 +03:00
Yuzviak 5744ff65ac feat(02-03): apply module-level pytestmark to 37 test files
- Add pytestmark = [pytest.mark.<category>] to all 23 root test files and 14 e2e test files
- Marker distribution: 22 unit, 7 integration, 1 blackbox, 1 sitl, 5 e2e + 2 e2e integration
- Add import pytest to test_models.py, test_download.py, test_synthetic_adapter.py (were missing)
- Convert test_sitl_integration.py's bare pytestmark to list form preserving skipif guard
- Union of all 5 markers = 298/298 = 100% coverage; 216 tests pass with --strict-markers
2026-05-11 18:20:05 +03:00
Yuzviak 84e2f048e3 fix(lint): ruff --fix import ordering in new test files
CI lint job flagged I001 (un-sorted imports) in:
- tests/test_gps_input_encoding.py (top-level)
- tests/test_vo.py (2 inline imports in new mono_depth tests)

Applied ruff --fix: stdlib / third-party / first-party blocks with correct
blank-line separators.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 16:41:41 +03:00
Yuzviak 44f96d6d2d test(mavlink): add GPS_INPUT field encoding unit tests
12 tests verify _eskf_to_gps_input produces MAVLink #232-compliant fields:
- lat/lon: int × 1e7 (degE7)
- ENU→NED velocity conversion
- satellites_visible=10 synthetic (prevents ArduPilot failsafe)
- ConfidenceTier → fix_type mapping (HIGH/MEDIUM=3, LOW/FAILED=0)
- Accuracy from covariance, hdop/vdop floor clamp

Pure unit tests — no SITL/docker dependency.
Ref: docs/superpowers/specs/2026-04-18-oss-stack-tech-audit-design.md §6

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 16:24:38 +03:00