Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add common tests for input generators of common relax workflow
The newly added test will automatically parametrize over all the implementations of the common relax workflow that register an entry point. The test checks that the signature of the `get_builder` method, as built dynamically through the input generator specification in the `define` method, respects the criteria of the common interface. This means that all the required ports are present and that their valid types are what they should be. This should hopefully catch if implementations change the specification accidentally in a way that is not intended. In the future, ideally we can extend these tests with tests that actually try to call `get_builder`, such that we can also verify that it successfully returns a builder when using any of the values that are defined as supported for the various arguments, such as for the `spin_type`, `relax_type` and `electronic_type`. However, this is technically not easy as calling `get_builder` may depend on certain pre-conditions being fulfilled depending on the implementation. For example, the Quantum ESPRESSO would require a version of the `SsspFamily` to be installed. We would need to find a way to automatically load these fixtures based on the implementation that is being tested.
- Loading branch information