From 13fec09d7453db3fd8c1916416faec6a096e67a5 Mon Sep 17 00:00:00 2001 From: Dennis Schwerdel Date: Mon, 9 Oct 2023 00:15:37 +0200 Subject: [PATCH] Fixes & Tests --- Cargo.lock | 7 +++++++ Cargo.toml | 1 + src/engine/device_thread.rs | 1 + src/engine/extras_thread.rs | 1 + src/engine/housekeep_thread.rs | 1 + src/engine/socket_thread.rs | 27 ++++++++++++++++++++------- src/tests/common.rs | 13 ++++++++----- 7 files changed, 39 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cfc3173..49ed24c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1299,6 +1299,7 @@ dependencies = [ "tungstenite", "url", "yaml-rust", + "yansi", ] [[package]] @@ -1583,6 +1584,12 @@ dependencies = [ "linked-hash-map", ] +[[package]] +name = "yansi" +version = "1.0.0-rc.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1367295b8f788d371ce2dbc842c7b709c73ee1364d30351dd300ec2203b12377" + [[package]] name = "zeroize" version = "1.6.0" diff --git a/Cargo.toml b/Cargo.toml index 4f20e88..1ed6724 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,6 +43,7 @@ signal = "0.7" tempfile = "3" criterion = { version = "0.5", features = ["html_reports"] } iai = "0.1" +yansi = "1.0.0-gamma" [features] default = ["nat", "websocket", "wizard"] diff --git a/src/engine/device_thread.rs b/src/engine/device_thread.rs index c2a09f3..c00b622 100644 --- a/src/engine/device_thread.rs +++ b/src/engine/device_thread.rs @@ -53,6 +53,7 @@ impl DeviceThread ExtrasThread { } pub fn run(mut self) { + panic!(); while self.iteration() {} } } diff --git a/src/engine/housekeep_thread.rs b/src/engine/housekeep_thread.rs index 3572122..d0c5a93 100644 --- a/src/engine/housekeep_thread.rs +++ b/src/engine/housekeep_thread.rs @@ -62,6 +62,7 @@ impl HousekeepThread { } pub fn run(mut self) { + panic!(); while self.iteration() {} } } diff --git a/src/engine/socket_thread.rs b/src/engine/socket_thread.rs index 904b13a..e815307 100644 --- a/src/engine/socket_thread.rs +++ b/src/engine/socket_thread.rs @@ -149,7 +149,9 @@ impl SocketThread(&mut self, addr: Addr) -> Result<(), Error> { @@ -233,6 +235,7 @@ impl SocketThread SocketThread self.coms.send_to(src, &mut self.buffer)?, + MessageResult::Reply => { + self.coms.send_to(src, &mut self.buffer)?; + self.buffer.clear(); + }, MessageResult::None => { self.buffer.clear(); } @@ -347,7 +353,8 @@ impl SocketThread SocketThread { self.pending_inits.insert(src, init); - self.coms.send_to(src, &mut self.buffer) + self.coms.send_to(src, &mut self.buffer)?; + self.buffer.clear(); + Ok(()) } Err(err) => { self.coms.traffic.count_invalid_protocol(self.buffer.len()); @@ -401,9 +410,10 @@ impl SocketThread SocketThread SocketThread Simulator

{ DebugLogger::set_node(self.next_port as usize); self.next_port += 1; let node = TestNode::new(&config, MockSocket::new(addr), MockDevice::new(), None, None).unwrap(); - DebugLogger::set_node(0); self.nodes.insert(addr, node); addr @@ -99,7 +102,7 @@ impl Simulator

{ #[allow(dead_code)] pub fn get_node(&mut self, addr: SocketAddr) -> &mut TestNode

{ let node = self.nodes.get_mut(&addr).unwrap(); - DebugLogger::set_node(node.get_num()); + //DebugLogger::set_node(node.get_num()); node }