Skip to content
This repository has been archived by the owner on Apr 13, 2021. It is now read-only.

Setup headless server integration tests #8

Open
randomPoison opened this issue May 24, 2020 · 0 comments
Open

Setup headless server integration tests #8

randomPoison opened this issue May 24, 2020 · 0 comments
Labels
server Changes that specifically affect the server codebase

Comments

@randomPoison
Copy link
Owner

Right now we have tests for the match state, but we don't have a way to test the running server outside of just running the client and playing the game. It would be beneficial if we could run tests against the server without needing to run the full Unity client, i.e. automated integration testing for the server.

This is currently somewhat blocked on #2, since right now we don't have a client interface setup for Rust. Since being able to write server tests in Rust is part of the motivation for #2, we should implement that first, and possibly implement integration tests as a way of partially testing the client connection logic as well.

The big challenge in implementing this will be integrating the connection logic into Unity. In theory we want the connection code to be async-aware even on the client side, but that brings some questions what reactor we can use. The easiest thing will be to spawn a background thread to handle the I/O and pass the output to the main thread via channels, but ideally we should be able to turn the reactor manually each frame in the client and perform all I/O on the main thread. Some initial investigation

@randomPoison randomPoison added the server Changes that specifically affect the server codebase label May 24, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
server Changes that specifically affect the server codebase
Projects
None yet
Development

No branches or pull requests

1 participant