Write good automatic tests

Registered by Eike

Good automatic tests are important for creating a high quality compiler.

The Freeode project uses the "py.test" framework for testing.

Blueprint information

Status:
Started
Approver:
Eike
Priority:
Medium
Drafter:
Eike
Direction:
Needs approval
Assignee:
None
Definition:
Discussion
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Eike

Related branches

Sprints

Whiteboard

The tests should cover every important feature. They should not test for unimportant implementation details, so that they don't break for every little change.

The tests should try to test features independently of other features. This helps porting and debugging in case of big architecture changes.

Code that generates error messages is seldom invoked. Therefore errors might develop through changes elsewhere, and stay undetected in the error handler for a long time. Therefore code that generates exceptions should be very simple. For every user visible error message there should be a test that provokes it.

The example programs should be run as part of the tests too. Printing some important variables at the end of the simulation should make it possible to check if the computation is correct. This will give more coverage of the automatic tests, and it will also ensure that the examples always work.

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.