xaya / libxayagame

MIT License
21 stars 19 forks source link

Python integration test framework #7

Closed domob1812 closed 6 years ago

domob1812 commented 6 years ago

This adds a simple integration test framework in Python (inspired by the regtest framework in Bitcoin Core but much simpler). That way, we can test the full interaction between a real xayad in regtest mode and a real game daemon (moverd in the tests included here, but it can also be used by other games in the future).

All edge cases in the game logic should in general be tested (and easily testable) by unit tests, like those we already have for Movers. But running real binaries connected to each other allows to verify that also all the interactions work as expected. This is especially important for libxayagame itself (which is the main purpose of the Movers tests), but can also be useful for individual games to verify that their final binary works as expected in a "real" system.

This fixes #6.