Commit graph

19 commits

Author SHA1 Message Date
davewiththenicehat
bbc60b0340 TaskHandler.active method created
TaskHandler.active method created to check if a task is currently active.

test_delay unit test passes.
2021-04-18 09:59:45 -04:00
davewiththenicehat
af44237838 TaskHandler cancel and exists method's created
Created task handler methods to cancel a task and check if a task exists.

Modified unit tests to use these and test methods.
unit test test_delay passes.
2021-04-18 09:50:54 -04:00
davewiththenicehat
f3b546bcf6 TaskHandler.remove() made functional
TaskHandler.remove method now functions. Previous it would have removed the task from the TaskHandler.tasks dictionary, but never canceled the task. Making the "remove a persistent task without executing it" incorrect. Previous there was no method to get a persistent tasks's deferral instance, which was likely why TaskHandler.remove was not used within the module.

Added unit tests to test TaskHandler.remove
2021-04-18 08:51:18 -04:00
davewiththenicehat
97f7806348 task handler, updated to only return task id
Updated task handler to only return task id.
updated code within evennia that relied on the deferral directly. Including unit test for one.

all unit tests pass.
Test server functional after restarting, no issues found would telnet web client. (delay was used in the telnet module in the portal folder.

I needed to commit this before continuing forward. There is already a high line count change.
2021-04-18 00:43:09 -04:00
davewiththenicehat
c7bf773605 taskhandler suppress cancel error
Added an errback to handle errors within task handler's deferred instance.
Without this instances of deferred cause a traceback when a deferred is canceled without errback or callback having been called.
This traceback does not end execution, and ultimately would only show to main console.
Reference cancel: https://github.com/twisted/twisted/blob/trunk/src/twisted/internet/defer.py

All evennia unit tests pass.
2021-04-16 10:55:24 -04:00
davewiththenicehat
1a18b247e2 Task_Handler unit test, after completion time only
Unit test for task handler tasks that complete after delay time.
Required creating local reference for a clock.
All evennia unit tests pass with `evennia test evennia`.
All of my projects unit tests passed. They have a very heavy usage of reactor.
Verified delays working with project manually

Moving forward with creating method to call callbacks early.
2021-04-14 12:14:04 -04:00
davewiththenicehat
f62ff2015f taskhandler verified do_task causes errors if called manually (early)
Any usage of taskhandler's method outside of the deferred instance calling it results in errors.

Referencing: It's easier to access these tasks (should it be necessary) using
    `evennia.scripts.taskhandler.TASK_HANDLER`
I can see it is intended to be used this way.

More importantly usage of the global reactor would require usage of reactorbuilder API which is recomended for building reactors only.

Commiting notes before switching to twisted's documented methods for making and testing deferrals.
In short I need to get an instance of reactor's callLater. Creating and working with that call later will allow me to test taskhandler and make it function as intended.

Usage of utils.delay will not change.
2021-04-13 17:01:55 -04:00
Griatch
750922a613 Have EvTable width correctly handle asian alphabets as per #2166. 2020-07-15 23:18:53 +02:00
Andrew Bastien
8c5fdbe27f Adding unit tests for ANSIString! 2020-01-30 06:15:43 -05:00
Griatch
69d85bd184 Make scripts/objects lists use EvMore. Change EvMore to not justify by default. 2020-01-11 15:49:12 +01:00
Griatch
4ea6209123 Ran black on branc 2019-12-16 20:31:42 +01:00
Griatch
0dbfa38f20 Black style correction 2019-10-01 21:32:44 +02:00
Domenic Barbuzzi
bfca8c8552 Update unit tests for utils.latinify 2019-10-01 14:42:26 -04:00
Domenic Barbuzzi
8058e01e06 Remove resolved comment 2019-10-01 12:59:15 -04:00
Domenic Barbuzzi
96d5734e51 Update utils.latinify to support Python 3 2019-10-01 12:11:11 -04:00
Griatch
c2c7fa311a Format code with black. Add makefile to run fmt/tests 2019-09-28 18:18:11 +02:00
Greg Taylor
da48fa2e52 Refactor mod_import to use importlib
Switch from the deprecated imp to importlib. Also add tests and
clean up logic flow. This should be quite a bit faster than the
old implementation as well.
2019-09-15 20:21:50 -07:00
Griatch
18a09e341c Fix time format Windows does not support. Resolve #1881. Resolve #1880 2019-08-29 00:10:46 +02:00
Griatch
70fea693e6 Refactor utils test suite into utils/tests/ 2017-10-07 11:27:47 +02:00