Skip to content

Testing/kalman core - #125

Merged
GeorgePearse merged 6 commits into
masterfrom
testing/kalman-core
Oct 25, 2025
Merged

Testing/kalman core#125
GeorgePearse merged 6 commits into
masterfrom
testing/kalman-core

Conversation

@GeorgePearse

Copy link
Copy Markdown
Owner

No description provided.

- Add pytest configuration with markers (unit, integration, slow, benchmark, property, numerical)
- Add testing_utils package with:
  - fixtures.py: Reusable Kalman filter configurations (KF, EKF, UKF)
  - numerical.py: Analytical solutions (ConstantVelocity, ConstantAcceleration, LinearSystem)
  - helpers.py: Test assertion utilities (PSD, symmetry, stability, convergence)
- Add conftest.py with fixture re-exports and pytest plugins
- Update pyproject.toml with dev dependencies and coverage configuration
- Add TESTING_PLAN.md with 6-branch testing strategy and 400-550 test goals
- Add coverage and benchmark test infrastructure
- Add test-coverage.yml workflow for CI/CD with coverage reporting
- Support testing on Python 3.9, 3.10, 3.11, 3.12
- Include performance benchmarking and code quality checks
- Add TESTING.md user guide for running tests and using utilities
- Add 28 comprehensive tests for KalmanFilter covering:
  - Analytical solutions: constant velocity, acceleration, 2D tracking
  - Property-based invariants: covariance symmetry, PSD, finiteness
  - Edge cases: zero noise, outliers, dimension mismatches, extreme values
  - Numerical stability: 100/1000 iteration runs, ill-conditioned systems
- Tests use Hypothesis for property-based testing with fixtures
- All tests pass and validate filter correctness and robustness
…ts and use latest action versions

- Update Python test matrix from 3.9-3.12 to 3.11-3.12 to match project's requires-python >= 3.11
- Upgrade actions/upload-artifact from v3 to v4 (fixes deprecation warning)
- Upgrade codecov/codecov-action from v3 to v4
- Update all actions/setup-python from v4 to v5 for consistency and latest features
- These changes resolve CI failures in the Test Coverage and Quality workflow
This setting allows coverage to properly handle file paths across different environments,
resolving the 'No source for code' error in CI workflows.
@github-actions

Copy link
Copy Markdown
Contributor

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  bayesian_filters/testing_utils
  fixtures.py 30-33, 37-38, 42, 123-156, 167-189, 211, 231-234
  helpers.py 61, 82-85, 88, 91, 108-110, 130-132, 153-156, 160-161, 182-192, 210-218
  numerical.py 60, 111, 139-141, 161, 181, 212-230
Project Total  

This report was generated by python-coverage-comment-action

Resolve conflicts by combining dev dependencies:
- Keep testing-specific dependencies from testing/kalman-core
  (hypothesis, pytest-benchmark, pytest-xdist, pytest-mpl)
- Add zuban from master for type checking support
- Include TYPE_ANNOTATIONS.md guide from master
- Remove UPSTREAM_ISSUES.md as done on master
@GeorgePearse
GeorgePearse merged commit 2e15b5b into master Oct 25, 2025
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant