Commit Graph

503 Commits

Author SHA1 Message Date
R. Richard
8cbe737d2f Turn context into a dataclass and add new test case 2019-06-11 11:11:29 +02:00
R. Richard
b44fd200c6 Make fixtures function scoped and add new tests 2019-06-11 11:11:29 +02:00
R. Richard
9cb8ef0e72 Add unit test for file manager 2019-06-11 11:11:29 +02:00
R. Richard
a69031015b Refactor file manager 2019-06-11 11:11:29 +02:00
R. Richard
8be0105ef6 Remove unnecessary config 2019-06-11 11:07:12 +02:00
R. Richard
105a574d7f Import the logging modules directly 2019-06-10 15:32:45 +02:00
R. Richard
ca6797b354 Fixing issues in PR #56 2019-06-06 13:41:13 +02:00
R. Richard
dfac686bfc Create inotify module with unit tests 2019-06-06 10:30:01 +02:00
Kristóf Tóth
c8e98af516 Improve module dependencies by moving port envvars out of tfw.networking 2019-06-04 14:41:51 +02:00
Kristóf Tóth
f151ecfbac Improve ZMQ port envvar names 2019-06-04 14:41:51 +02:00
Kristóf Tóth
e44a99fa6d Remove ZMQConnectorBase 2019-06-04 14:41:51 +02:00
Kristóf Tóth
82df8a8065 Handle pylint suggestions 2019-06-04 14:41:51 +02:00
Kristóf Tóth
2134d743c3 Improve TFW lib layout 2019-06-04 14:41:51 +02:00
Kristóf Tóth
01d9003501 Rework whole TFW networking model 2019-06-04 14:41:51 +02:00
Kristóf Tóth
613919a5b6 Implement closing EventHandlerConnector 2019-06-04 14:41:50 +02:00
Kristóf Tóth
6431fac9b1 Set ZMQ HWM in EventHandlerConnector to infinite 2019-06-04 14:41:50 +02:00
Kristóf Tóth
6b23b863ed Fix code formatting 2019-06-04 14:41:50 +02:00
Kristóf Tóth
26c6c5d1e6 Refactor EventHandlerConnector family of classes 2019-06-04 14:41:50 +02:00
R. Richard
de6afdc84a Make Terminado stoppable 2019-05-31 13:10:33 +02:00
R. Richard
71f05fe92c Fix terminal writing error on challenge startup 2019-05-31 11:13:33 +02:00
R. Richard
7d50ee607a Close ZMQ sockets gracefully 2019-05-20 11:06:57 +02:00
Kristóf Tóth
07cd1264f5 Merge branch 'ocicat', the unrealized dream. Ocicat will return... 2019-05-15 17:10:05 +02:00
Kristóf Tóth
3bfe6db036 Avoid treating supervisord's SIGTERM as an error in CommandEventHandler 2019-05-13 14:53:31 +02:00
Kristóf Tóth
94dee63a41 Improve CommandEventHandler subprocess failure error message 2019-05-13 14:52:17 +02:00
Kristóf Tóth
1617761184 Improve CommandEventHandler error detection (avoid polling) 2019-05-13 11:17:30 +02:00
Kristóf Tóth
ca5be9d848 Detect errors in the subprocess of CommandEventHandler 2019-05-13 10:09:06 +02:00
Kristóf Tóth
78d70f2f8b Make PipeIOEventHandlerBase handle all input errors (while screaming) 2019-05-13 10:09:06 +02:00
Kristóf Tóth
fc5124afb0 Make arbitrary processes capable of being EventHandlers (PipeIO+stdin/stdout) 2019-05-13 10:09:06 +02:00
Kristóf Tóth
c4d3319ed9 Refactor TransformerPipeIOEventHandler 2019-05-13 10:09:06 +02:00
Kristóf Tóth
69b3b17724 Implement EventHandler for transforming and filtering pipe messages 2019-05-13 10:09:06 +02:00
Kristóf Tóth
078f8532cc Rename parameter to reflect type in PipeIOEventHandler.handle_pipe_event 2019-05-13 10:09:06 +02:00
Kristóf Tóth
1bfaac0493 Remove potentially harmful 'error handling' 2019-05-13 10:09:06 +02:00
Kristóf Tóth
9e36bde974 Consider PipeIOServer public API from now on 2019-05-13 10:09:06 +02:00
Kristóf Tóth
9ad77eaed8 Allow passing an iterable with keys to subscribe to in EventHandlerBase.__init__() 2019-05-13 10:09:06 +02:00
Kristóf Tóth
90b780a5c0 Allow subclassing pipe based event handlers (refactor PipeIOEventHandler to base class and impl) 2019-05-13 10:09:06 +02:00
Kristóf Tóth
ddc79c9717 Allow subscribing to all ZMQ topics in EventHandlerBase 2019-05-13 10:09:06 +02:00
Kristóf Tóth
bb8e0c7458 Handle JSON serialization errors in PipeIOEventHandler 2019-05-13 10:09:06 +02:00
Kristóf Tóth
f94d571d19 Support initializing IO pipes with specific permissions 2019-05-13 10:09:06 +02:00
Kristóf Tóth
065aa56182 Implement EventHandler capable of proxying between TFW and named pipes 2019-05-13 10:09:06 +02:00
Kristóf Tóth
6ea0967a21 Fork PipeIOServer to TFW 2019-05-13 10:08:59 +02:00
Kristóf Tóth
0771a068e0 Implement helper to get all EventHandler instances in a given stack frame 2019-05-02 14:27:48 +02:00
Kristóf Tóth
1d969f0967 Implement lazy_factory 🍰 2018-10-09 11:25:11 +02:00
Kristóf Tóth
21f05ad850 Silence unjust pylint warning 2018-08-06 15:52:01 +02:00
Kristóf Tóth
44bdc96547 Support changing gitignore from event handler API 2018-08-06 15:47:14 +02:00
Kristóf Tóth
b7ed4c3d0f Implement gitignore functionality in SnapshotProvider 2018-08-06 15:42:51 +02:00
Kristóf Tóth
59dce4a848 Restore latest snapshot if no date is provided 2018-08-06 14:55:58 +02:00
Kristóf Tóth
cbb807dfb4 Implement restore_snapshot latest commit on branch detection 2018-08-06 14:19:18 +02:00
Kristóf Tóth
782df25bee Fix broken init_git_dir logic 🐛 2018-08-06 13:40:16 +02:00
Kristóf Tóth
b140550686 Remove debugging log from CommandsEqual 2018-08-06 13:16:20 +02:00
Kristóf Tóth
01e5577890 Document FSMManagingEventHandler 2018-08-04 23:27:18 +02:00
Kristóf Tóth
f6d77e1132 Add docstrings to CommandsEqual 2018-08-04 21:49:06 +02:00
Kristóf Tóth
16c936b2cd Add exclude_patterns support for CommandsEqual 2018-08-04 21:12:06 +02:00
Kristóf Tóth
4f881a0ea0 Implement must_contain_patterns CommandsEqual 2018-08-03 16:07:12 +02:00
Kristóf Tóth
8454236bc8 Implement must_begin_similarly constraint CommandsEqual 2018-08-03 15:13:02 +02:00
Kristóf Tóth
b6d8f7913f Improve CommandsEqual with fuzzy logic 2018-08-03 15:01:44 +02:00
Kristóf Tóth
7572699e55 Start working on something better than == for history checks 2018-08-03 13:40:34 +02:00
Kristóf Tóth
088a1cefc5 Fix initialization issues with DirectorySnapshottingEH 2018-08-03 11:58:03 +02:00
Kristóf Tóth
e383be0149 Fix restore_snapshot() choking on timestamps before initial commit 2018-08-03 11:55:51 +02:00
Kristóf Tóth
3d2e3e7db3 Fix python3.7 incompatibilities in SnapshotProvider 2018-08-03 11:39:55 +02:00
Kristóf Tóth
3fee8fee20 Implement first version of DirectorySnapshottingEventHandler 2018-08-01 17:24:39 +02:00
Kristóf Tóth
df0e24319d Fix SnapshotProvider failing on taking_snapshot without changes 2018-08-01 17:19:31 +02:00
Kristóf Tóth
2e97d18340 Fix SnapshotProvider failing depending on python3.7 2018-08-01 17:18:43 +02:00
Kristóf Tóth
e3b97ee190 Fix message sequencing not being global 2018-08-01 17:15:42 +02:00
Kristóf Tóth
564c97e66a Remove unused variable from terminado server 2018-08-01 14:17:17 +02:00
Kristóf Tóth
14a98587a4 Silence pylint false positive 2018-07-31 15:18:35 +02:00
Kristóf Tóth
b6d72812c4 Refactor ZMQWSProxy filter and callback initialization 2018-07-31 13:34:00 +02:00
Kristóf Tóth
a04b078513 Implement message sequence numbers in ZMQWSProxy 2018-07-31 13:34:00 +02:00
Kristóf Tóth
d94bc37d48 Add event logging to FSMAware 2018-07-31 13:34:00 +02:00
Kristóf Tóth
a2d1531ea4 Fix sphinx docs broken after dependency hell 2018-07-31 13:34:00 +02:00
Kristóf Tóth
732b896d17 Add docstrings to YamlFSM 2018-07-31 13:34:00 +02:00
Kristóf Tóth
8df196f258 Add note on step_next trigger to LinearFSM 2018-07-31 13:34:00 +02:00
Kristóf Tóth
3d3328f835 Fix bad indentation 2018-07-31 13:34:00 +02:00
Kristóf Tóth
7a670f37f2 Resolve Python circular import hell - hopefully forever 2018-07-31 13:33:59 +02:00
Kristóf Tóth
7fb5a37831 Make TFWServer FSMAware 2018-07-31 13:33:59 +02:00
Kristóf Tóth
ca09e868f1 Fix ZMQWSProxy not executing filters/callbacks on nested messages 2018-07-31 13:33:59 +02:00
Kristóf Tóth
5715c57ebc Move FSMAware to a separate file in networking 2018-07-31 13:33:59 +02:00
Kristóf Tóth
a6b7fa04ab Rework fsm_update API 2018-07-31 13:33:59 +02:00
Kristóf Tóth
d718b6425e Refactor FSMAware part from FSMAwareEH to a separate class 2018-07-31 13:33:59 +02:00
Kristóf Tóth
8c6a14cef5 Move fsm stuff to a separate directory in lib 2018-07-31 13:33:59 +02:00
Kristóf Tóth
52b2adb9c4 Add missing legal boilerplate to YamlFSM 2018-07-31 13:33:59 +02:00
Kristóf Tóth
3dff144b91 Fix RateLimiter family debounce stuff 2018-07-31 11:48:41 +02:00
Kristóf Tóth
8a0928beca Fix RateLimiter semantics 2018-07-31 09:56:18 +02:00
Kristóf Tóth
3c3012ffe8 Add docstrings to AsyncRateLimiter 2018-07-31 09:23:49 +02:00
Kristóf Tóth
128f48702a Make AsyncRateLimiter thread safe 2018-07-31 09:14:33 +02:00
Kristóf Tóth
4679a3494c Add docstrings to RateLimiter 2018-07-31 05:19:15 +02:00
Kristóf Tóth
ee7adb10be Refactor AsyncRateLimiter for ease of use (IOLoop passing) 2018-07-30 18:04:24 +02:00
Kristóf Tóth
eeb36b6488 Implement IOLoop based AsyncRateLimiter 2018-07-30 17:55:52 +02:00
Kristóf Tóth
6044f70804 Refactor RateLimiter to allow proper subclassing 2018-07-30 17:54:26 +02:00
Kristóf Tóth
b3e8af2024 Implement require_signature mode in FSMManagingEH 2018-07-23 17:16:37 +02:00
Kristóf Tóth
e846a2b111 Make TFWServer sign commands issued due to signed triggers 2018-07-23 17:15:14 +02:00
Kristóf Tóth
8ba99d8e36 Make FSMBase.step() return an exit code 2018-07-23 17:14:14 +02:00
Kristóf Tóth
1a52ed2c9a Add error handling logic to MessageStorage 2018-07-20 20:47:10 +02:00
Kristóf Tóth
bad7297c94 Fix TerminalEventHandler returning none as 'data' 2018-07-20 20:34:18 +02:00
Kristóf Tóth
cb4ba563e9 Fix LinearFSM not being compatible with controller stuff 2018-07-20 15:03:49 +02:00
Kristóf Tóth
96b4e314a9 Add 'in_accepted_state' to fsm_update messages 2018-07-20 14:40:47 +02:00
Kristóf Tóth
e1e0acb3b8 Fix FSMBase default accepted_state 2018-07-20 14:38:26 +02:00
Kristóf Tóth
3e5dd6e102 Fix typo 2018-07-20 10:27:58 +02:00
Kristóf Tóth
bd6cdc5409 Fix stored messages growing infinitely on reloads 2018-07-20 09:34:13 +02:00
Kristóf Tóth
7376504dd2 Make frontend state recovery recover selected file in IDE 2018-07-20 09:34:07 +02:00
Kristóf Tóth
a8fdd3b0d8 Refactor SnapshotProvider 2018-07-19 16:54:11 +02:00