pcb

pcb Test Suite

Registered by Chad Parker

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

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...
* CrosshairSetLocation -- to move the crosshair somewhere
* Click -- to simulate the user clicking the mouse button
* Create -- to create objects on the layout

(?)

Work Items

Work items:
Tests for find.c:LookupUnusedPins (SaveTo action): TODO
Tests for find.c:PrintAndSelectUnusedPinsAndPadsOfElement (SaveTo action): TODO
Tests for find.c:LookupElementConnection (SaveTo action): TODO
Low level geometry function tests: TODO

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.