Skip to content

Commit 7104235

Browse files
committed
Enable more clippy warnings
1 parent de445a8 commit 7104235

16 files changed

Lines changed: 156 additions & 123 deletions

File tree

Cargo.toml

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# -*- coding: utf-8 -*-
22

33
[workspace]
4-
members = [ "disktest", "disktest-lib" , "disktest-rawio"]
4+
members = [ "disktest", "disktest-lib" , "disktest-rawio" ]
55
resolver = "3"
66

77
[workspace.package]
@@ -10,17 +10,17 @@ homepage = "https://bues.ch/h/disktest"
1010
repository = "https://github.com/mbuesch/disktest"
1111
license = "MIT OR Apache-2.0"
1212
readme = "README.md"
13-
authors = ["Michael Büsch <m@bues.ch>"]
14-
categories = ["command-line-utilities", "filesystem", "hardware-support"]
15-
keywords = ["disk", "HDD", "SSD", "flash", "SD-card"]
13+
authors = [ "Michael Büsch <m@bues.ch>" ]
14+
categories = [ "command-line-utilities", "filesystem", "hardware-support" ]
15+
keywords = [ "disk", "HDD", "SSD", "flash", "SD-card" ]
1616
edition = "2024"
1717
rust-version = "1.85"
1818
version = "2.0.0"
1919

2020
[workspace.dependencies]
2121
anyhow = "1"
2222
chrono = "0.4"
23-
clap = { version = "4", features = ["derive", "color", "wrap_help"] }
23+
clap = { version = "4", features = [ "derive", "color", "wrap_help" ] }
2424
libc = "0.2"
2525
movavg = "2"
2626
rand = "0.10"
@@ -34,6 +34,36 @@ winapi = "0.3"
3434
disktest-lib = { version = "2", path = "./disktest-lib" }
3535
disktest-rawio = { version = "2", path = "./disktest-rawio" }
3636

37+
[workspace.lints.clippy]
38+
# Lints from `cargo` group
39+
cargo = "warn"
40+
multiple-crate-versions = { level = "allow", priority = 1 }
41+
42+
# Lints from `pedantic` group
43+
#pedantic = "warn"
44+
default_trait_access = { level = "allow", priority = 1 }
45+
implicit_clone = { level = "allow", priority = 1 }
46+
manual_string_new = { level = "allow", priority = 1 }
47+
missing-errors-doc = { level = "allow", priority = 1 }
48+
missing-panics-doc = { level = "allow", priority = 1 }
49+
must_use_candidate = { level = "allow", priority = 1 }
50+
similar-names = { level = "allow", priority = 1 }
51+
struct-excessive-bools = { level = "allow", priority = 1 }
52+
unnecessary_wraps = { level = "allow", priority = 1 }
53+
54+
# Lints from `restriction` group
55+
clone_on_ref_ptr = "warn"
56+
dbg_macro = "warn"
57+
mem_forget = "warn"
58+
precedence_bits = "warn"
59+
todo = "warn"
60+
try_err = "warn"
61+
undocumented_unsafe_blocks = "warn"
62+
unimplemented = "warn"
63+
unseparated_literal_suffix = "warn"
64+
unused_result_ok = "warn"
65+
unused_trait_names = "warn"
66+
3767
[profile.dev]
3868
lto = "thin"
3969
panic = "abort"

disktest-lib/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ signal-hook = { workspace = true }
2727
[dev-dependencies]
2828
tempfile = { workspace = true }
2929

30-
[lints.clippy]
31-
undocumented_unsafe_blocks = "warn"
30+
[lints]
31+
workspace = true
3232

3333
# vim: ts=4 sw=4 expandtab

