diff options
author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2023-01-04 08:03:18 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-04 08:03:18 +0000 |
commit | 84399835412e51a7ed8002fdc50caba2041211ef (patch) | |
tree | e9e423d03713e9a8c13a0720c2af9ab46b135f4f | |
parent | bb1f78cdf35327ef35575a3ca0e60b2dac043ae2 (diff) | |
parent | 705adf312d646a0420cc3b33897d3d49b2e85b77 (diff) |
Merge #100
100: Add mqtt tester to flake r=TheNeikos a=TheNeikos
Co-authored-by: Marcel Müller <neikos@neikos.email>
Co-authored-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | flake.lock | 12 | ||||
-rw-r--r-- | flake.nix | 8 | ||||
-rw-r--r-- | mqtt-tester/src/client_report.rs | 7 | ||||
-rw-r--r-- | mqtt-tester/src/command.rs | 8 | ||||
-rw-r--r-- | mqtt-tester/src/report.rs | 1 | ||||
-rw-r--r-- | mqtt-tester/src/util.rs | 2 |
6 files changed, 21 insertions, 17 deletions
@@ -10,11 +10,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1672095661, - "narHash": "sha256-7NTsdCn3qsvU7A+1/7tY8pxbq0DYy1pFYNpzN6he9lI=", + "lastModified": 1672813857, + "narHash": "sha256-JLDz8J8x+iWYdkqkZnI8wAPTxlXmJI7adhnGNjSDN9I=", "owner": "ipetkov", "repo": "crane", - "rev": "98894bb39b03bfb379c5e10523cd61160e1ac782", + "rev": "ec10516aadb705a20b043088072a556e3cb95253", "type": "github" }, "original": { @@ -104,11 +104,11 @@ ] }, "locked": { - "lastModified": 1670034122, - "narHash": "sha256-EqmuOKucPWtMvCZtHraHr3Q3bgVszq1x2PoZtQkUuEk=", + "lastModified": 1672712534, + "narHash": "sha256-8S0DdMPcbITnlOu0uA81mTo3hgX84wK8S9wS34HEFY4=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "a0d5773275ecd4f141d792d3a0376277c0fc0b65", + "rev": "69fb7bf0a8c40e6c4c197fa1816773774c8ac59f", "type": "github" }, "original": { @@ -38,11 +38,12 @@ cargoArtifacts = craneLib.buildDepsOnly { inherit src; + cargoExtraArgs = "--all-features --all"; }; cloudmqtt = craneLib.buildPackage { inherit cargoArtifacts src version; - cargoExtraArgs = "--all-features"; + cargoExtraArgs = "--all-features --all"; }; cloudmqtt-client = craneLib.buildPackage { @@ -64,6 +65,7 @@ cloudmqtt-clippy = craneLib.cargoClippy { inherit cargoArtifacts src; + cargoExtraArgs = "--all --all-features"; cargoClippyExtraArgs = "-- --deny warnings"; }; @@ -93,12 +95,10 @@ devShells.default = devShells.cloudmqtt; devShells.cloudmqtt = pkgs.mkShell { - buildInputs = [ - ]; + buildInputs = [ ]; nativeBuildInputs = [ rustTarget - #unstableRustTarget pkgs.cargo-msrv pkgs.cargo-deny diff --git a/mqtt-tester/src/client_report.rs b/mqtt-tester/src/client_report.rs index 944ae1d..588b957 100644 --- a/mqtt-tester/src/client_report.rs +++ b/mqtt-tester/src/client_report.rs @@ -10,11 +10,10 @@ use std::time::Duration; use futures::FutureExt; use mqtt_format::v3::connect_return::MConnectReturnCode; -use mqtt_format::v3::header::MPacketKind; + use mqtt_format::v3::identifier::MPacketIdentifier; -use mqtt_format::v3::packet::{MConnack, MPacket, MPublish, MSubscribe}; -use mqtt_format::v3::qos::MQualityOfService; -use mqtt_format::v3::strings::MString; +use mqtt_format::v3::packet::{MConnack, MPacket, MSubscribe}; + use mqtt_format::v3::subscription_request::MSubscriptionRequests; use tokio::process::Command; diff --git a/mqtt-tester/src/command.rs b/mqtt-tester/src/command.rs index e63c7f2..7e12261 100644 --- a/mqtt-tester/src/command.rs +++ b/mqtt-tester/src/command.rs @@ -12,10 +12,14 @@ pub struct Command { inner: tokio::process::Command, } +pub type CheckBytesFn = Box<dyn FnOnce(&[u8]) -> bool>; + pub enum ClientCommand { Send(Vec<u8>), + #[allow(unused)] WaitFor(Vec<u8>), - WaitAndCheck(Box<dyn FnOnce(&[u8]) -> bool>), + #[allow(unused)] + WaitAndCheck(CheckBytesFn), } impl Command { @@ -41,7 +45,7 @@ impl Command { to_client.write_all(&bytes).await.into_diagnostic()? } ClientCommand::WaitFor(expected_bytes) => { - let mut buf = Vec::with_capacity(expected_bytes.len()); + let mut buf = vec![0; expected_bytes.len()]; match tokio::time::timeout( std::time::Duration::from_millis(100), from_client.read_exact(&mut buf), diff --git a/mqtt-tester/src/report.rs b/mqtt-tester/src/report.rs index 65f3a68..8ebc3c2 100644 --- a/mqtt-tester/src/report.rs +++ b/mqtt-tester/src/report.rs @@ -10,6 +10,7 @@ use std::io::Write; pub enum ReportResult { Success, Failure, + #[allow(unused)] Inconclusive, } diff --git a/mqtt-tester/src/util.rs b/mqtt-tester/src/util.rs index b4e19ec..2d1c7f9 100644 --- a/mqtt-tester/src/util.rs +++ b/mqtt-tester/src/util.rs @@ -9,7 +9,7 @@ use std::pin::Pin; use miette::IntoDiagnostic; use mqtt_format::v3::packet::MPacket; -pub async fn packet_to_vec<'m>(mpacket: MPacket<'m>) -> miette::Result<Vec<u8>> { +pub async fn packet_to_vec(mpacket: MPacket<'_>) -> miette::Result<Vec<u8>> { let mut buf = vec![]; { let mut cursor = futures::io::Cursor::new(&mut buf); |