ChillerDragon / teeworlds_network

A teeworlds 0.7 network protocol library written in ruby
5 stars 0 forks source link

Add integration tests for server #13

Open ChillerDragon opened 2 years ago

ChillerDragon commented 9 months ago

https://github.com/ChillerDragon/teeworlds_network/commit/ec90f185e45d5940bcdca160643486fea3803191

One test is there. I would like to see map downloads and another test like chat or something before the the issue can be closed.

ChillerDragon commented 9 months ago

The current state is that the CI gets in a bugged state after the first server test ran. No other server test can be ran after that. A possible solution would be multiple jobs but does become annoying to maintain. It does not scale nice. So adding more server tests will be too much effort.

I added a Dockerfile into the integration_tests folder and I could get all tests passing locally once in some half manual docker exec attempt. But that is no way close to being clean/fast or consistent. I even doubt the reproducibility. The gh action yaml for it is ready and tested already but it fails.

ChillerDragon commented 9 months ago

Okay multiple jobs it is. I moved the setup to a oneliner script. Thats fine maintenance wise. It spams a bunch of jobs but it should still be fast enough.

Adding new tests is now simple.

So the last thing blocking this issue is the server having a test for map download.

ChillerDragon commented 9 months ago

I had a bunch of crashes happening in the server tick that were not caught by the CI.