pcb Test Suite
pcb needs a robust test suite to identify regressions and ensure that progress doesn't break existing features.
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Chad Parker
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Bug #1782997: gsvit and nelma HIDs tests should be combined | Fix Released |
Bug #1784755: DRC Tests | Fix Released |
Bug #1795643: File loading regression tests | Triaged |
Sprints
Whiteboard
We need to have a series of automated tests so that we can detect regressions when the code is changed. There should be tests for *everything*. Every possible code path should ideally have a test.
It appears that we have two kinds of tests, there is a compiled "unit test" framework, and a series of more "user level" tests where the application is executed. Data structures should be tested using the former. Things like exporters are certainly for the later. Actions could probably go either way.
We should have *standardized* tests for every kind of object that can be output be each of the exporters. Since not all exporters may support all objects, does this mean that we need to have separate input files for each type of object? Not necessarily, as long as each exporter handles unsupported objects gracefully and consistently.
All actions should have tests.
Some useful actions to have for testing might include...
* CrosshairSetLoc
* Click -- to simulate the user clicking the mouse button
* Create -- to create objects on the layout
Work Items
Work items:
Tests for find.c:
Tests for find.c:
Tests for find.c:
Low level geometry function tests: TODO