From 8729252b1da479c4e49b60ebed23ec41f57f6e33 Mon Sep 17 00:00:00 2001 From: Erki Meinberg Date: Thu, 20 Jul 2017 00:42:19 +0300 Subject: [PATCH] Nukes aurorastation.int and silences invalid timer RTs during unit tests (#3105) HACKS ARE NOT A SOLUTION TO THE PROBLEM. True. But. The issue is convoluted to the point where fixing it is out of the question for the time being. And the invalid timer RT is ruining the readability of Travis tests: it's generating useless noise without conveying any new information. As such, until a time that this issue is fixed, I propose silencing the RTs generated by invalid timers for unit tests only. Hopefully we won't fuck with the timer system enough to where we need to monitor it for mass invalid timer errors. Also removes the .int file as the bug it was intended to fix has been fixed with BYOND. --- .travis.yml | 1 - README.md | 7 ------- aurorastation.int | 6 ------ code/unit_tests/map_tests.dm | 6 +++--- code/world.dm | 13 ++++++++++++- 5 files changed, 15 insertions(+), 18 deletions(-) delete mode 100644 aurorastation.int diff --git a/.travis.yml b/.travis.yml index ac1b734cca5..b4a22f1a3c7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -39,7 +39,6 @@ script: - (! grep -E "<\s*span\s+class\s*=\s*('[^'>]+|[^'>]+')\s*>" **/*.dm) - (num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting ${MACRO_COUNT} or less)"; [ $num -le ${MACRO_COUNT} ]) - awk -f tools/indentation.awk **/*.dm - - md5sum -c - <<< "0af969f671fba6cf9696c78cd175a14a *aurorastation.int" - md5sum -c - <<< "94c0d540b3b0f008fbc4353e667de690 *html/changelogs/example.yml" - python tools/TagMatcher/tag-matcher.py ../.. - python tools/GenerateChangelog/ss13_genchangelog.py html/changelog.html html/changelogs --dry-run diff --git a/README.md b/README.md index 3076824852b..2caea6cd6de 100644 --- a/README.md +++ b/README.md @@ -32,13 +32,6 @@ The more complicated and easier to update method is using git. You'll need to d This will take a while to download, but it provides an easier method for updating. -Once the repository is in place, run this command: -```bash -cd Aurora.3 -git update-index --assume-unchanged aurorastation.int -``` -Now git will ignore changes to the file aurorastation.int. - ### INSTALLATION First-time installation should be fairly straightforward. First, you'll need BYOND installed. You can get it from [here](http://www.byond.com/). diff --git a/aurorastation.int b/aurorastation.int deleted file mode 100644 index b82874fded5..00000000000 --- a/aurorastation.int +++ /dev/null @@ -1,6 +0,0 @@ -// BEGIN_INTERNALS -/* -MAP_ICON_TYPE: 0 -AUTO_FILE_DIR: OFF -*/ -// END_INTERNALS diff --git a/code/unit_tests/map_tests.dm b/code/unit_tests/map_tests.dm index 7026c4e526b..338745c06c8 100644 --- a/code/unit_tests/map_tests.dm +++ b/code/unit_tests/map_tests.dm @@ -132,7 +132,7 @@ datum/unit_test/wire_test/start_test() if (above && above.is_hole) bad_tiles++ - log_unit_test("[ascii_red]--------------- [T.name] \[[T.x] / [T.y] / [T.z]\] Has no roof.") + log_unit_test("[ascii_red]--------------- [T.name] \[[T.x] / [T.y] / [T.z]\] Has no roof.[ascii_reset]") if (bad_tiles) fail("\[[bad_tiles] / [tiles_total]\] station turfs had no roof.") @@ -160,7 +160,7 @@ datum/unit_test/wire_test/start_test() if (!ladder.target_up && !ladder.target_down) ladders_incomplete++ - log_unit_test("[ascii_red]--------------- [ladder.name] \[[ladder.x] / [ladder.y] / [ladder.z]\] Is incomplete.") + log_unit_test("[ascii_red]--------------- [ladder.name] \[[ladder.x] / [ladder.y] / [ladder.z]\] Is incomplete.[ascii_reset]") continue var/bad = 0 @@ -172,7 +172,7 @@ datum/unit_test/wire_test/start_test() if (bad) ladders_blocked++ - log_unit_test("[ascii_red]--------------- [ladder.name] \[[ladder.x] / [ladder.y] / [ladder.z]\] Is blocked in dirs:[(bad & BLOCKED_UP) ? " UP" : ""][(bad & BLOCKED_DOWN) ? " DOWN" : ""].") + log_unit_test("[ascii_red]--------------- [ladder.name] \[[ladder.x] / [ladder.y] / [ladder.z]\] Is blocked in dirs:[(bad & BLOCKED_UP) ? " UP" : ""][(bad & BLOCKED_DOWN) ? " DOWN" : ""].[ascii_reset]") if (ladders_blocked || ladders_incomplete) fail("\[[ladders_blocked + ladders_incomplete] / [ladders_total]\] ladders were bad.[ladders_blocked ? " [ladders_blocked] blocked." : ""][ladders_incomplete ? " [ladders_incomplete] incomplete." : ""]") diff --git a/code/world.dm b/code/world.dm index 871a363a0bd..51a2c5bcbe7 100644 --- a/code/world.dm +++ b/code/world.dm @@ -182,8 +182,9 @@ var/list/world_api_rate_limit = list() ..(reason) -var/inerror = 0 /world/Error(var/exception/e) + var/static/inerror = 0 + //runtime while processing runtimes if (inerror) inerror = 0 @@ -191,6 +192,16 @@ var/inerror = 0 inerror = 1 +// A horrible hack for unit tests but fuck runtiming timers. +// They don't provide any useful information, and as such, are being suppressed. +#ifdef UNIT_TEST + + if (findtextEx(e.name, "Invalid Timer:")) + inerror = 0 + return + +#endif // UNIT_TEST + e.time_stamp() log_exception(e)