Posts: 783
Threads: 12
Joined: Jan 2014
Thanks: 2
Given 73 thank(s) in 61 post(s)
We really need some way of regression testing the simulators. It the past few days we've seen three or four regressions in the redstone simulator.
This proposal is to do one of two things.
Option One: Try to compile the simulators separately and test separately, like chunk data.
Option Two: Try to build a plugin to test the server. The only API I thing this would need would be a ability for the plugins to trigger an assert failure.
Posts: 6,485
Threads: 176
Joined: Jan 2012
Thanks: 131
Given 1075 thank(s) in 852 post(s)
07-04-2014, 10:12 PM
(This post was last modified: 07-04-2014, 10:13 PM by xoft.)
Option two needs more than that:
It needs plugins to be able to force chunks to simulate (normally chunks don't simulate if they have zero players in them).
On the other hand, there's no need for an assert failure, the plugins could either crash the server (yes, it is possible quite simply) or emit a specific message in the log, then stop the server, and the test driver script could look for that output message. Or create a file in case of failure. Anything that the test driver can detect easily.
And we need a way for the external test driver to enable the testing plugins - perhaps feed a "load TestPlugin" through the stdin?
Posts: 783
Threads: 12
Joined: Jan 2014
Thanks: 2
Given 73 thank(s) in 61 post(s)
Good point about zero players. As for current ways to crash the server, I regard them as bugs so wouldn't want to rely on them. Executing a console command seems the best way of bootstrapping.