Improve test dashboard and update WDM test planning
This commit is contained in:
123
TEST_TODO.md
123
TEST_TODO.md
@@ -8,8 +8,8 @@ It should reflect the repository state now, not the original plan.
|
||||
Fast profile status:
|
||||
|
||||
- `run_all_tests('profile','fast')`
|
||||
- latest verified result: `Passed: 59 | Failed: 0 | Incomplete: 0`
|
||||
- explicit placeholder tests remaining: `70`
|
||||
- latest verified result: `Passed: 82 | Failed: 0 | Incomplete: 0`
|
||||
- explicit placeholder tests remaining: `62`
|
||||
|
||||
Mandatory workflow for every future test-writing session:
|
||||
|
||||
@@ -28,10 +28,18 @@ These are already implemented and verified in the fast profile:
|
||||
- `Classes/00_signals/Signal.m` -> `Tests/00_signals/Signal_test.m`
|
||||
- `Classes/00_signals/Informationsignal.m` -> `Tests/00_signals/Informationsignal_test.m`
|
||||
- `Classes/00_signals/Electricalsignal.m` -> `Tests/00_signals/Electricalsignal_test.m`
|
||||
- `Classes/00_signals/Opticalsignal.m` -> `Tests/00_signals/Opticalsignal_test.m`
|
||||
- `Classes/01_transmit/PAMmapper.m` -> `Tests/01_transmit/PAMmapper_test.m`
|
||||
- `Classes/01_transmit/PAMsource.m` -> `Tests/01_transmit/PAMsource_test.m`
|
||||
- `Classes/01_transmit/Signalgenerator.m` -> `Tests/01_transmit/Signalgenerator_test.m`
|
||||
- `Classes/01_transmit/Pulseformer.m` -> `Tests/01_transmit/Pulseformer_test.m`
|
||||
- `Classes/02_etc/Amplifier.m` -> `Tests/02_etc/Amplifier_test.m`
|
||||
- `Classes/02_etc/Filter.m` -> `Tests/02_etc/Filter_test.m`
|
||||
- `Classes/02_optical/Fiber.m` -> `Tests/02_optical/Fiber_test.m`
|
||||
- `Classes/02_optical/EML.m` -> `Tests/02_optical/EML_test.m`
|
||||
- `Classes/02_optical/Optical_Multiplex.m` -> `Tests/02_optical/Optical_Multiplex_test.m`
|
||||
- `Classes/02_optical/Optical_Demultiplex.m` -> `Tests/02_optical/Optical_Demultiplex_test.m`
|
||||
- `Classes/02_optical/DP_Fiber.m` -> `Tests/02_optical/DP_Fiber_test.m`
|
||||
- `Classes/03_receive/Photodiode.m` -> `Tests/03_receive/Photodiode_test.m`
|
||||
- `Classes/03_receive/Scope.m` -> `Tests/03_receive/Scope_test.m`
|
||||
- `Classes/04_DSP/TransmissionPerformance.m` -> `Tests/04_DSP/TransmissionPerformance_test.m`
|
||||
@@ -41,75 +49,80 @@ These are already implemented and verified in the fast profile:
|
||||
|
||||
Notes:
|
||||
|
||||
- `Opticalsignal_test.m` still appears to be a placeholder and should be treated as unfinished.
|
||||
- There are multiple `Timing_Recovery` class names in the repo, so the implemented base-class test currently uses the disambiguated file name:
|
||||
`Tests/04_DSP/Timing Recovery/T_04_DSP_Timing_Recovery_Timing_Recovery_test.m`
|
||||
|
||||
## Next Priority Tests
|
||||
## Integration Tests
|
||||
|
||||
Highest-value unfinished tests to implement next:
|
||||
These are the current end-to-end regression guards:
|
||||
|
||||
1. `Classes/00_signals/Opticalsignal.m`
|
||||
`Tests/00_signals/Opticalsignal_test.m`
|
||||
Focus:
|
||||
- constructor metadata wiring
|
||||
- `delay`
|
||||
- `cspr`
|
||||
- interaction with inherited signal behavior
|
||||
- `Tests/integration/IMDD_base_system_minimal_integration_test.m`
|
||||
- `Tests/integration/IMDD_base_system_no_impairment_integration_test.m`
|
||||
- `Tests/integration/IMDD_base_system_impairment_monotonicity_integration_test.m`
|
||||
- `Tests/integration/WDM_mux_demux_optical_chain_integration_test.m`
|
||||
- `Tests/integration/WDM_end_to_end_two_channel_receiver_integration_test.m`
|
||||
|
||||
2. `Classes/01_transmit/Signalgenerator.m`
|
||||
`Tests/01_transmit/Signalgenerator_test.m`
|
||||
Focus:
|
||||
- constructor/config defaults
|
||||
- deterministic generation path
|
||||
- output type and shape
|
||||
Current integration focus:
|
||||
|
||||
3. `Classes/02_etc/Filter.m`
|
||||
`Tests/02_etc/Filter_test.m`
|
||||
Focus:
|
||||
- deterministic filter construction
|
||||
- `process` behavior on small signals
|
||||
- output rate/length invariants
|
||||
- refactor the duplicated reduced IM/DD workflow setup into shared integration helpers
|
||||
- tighten the IM/DD baseline naming and thresholds so the physical intent is honest
|
||||
- strengthen the WDM optical-chain and end-to-end receiver fixtures into harder regression guards
|
||||
- keep all integration fixtures deterministic and small enough to remain reviewable
|
||||
|
||||
4. `Classes/02_etc/Amplifier.m`
|
||||
`Tests/02_etc/Amplifier_test.m`
|
||||
Focus:
|
||||
- gain behavior
|
||||
- noise-free baseline
|
||||
- output class and metadata behavior
|
||||
## Remaining Core Tests
|
||||
|
||||
5. `Classes/02_optical/EML.m`
|
||||
`Tests/02_optical/EML_test.m`
|
||||
Focus:
|
||||
- deterministic modulation path
|
||||
- output class and metadata
|
||||
- small synthetic fixture only
|
||||
Highest-value unfinished unit tests to implement next:
|
||||
|
||||
6. `Classes/02_optical/Optical_Multiplex.m`
|
||||
`Tests/02_optical/Optical_Multiplex_test.m`
|
||||
Focus:
|
||||
- combining channels
|
||||
- output dimensions
|
||||
- metadata handling
|
||||
|
||||
7. `Classes/02_optical/Optical_Demultiplex.m`
|
||||
`Tests/02_optical/Optical_Demultiplex_test.m`
|
||||
Focus:
|
||||
- deterministic channel extraction
|
||||
- output dimensions
|
||||
- basic round-trip expectations with multiplexing if practical
|
||||
|
||||
8. `Classes/02_optical/Polarization_Controller.m`
|
||||
1. `Classes/02_optical/Polarization_Controller.m`
|
||||
`Tests/02_optical/Polarization_Controller_test.m`
|
||||
Focus:
|
||||
- deterministic transform behavior
|
||||
- shape preservation
|
||||
|
||||
9. `Classes/02_optical/DP_Fiber.m`
|
||||
`Tests/02_optical/DP_Fiber_test.m`
|
||||
2. `Classes/01_transmit/AWG.m`
|
||||
`Tests/01_transmit/AWG_test.m`
|
||||
Focus:
|
||||
- very small deterministic sanity checks only
|
||||
- avoid long or GPU-heavy runs
|
||||
- DAC-like resampling and quantization behavior
|
||||
- length and sampling-rate invariants
|
||||
- deterministic small fixtures
|
||||
|
||||
Follow-up around the WDM integration fixtures:
|
||||
|
||||
- `Classes/01_transmit/AWG.m`
|
||||
- `Classes/02_optical/EML.m`
|
||||
- `Classes/02_optical/Polarization_Controller.m`
|
||||
- `Classes/02_optical/DP_Fiber.m`
|
||||
- `Classes/02_optical/Optical_Multiplex.m`
|
||||
- `Classes/02_optical/Optical_Demultiplex.m`
|
||||
- `Classes/03_receive/Photodiode.m`
|
||||
|
||||
These should be revisited together when the WDM integration tests are tightened.
|
||||
|
||||
Immediate integration refactor backlog:
|
||||
|
||||
1. Extract shared reduced IM/DD integration helpers
|
||||
Targets:
|
||||
- `Tests/integration/IMDD_base_system_minimal_integration_test.m`
|
||||
- `Tests/integration/IMDD_base_system_no_impairment_integration_test.m`
|
||||
- `Tests/integration/IMDD_base_system_impairment_monotonicity_integration_test.m`
|
||||
Goal:
|
||||
- remove duplicated reduced-workflow builders
|
||||
- keep assertions local to each test file
|
||||
|
||||
2. Revisit the "no impairment" IM/DD fixture
|
||||
Target:
|
||||
- `Tests/integration/IMDD_base_system_no_impairment_integration_test.m`
|
||||
Goal:
|
||||
- ensure the name, comments, and thresholds reflect the actual physical regime
|
||||
|
||||
3. Harden the WDM optical-chain regression guards
|
||||
Targets:
|
||||
- `Tests/integration/WDM_mux_demux_optical_chain_integration_test.m`
|
||||
- `Tests/integration/WDM_end_to_end_two_channel_receiver_integration_test.m`
|
||||
Goal:
|
||||
- improve channel-separation assertions
|
||||
- add propagated-chain checks where stable
|
||||
- avoid brittle waveform snapshots
|
||||
|
||||
## Next DSP Layer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user