disktest-lib/src/bufcache.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ impl BufCache {
3434

3535
pub fn push(&mut self, cons_id: u32, buf: Vec<u8>) {
3636
let Some(snd) = self.snd.get(&cons_id) else {
37-
panic!("BufCache: Consumer {} does not exist.", cons_id);
37+
panic!("BufCache: Consumer {cons_id} does not exist.");
3838
};
3939
if let Err(e) = snd.send(buf) {
4040
if self.quiet_level < DisktestQuiet::NoWarn {
41-
eprintln!("BufCache: Failed to send: {}", e);
41+
eprintln!("BufCache: Failed to send: {e}");
4242
}
4343
}
4444
}

disktest-lib/src/disktest.rs

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
//
1111

1212
use crate::stream_aggregator::{DtStreamAgg, DtStreamAggChunk};
13-
use crate::util::{Hhmmss, prettybytes};
13+
use crate::util::{Hhmmss as _, prettybytes};
1414
use anyhow as ah;
1515
use chrono::prelude::*;
16-
use disktest_rawio::{DEFAULT_SECTOR_SIZE, RawIo, RawIoOsIntf, RawIoResult};
16+
use disktest_rawio::{DEFAULT_SECTOR_SIZE, RawIo, RawIoOsIntf as _, RawIoResult};
1717
use movavg::MovAvg;
1818
use std::cmp::min;
1919
use std::path::{Path, PathBuf};
@@ -87,7 +87,7 @@ impl DisktestFile {
8787
// If bytes have been written, try to drop the operating system caches.
8888
if drop_count > 0 {
8989
if let Err(e) = io.drop_file_caches(drop_offset, drop_count) {
90-
return Err(ah::format_err!("Cache drop error: {}", e));
90+
return Err(ah::format_err!("Cache drop error: {e}"));
9191
}
9292
} else {
9393
io.close()?;
@@ -155,7 +155,7 @@ impl DisktestFile {
155155
}
156156
}
157157

158-
/// Get a reference to the PathBuf in use.
158+
/// Get a reference to the `PathBuf` in use.
159159
fn get_path(&self) -> &PathBuf {
160160
&self.path
161161
}
@@ -168,7 +168,7 @@ impl Drop for DisktestFile {
168168
eprintln!("WARNING: File not closed. Closing now...");
169169
}
170170
if let Err(e) = self.close() {
171-
panic!("Failed to drop operating system caches: {}", e);
171+
panic!("Failed to drop operating system caches: {e}");
172172
}
173173
}
174174
}
@@ -188,7 +188,7 @@ pub struct Disktest {
188188
}
189189

