Copilot-Language / copilot

A stream-based runtime-verification framework for generating hard real-time C code.
http://copilot-language.github.io
635 stars 50 forks source link

`copilot-libraries`: Introduce testing infrastructure #475

Closed ivanperez-keera closed 9 months ago

ivanperez-keera commented 9 months ago

Description

As part of the requirements for Class D (NPR7150.2C), we need unit tests for all of copilot.

A natural next step is to introduce the testing infrastructure for copilot-libraries.

Type

Additional context

None.

Requester

Method to check presence of bug

Not applicable (not a bug).

Expected result

The library copilot-libraries includes tests for some of the existing modules. Introducing (some classes of) errors in the implementation of copilot-libraries makes the tests detect those errors.

Desired result

The library copilot-libraries includes tests for some of the existing modules. Introducing (some classes of) errors in the implementation of copilot-libraries makes the tests detect those errors.

Proposed solution

Add tests for copilot-libraries that tests basic properties of some of the existing modules.

Further notes

Due to the magnitude of this change, we decide to simplify the issue by merely introducing the infrastructure. We leave it to a future issue to have a more comprehensive list of properties that covers all modules.

ivanperez-keera commented 9 months ago

Change Manager: Confirmed that the issue exists.

ivanperez-keera commented 9 months ago

Technical Lead: Confirmed that the issue should be addressed.

ivanperez-keera commented 9 months ago

Technical Lead: Issue scheduled for fixing in Copilot 3.18.

Fix assigned to: @ivanperez-keera .

ivanperez-keera commented 9 months ago

Implementor: Solution implemented, review requested.

ivanperez-keera commented 9 months ago

Change Manager: Verified that:

ivanperez-keera commented 9 months ago

Change Manager: Implementation ready to be merged.