summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2023-01-04 08:03:18 +0000
committerGitHub <noreply@github.com>2023-01-04 08:03:18 +0000
commit84399835412e51a7ed8002fdc50caba2041211ef (patch)
treee9e423d03713e9a8c13a0720c2af9ab46b135f4f
parentbb1f78cdf35327ef35575a3ca0e60b2dac043ae2 (diff)
parent705adf312d646a0420cc3b33897d3d49b2e85b77 (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.lock12
-rw-r--r--flake.nix8
-rw-r--r--mqtt-tester/src/client_report.rs7
-rw-r--r--mqtt-tester/src/command.rs8
-rw-r--r--mqtt-tester/src/report.rs1
-rw-r--r--mqtt-tester/src/util.rs2
6 files changed, 21 insertions, 17 deletions
diff --git a/flake.lock b/flake.lock
index eb31065..16a30e5 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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": {
diff --git a/flake.nix b/flake.nix
index f9049f9..4561154 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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);