190190
impl Disktest {
191-
/// Unlimited max_bytes.
191+
/// Unlimited `max_bytes`.
192192
pub const UNLIMITED: u64 = u64::MAX;
193193

194194
/// Create a new Disktest instance.
@@ -199,14 +199,14 @@ impl Disktest {
199199
/// that is written to disk.
200200
/// If unsure, use `Default::default()`.
201201
/// - seed: The seed for the random data stream generator.
202-
/// - round_id: The disk test round. Every round gets a unique data stream.
202+
/// - `round_id`: The disk test round. Every round gets a unique data stream.
203203
/// If unsure, use `0` (first round).
204-
/// - invert_pattern: Bitwise invert the random data stream.
204+
/// - `invert_pattern`: Bitwise invert the random data stream.
205205
/// If unsure, use `false` (don't invert).
206-
/// - nr_threads: The number of threads to spawn when generating the random data stream.
206+
/// - `nr_threads`: The number of threads to spawn when generating the random data stream.
207207
/// The special value `0` means: Use all CPUs available in the system.
208208
/// If unsure, use `1` (One CPU).
209-
/// - quiet_level: The console verbosity of the Disktest code. See [DisktestQuiet].
209+
/// - `quiet_level`: The console verbosity of the Disktest code. See [`DisktestQuiet`].
210210
/// - abort: If this optional flag is set to `true` (e.g. by another thread) the Disktest
211211
/// process will abort as soon as possible.
212212
/// If unsure, use `None`.
@@ -402,7 +402,7 @@ impl Disktest {
402402
println!("Writing stopped. Syncing...");
403403
}
404404
if let Err(e) = file.sync() {
405-
return Err(ah::format_err!("Sync failed: {}", e));
405+
return Err(ah::format_err!("Sync failed: {e}"));
406406
}
407407

408408
self.log(
@@ -414,8 +414,7 @@ impl Disktest {
414414

415415
if let Err(e) = file.close() {
416416
return Err(ah::format_err!(
417-
"Failed to drop operating system caches: {}",
418-
e
417+
"Failed to drop operating system caches: {e}"
419418
));
420419
}
421420
if success && self.quiet_level < DisktestQuiet::NoInfo {
@@ -429,7 +428,7 @@ impl Disktest {
429428
pub fn write(&mut self, file: DisktestFile, seek: u64, max_bytes: u64) -> ah::Result<u64> {
430429
let mut file = file;
431430
let mut bytes_left = max_bytes;
432-
let mut bytes_written = 0u64;
431+
let mut bytes_written = 0_u64;
433432

434433
let write_chunk_size = self.init(&mut file, "Writing", seek, max_bytes)?;
435434
loop {
@@ -490,7 +489,7 @@ impl Disktest {
490489
true,
491490
);
492491
if let Err(e) = file.close() {
493-
return Err(ah::format_err!("Failed to close device: {}", e));
492+
return Err(ah::format_err!("Failed to close device: {e}"));
494493
}
495494
Ok(())
496495
}
@@ -506,7 +505,7 @@ impl Disktest {
506505
) -> ah::Error {
507506
if let Err(e) = self.verify_finalize(file, false, bytes_read) {
508507
if self.quiet_level < DisktestQuiet::NoWarn {
509-
eprintln!("{}", e);
508+
eprintln!("{e}");
510509
}
511510
}
512511
for (i, buffer_byte) in buffer.iter().enumerate().take(read_count) {
@@ -517,9 +516,8 @@ impl Disktest {
517516
"Data MISMATCH at {}!",
518517
prettybytes(pos, true, true, true)
519518
);
520-
} else {
521-
return ah::format_err!("Data MISMATCH at byte {}!", pos);
522519
}
520+
return ah::format_err!("Data MISMATCH at byte {pos}!");
523521
}
524522
}
525523
panic!("Internal error: verify_failed() no mismatch.");
@@ -529,7 +527,7 @@ impl Disktest {
529527
pub fn verify(&mut self, file: DisktestFile, seek: u64, max_bytes: u64) -> ah::Result<u64> {
530528
let mut file = file;
531529
let mut bytes_left = max_bytes;
532-
let mut bytes_read = 0u64;
530+
let mut bytes_read = 0_u64;
533531

534532
let readbuf_len = self.init(&mut file, "Verifying", seek, max_bytes)? as usize;
535533
let mut buffer = vec![0; readbuf_len];
@@ -580,7 +578,7 @@ impl Disktest {
580578
e
581579
));
582580
}
583-
};
581+
}
584582

585583
if self.abort_requested() {
586584
let _ = self.verify_finalize(&mut file, false, bytes_read);
@@ -597,7 +595,7 @@ mod tests {
597595
use super::*;
598596
use crate::generator::{GeneratorChaCha8, GeneratorChaCha12, GeneratorChaCha20, GeneratorCrc};
599597
use std::fs::OpenOptions;
600-
use std::io::{Seek, SeekFrom, Write};
598+
use std::io::{Seek as _, SeekFrom, Write as _};
601599
use std::path::PathBuf;
602600
use tempfile::tempdir;
603601

@@ -620,7 +618,7 @@ mod tests {
620618

621619
let mk_filepath = |num| {
622620
let mut path = PathBuf::from(tdir_path);
623-
path.push(format!("tmp-{}.img", num));
621+
path.push(format!("tmp-{num}.img"));
624622
path
625623
};
626624

disktest-lib/src/generator.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ pub use crate::generator::chacha::GeneratorChaCha20;
2121
pub use crate::generator::crc::GeneratorCrc;
2222

2323
pub trait NextRandom {
24-
/// Get the size of the next() output with count = 1, in bytes.
24+
/// Get the size of the `next()` output with count = 1, in bytes.
2525
fn get_base_size(&self) -> usize;
2626

2727
/// Generate the next chunks.

disktest-lib/src/generator/chacha.rs

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -81,24 +81,25 @@ macro_rules! GeneratorChaCha {
8181

8282
#[test]
8383
fn test_cmp_result() {
84-
let mut a = $Generator::new(&[1, 2, 3]);
8584
fn reduce(acc: u32, (i, x): (usize, &u8)) -> u32 {
8685
acc.rotate_left(i as u32) ^ (*x as u32)
8786
}
8887

89-
let mut buf = vec![0u8; $Generator::BASE_SIZE * (1024 + 512)];
88+
let mut a = $Generator::new(&[1, 2, 3]);
89+
90+
let mut buf = vec![0_u8; $Generator::BASE_SIZE * (1024 + 512)];
9091
a.next(&mut buf, 1024 + 512);
9192
assert_eq!(buf.iter().enumerate().fold(0, reduce), $testresult0);
9293

93-
let mut buf = vec![0u8; $Generator::BASE_SIZE * (1024 + 512)];
94+
let mut buf = vec![0_u8; $Generator::BASE_SIZE * (1024 + 512)];
9495
a.next(&mut buf, 1024 + 512);
9596
assert_eq!(buf.iter().enumerate().fold(0, reduce), $testresult1);
9697

97-
let mut buf = vec![0u8; $Generator::BASE_SIZE * (1024 + 512) * 2];
98+
let mut buf = vec![0_u8; $Generator::BASE_SIZE * (1024 + 512) * 2];
9899
a.next(&mut buf, (1024 + 512) * 2);
99100
assert_eq!(buf.iter().enumerate().fold(0, reduce), $testresult2);
100101

101-
let mut buf = vec![0u8; $Generator::BASE_SIZE * (1024 + 512) * 3];
102+
let mut buf = vec![0_u8; $Generator::BASE_SIZE * (1024 + 512) * 3];
102103
a.next(&mut buf, (1024 + 512) * 3);
103104
assert_eq!(buf.iter().enumerate().fold(0, reduce), $testresult3);
104105
}
@@ -110,10 +111,10 @@ macro_rules! GeneratorChaCha {
110111
let mut res_a: Vec<Vec<u8>> = vec![];
111112
let mut res_b: Vec<Vec<u8>> = vec![];
112113
for _ in 0..2 {
113-
let mut buf = vec![0u8; $Generator::BASE_SIZE];
114+
let mut buf = vec![0_u8; $Generator::BASE_SIZE];
114115
a.next(&mut buf, 1);
115116
res_a.push(buf);
116-
let mut buf = vec![0u8; $Generator::BASE_SIZE];
117+
let mut buf = vec![0_u8; $Generator::BASE_SIZE];
117118
b.next(&mut buf, 1);
118119
res_b.push(buf);
119120
}
@@ -130,10 +131,10 @@ macro_rules! GeneratorChaCha {
130131
let mut res_a: Vec<Vec<u8>> = vec![];
131132
let mut res_b: Vec<Vec<u8>> = vec![];
132133
for _ in 0..2 {
133-
let mut buf = vec![0u8; $Generator::BASE_SIZE];
134+
let mut buf = vec![0_u8; $Generator::BASE_SIZE];
134135
a.next(&mut buf, 1);
135136
res_a.push(buf);
136-
let mut buf = vec![0u8; $Generator::BASE_SIZE];
137+
let mut buf = vec![0_u8; $Generator::BASE_SIZE];
137138
b.next(&mut buf, 1);
138139
res_b.push(buf);
139140
}
@@ -147,13 +148,13 @@ macro_rules! GeneratorChaCha {
147148
fn test_concat_equal() {
148149
let mut a = $Generator::new(&[1, 2, 3]);
149150
let mut b = $Generator::new(&[1, 2, 3]);
150-
let mut buf_a = vec![0u8; $Generator::BASE_SIZE * 2];
151+
let mut buf_a = vec![0_u8; $Generator::BASE_SIZE * 2];
151152
a.next(&mut buf_a[0..$Generator::BASE_SIZE], 1);
152153
a.next(
153154
&mut buf_a[$Generator::BASE_SIZE..$Generator::BASE_SIZE * 2],
154155
1,
155156
);
156-
let mut buf_b = vec![0u8; $Generator::BASE_SIZE * 2];
157+
let mut buf_b = vec![0_u8; $Generator::BASE_SIZE * 2];
157158
b.next(&mut buf_b, 2);
158159
assert_eq!(buf_a, buf_b);
159160
}
@@ -163,9 +164,9 @@ macro_rules! GeneratorChaCha {
163164
let mut a = $Generator::new(&[1, 2, 3]);
164165
let mut b = $Generator::new(&[1, 2, 3]);
165166
b.seek($Generator::BASE_SIZE as u64 * 2).unwrap();
166-
let mut bdata = vec![0u8; $Generator::BASE_SIZE];
167+
let mut bdata = vec![0_u8; $Generator::BASE_SIZE];
167168
b.next(&mut bdata, 1);
168-
let mut adata = vec![0u8; $Generator::BASE_SIZE];
169+
let mut adata = vec![0_u8; $Generator::BASE_SIZE];
169170
a.next(&mut adata, 1);
170171
assert_ne!(adata, bdata);
171172
a.next(&mut adata, 1);
@@ -183,30 +184,30 @@ GeneratorChaCha!(
183184
GeneratorChaCha20,
184185
ChaCha20Rng,
185186
tests_chacha20,
186-
331195744,
187-
1401252284,
188-
1567136089,
189-
3153433807
187+
331_195_744,
188+
1_401_252_284,
189+
1_567_136_089,
190+
3_153_433_807
190191
);
191192

192193
GeneratorChaCha!(
193194
GeneratorChaCha12,
194195
ChaCha12Rng,
195196
tests_chacha12,
196-
477482776,
197-
774733417,
198-
473700519,
199-
3620480628
197+
477_482_776,
198+
774_733_417,
199+
473_700_519,
200+
3_620_480_628
200201
);
201202

202203
GeneratorChaCha!(
203204
GeneratorChaCha8,
204205
ChaCha8Rng,
205206
tests_chacha8,
206-
3691419247,
207-
1996469034,
208-
1245532037,
209-
1660157839
207+
3_691_419_247,
208+
1_996_469_034,
209+
1_245_532_037,
210+
1_660_157_839
210211
);
211212

212213
// vim: ts=4 sw=4 expandtab

0 commit comments

Comments
 (0)