* Implement map tests for catching common errors.
- Adds test runner:
- to make it easier to track things across test types
- for example to ensure a fully specified log can be emitted
- Adds map tile test type:
- when writing a test, coders implement CheckTile, which is
handed a single turf
- when the test runner runs these tests, it iterates over
all turfs in the specified z-level, and runs each test's
CheckTile on each turf in turn.
- Adds two sample map tile tests:
- check to see if a pipe exists on the same tile as a scrubber
or vent
- check to see if a tile contains two cables, each with a center
node
* Review #1:
- Replace nested loops over map tiles with `block`
- Remove check for valid turf in individual tests, I think it's safe to
assume `block` will always return legit turfs
- Added proper duration tracking for old tests
- Gave log file an appropriate extension
- Actually use `Fail` for tests
* whoops
* add more tests suggested by @Vi3trice
* Add some more tests courtesy @Bm0n and @Vi3trice
* windows are okay in space as long as it's nearspace
* Add failure threshold to prevent excessive logging.
Once this threshold is reached, a test will stop being processed for
every tile.
Note that this applies to `log_world` and `text2file` equally when
logging large amounts of failures.
* Document each test.
* Remove unnecessary reboot
* Let all map tests run to completion in CI matrix.
* I know what alphabetical means
* lessens the use of GLOB.landmarks_list
* delete redundant blob icon
* Apply suggestions from code review
Co-authored-by: moxian <moxian@users.noreply.github.com>
* review part 2
* aa review
Co-authored-by: moxian <moxian@users.noreply.github.com>
* Fit Viewport V1
* Scoreboard
* Moderate scoreboard refactor
Mostly just removing the global variables, since Mochi has plans for a proper big scoreboard refactor in the future.
* Lets get this show on the road
* Now were talking
* These matter
* Oh the joys of CI testing
* And this
* Wrong version
* Tweaks
* More tweaks
* Lets document this
* This too
* Upgrades this
* Fixed some sanity issues
* This too
* Screw it, this too
* More sanity
* And these
* This too
* Documentation
* This too
* Fixes **awful** scoreboard logic
* Why do we care about only half-absorbing someone
* Revert "Why do we care about only half-absorbing someone"
This reverts commit 8de1cfdf05.
* Refactors these
* Hashing
* Moxian tweaks
* SShttp + SSdiscord | ASYNCHRONOUS STUFF IN BYOND!
* Cleanup
* HTTP Callback example
* Fixes rust instability
* More refactors
* This works
* The sanitizer (Now worth £3000)
* New configs + other stuff
* Lets give this a shot
* Farie changes
* Mentor support
* Farie fixes