Commit Graph

106 Commits

Author SHA1 Message Date
3b136dca69 Implement PDF renderer with WeasyPrint 2026-01-29 17:58:23 +00:00
5405ceec7f Implement HTML renderer with Jinja2 2026-01-29 17:58:02 +00:00
01d8295512 Add test report HTML template 2026-01-29 17:57:36 +00:00
3a8e6becf1 Add base HTML report template 2026-01-29 17:57:15 +00:00
af3116a025 Add professional CSS stylesheet for reports 2026-01-29 17:57:04 +00:00
f7f2839e65 Add reporting exception classes 2026-01-29 17:56:29 +00:00
5fdb1e6eaf Add report data models 2026-01-29 17:56:15 +00:00
ca7655704e Add matplotlib to reports dependencies 2026-01-29 17:55:55 +00:00
ba2ab9d5d8 Release v0.1.0
Some checks failed
CI / Release (push) Has been cancelled
CI / Lint (push) Successful in 4s
CI / Type Check (push) Successful in 19s
CI / Test (push) Successful in 37s
v0.1.0
2025-12-04 13:18:17 +00:00
64be5dacbf Fix Windows file locking in repository tests 2025-11-16 20:13:43 +00:00
a28752fc5b Polish dashboard UX and update README
- Wrap simulation controls in form to prevent page reruns on change
- Fix TempCo test configs to use 2+ temperature points
- Add Installation, Quick Start, and usage examples to README
2025-11-15 13:18:38 +00:00
5152f85c8e Fix dashboard: connect instruments on startup, remove broken reset, apply controls properly 2025-11-09 15:56:06 +00:00
bd0071e88f Fix: auto-start charts and remove ScriptRunContext warning from background thread 2025-11-07 22:06:56 +00:00
400f97e9fb Fix server initialization race condition with proper event signaling 2025-11-06 09:52:35 +00:00
cae52c1fa8 Improve dashboard UX: connect instruments before tests, clarify simulation controls, show error messages 2025-11-01 19:51:41 +00:00
7c89cebf0b Fix dashboard database initialization using temp file instead of in-memory 2025-10-27 17:34:45 +00:00
5d185815d0 Add end-to-end integration test 2025-10-23 21:23:18 +00:00
9cf42112a6 Add results viewer dashboard page 2025-10-22 13:22:56 +00:00
ed5362e712 Add test execution dashboard page 2025-10-17 11:13:32 +00:00
d1170b7db7 Update dashboard to use HAL 2025-10-14 09:39:36 +00:00
42356efce2 Fix TempCo integration tests with thread-based async server
Redesign integration test architecture to eliminate async/sync deadlock:
- Run SimulationServer in dedicated background thread with own event loop
- Rewrite TempCo tests as fully synchronous (no @pytest.mark.asyncio)
- Add ServerThread fixture in tests/integration/conftest.py
- Fix Unicode encoding errors (replace deg, mu, +/- with ASCII)
- Optimize temperature points for faster settling (23C, 25C, 27C)

All 3 TempCo integration tests now passing in ~5 minutes total.
2025-10-12 17:59:48 +00:00
3fdaba500d Fix SCPI server response handling and add TEMP:RAMP command
- Revert server to only send responses for non-empty strings
  Per SCPI protocol: successful commands with no output send nothing
- Add TEMP:RAMP command support to thermal chamber simulator
- Fixes test_multiple_commands and test_physics_engine_integration

TCP server integration tests now passing (8/8).
TempCo integration tests still need work due to async/sync mixing.
2025-10-09 15:25:08 +00:00
a0d096512f WIP: Use thread pool executor for integration tests
Move synchronous test execution to thread pool executor to avoid
blocking the async event loop. This prevents deadlocks when sync
client code tries to communicate with async server in same loop.

Note: Integration tests still experiencing timeouts - needs further
investigation. Unit tests and TCP server communication are working.
2025-10-08 16:16:13 +00:00
1f42098b6e Fix TCP server response handling and add pandas-stubs
- Always send a response (even empty) to prevent client timeouts
- Add pandas-stubs to dev dependencies for mypy type checking
- Server now sends newline-terminated response for all commands

This fixes the mypy CI failure. Integration test failures still need
investigation - likely due to event loop blocking when mixing sync/async.
2025-10-01 17:37:36 +00:00
7093446783 Fix CI errors: linting, type checking, and tests
- Fix import sorting in test_instruments.py (ruff I001)
- Install pandas-stubs for mypy type checking
- Add garbage collection cleanup to repository test fixtures
- Prevent Windows file locking errors in tempfile cleanup

All CI checks now passing: lint, type check, and all 244 tests.
2025-09-29 18:02:39 +00:00
22be547e47 Add instrument CLI commands 2025-09-26 17:56:36 +00:00
825af0b3bd Add test execution CLI commands 2025-09-22 13:32:05 +00:00
2e62a10550 Release v0.1.0-beta.2
Some checks failed
CI / Lint (push) Failing after 4s
CI / Type Check (push) Successful in 18s
CI / Test (push) Failing after 20s
CI / Release (push) Has been cancelled
v0.1.0-beta.2
2025-09-22 11:04:43 +00:00
d07e6e3f1a Add TempCo integration tests 2025-09-16 11:20:03 +00:00
96eb83cec4 Implement TempCo characterisation test 2025-09-15 18:32:58 +00:00
027fd71505 Add DVT test base class 2025-09-10 16:03:37 +00:00
3310e86fae Implement test runner 2025-09-09 19:31:09 +00:00
e42de212f2 Implement limit checker 2025-09-05 15:44:46 +00:00
ee8d148eb7 Implement test logger 2025-08-31 17:24:16 +00:00
e379b7e432 Add test framework models 2025-08-28 21:57:03 +00:00
eaa1843ee1 Add data persistence tests 2025-08-25 14:31:30 +00:00
7429f6433c Add Parquet measurement storage 2025-08-20 23:59:48 +00:00
7cfd36f02b Implement SQLite repository 2025-08-17 20:54:35 +00:00
f5600efd76 Add data persistence models 2025-08-17 11:34:53 +00:00
0615eb7e07 Add configuration tests 2025-08-14 15:59:04 +00:00
b981182b71 Add default configuration file 2025-08-11 13:11:17 +00:00
8c0d68e722 Implement configuration loader 2025-08-05 15:12:34 +00:00
4e14222522 Add configuration Pydantic models 2025-08-01 17:46:03 +00:00
afa52e7ee2 Release v0.1.0-beta.1
Some checks failed
CI / Lint (push) Failing after 4s
CI / Type Check (push) Successful in 18s
CI / Test (push) Successful in 10s
CI / Release (push) Has been cancelled
v0.1.0-beta.1
2025-08-01 11:46:21 +00:00
a951413a62 Add instrument interface tests 2025-07-26 20:12:06 +00:00
0b58f7e863 Add instrument factory 2025-07-26 19:22:27 +00:00
a8bd132269 Implement instrument interfaces in drivers 2025-07-24 18:15:50 +00:00
0a8d7e5c69 Add instrument interface protocols 2025-07-19 14:08:46 +00:00
ece1803c10 Fix linting: use builtin OSError and TimeoutError instead of socket aliases 2025-07-15 11:15:17 +00:00
76d81b21e6 Add driver unit tests 2025-07-10 15:57:02 +00:00