08-26-2017, 03:23 PM
08-26-2017, 04:44 PM
08-26-2017, 04:46 PM
But the fact that a plugin can corrupt a world sounds like something that should be fixed.
08-26-2017, 04:59 PM
Then it would be necessary to add borders in the server, like the world border in vanilla minecraft. Also all function that accept coords would need to be checked.
08-26-2017, 05:52 PM
Some things still needs manual adjusting like a new class, that has to be added to a table. Will look if I can fix a few problems. Maybe the test could be make optional, it doesn't have to be green for the pull request to pass.
The forge pull request worked fine, because it only used the primitive types: table, strings in the param. Also the fuzzing is very slow, because the a callback is not aborted if a error in the lua code occurs. On my windows system a run takes 20 minutes.
09-03-2017, 06:13 AM
Did many changes for the CheckAPI part:
- Added search for enum type values in APIDesc
- Added player test code
- Added check if class has constructor, can be instantiated
- Added test code for many functions that have a callback function and a check if the callback has been called
- Got rid of a few tables
There are two problems, that blocks it from using in CI: The deadlock and a failed Verify.
The deadlock problem could be ignored, requires a connected client (pycraft) for the test
Edit: Added function cEntity:Destroy to the ignore table, this avoids the crash
- Added search for enum type values in APIDesc
- Added player test code
- Added check if class has constructor, can be instantiated
- Added test code for many functions that have a callback function and a check if the callback has been called
- Got rid of a few tables
There are two problems, that blocks it from using in CI: The deadlock and a failed Verify.
The deadlock problem could be ignored, requires a connected client (pycraft) for the test
Edit: Added function cEntity:Destroy to the ignore table, this avoids the crash
09-04-2017, 04:43 PM
I think this should be done as a additional build. If it fails it shouldn't block the pull request from merging.