From 4ec193dcc5a71c6f1d501b011ce5b7407820dc34 Mon Sep 17 00:00:00 2001 From: Micah Elizabeth Scott Date: Mon, 14 Aug 2023 13:04:51 -0700 Subject: [PATCH 1/5] geoip-db-tool: Fix clippy warnings This fixes warnings found by clippy 0.1.71 on Rust 1.71.1 Tested this by doing a geoip update without committing changes. --- scripts/maint/geoip/geoip-db-tool/src/db.rs | 16 ++++++++-------- scripts/maint/geoip/geoip-db-tool/src/main.rs | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/scripts/maint/geoip/geoip-db-tool/src/db.rs b/scripts/maint/geoip/geoip-db-tool/src/db.rs index 316182d823..3d631a3f98 100644 --- a/scripts/maint/geoip/geoip-db-tool/src/db.rs +++ b/scripts/maint/geoip/geoip-db-tool/src/db.rs @@ -13,9 +13,9 @@ where } pub enum AnyBlock { - NetBlock(NetBlock), - AsBlock(AsBlock), - OtherBlock, + Net(NetBlock), + As(AsBlock), + Other, } impl BlockReader @@ -50,13 +50,13 @@ where fn get_block(&mut self) -> Option> { let mut kv = HashMap::new(); - while let Some(line) = self.iter.next() { + for line in self.iter.by_ref() { //dbg!(&line); if let Err(e) = line { return Some(Err(e)); } let line_orig = line.unwrap(); - let line = line_orig.splitn(2, '#').next().unwrap().trim(); + let line = line_orig.split('#').next().unwrap().trim(); if line.is_empty() { if kv.is_empty() { continue; @@ -80,13 +80,13 @@ where let asn = kv.get("aut-num").unwrap(); // XXXX handle error better assert!(asn.starts_with("AS")); let asn = asn[2..].parse().unwrap(); - return Some(Ok(AnyBlock::AsBlock(AsBlock { name, asn }))); + return Some(Ok(AnyBlock::As(AsBlock { name, asn }))); } let net = if let Some(net) = kv.get("net") { net.parse().unwrap() //XXXX handle the error better. } else { - return Some(Ok(AnyBlock::OtherBlock)); + return Some(Ok(AnyBlock::Other)); }; let asn = if let Some(asn) = kv.get("aut-num") { @@ -113,7 +113,7 @@ where let is_anycast = is_true(kv.get("is-anycast-proxy")); let is_satellite = is_true(kv.get("is-satellite-provider")); - Some(Ok(AnyBlock::NetBlock(NetBlock { + Some(Ok(AnyBlock::Net(NetBlock { net, asn, cc, diff --git a/scripts/maint/geoip/geoip-db-tool/src/main.rs b/scripts/maint/geoip/geoip-db-tool/src/main.rs index b255981aae..cbadd6623f 100644 --- a/scripts/maint/geoip/geoip-db-tool/src/main.rs +++ b/scripts/maint/geoip/geoip-db-tool/src/main.rs @@ -152,8 +152,8 @@ fn convert(args: Args) -> std::io::Result<()> { // Read blocks, and then sort them by specificity and address. for nb in reader { match nb { - db::AnyBlock::AsBlock(a) => networks.push(a), - db::AnyBlock::NetBlock(n) => blocks.push(n), + db::AnyBlock::As(a) => networks.push(a), + db::AnyBlock::Net(n) => blocks.push(n), _ => {} } } From 317a56c1335b2c775383b5b439c5ab28a6201b20 Mon Sep 17 00:00:00 2001 From: Micah Elizabeth Scott Date: Mon, 14 Aug 2023 13:12:06 -0700 Subject: [PATCH 2/5] tor-c-equix: Fix clippy warning Clippy found a transmute that could have been a reborrow. --- src/ext/equix/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ext/equix/src/lib.rs b/src/ext/equix/src/lib.rs index 8eb163075a..716160b4d5 100644 --- a/src/ext/equix/src/lib.rs +++ b/src/ext/equix/src/lib.rs @@ -114,7 +114,7 @@ impl HashX { }, } unsafe extern "C" fn wrapper(buffer: *mut u64, callback: *mut c_void) { - let callback: &mut RngCallback = unsafe { mem::transmute(callback) }; + let callback = &mut *(callback as *mut RngCallback); buffer.write(callback(buffer.read())); } result From 824e9c6e164fc44ae5f1469cb3664f34e609c9cc Mon Sep 17 00:00:00 2001 From: Micah Elizabeth Scott Date: Mon, 14 Aug 2023 13:24:41 -0700 Subject: [PATCH 3/5] cargo: Move lockfile to root and update Change 3f66ff9b000d1fbaae106e58269fe2aa306bc453 added geoip-db-tool to the main workspace, so it's no longer using a local lockfile. Move its lock to the crate root, remove from gitignore, and update it. (We could also choose to not keep the lockfiles checked in, but it seems useful to have them in our test and maintenance tooling here.) --- .gitignore | 1 - Cargo.lock | 385 +++++++++++++++++++ scripts/maint/geoip/geoip-db-tool/Cargo.lock | 112 ------ 3 files changed, 385 insertions(+), 113 deletions(-) create mode 100644 Cargo.lock delete mode 100644 scripts/maint/geoip/geoip-db-tool/Cargo.lock diff --git a/.gitignore b/.gitignore index 8e6164631d..6d7dc6606c 100644 --- a/.gitignore +++ b/.gitignore @@ -47,7 +47,6 @@ core.* /.cache # / -/Cargo.lock /Makefile /Makefile.in /aclocal.m4 diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000000..5a55cac0e8 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,385 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "aho-corasick" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" +dependencies = [ + "memchr", +] + +[[package]] +name = "argh" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7e7e4aa7e40747e023c0761dafcb42333a9517575bbf1241747f68dd3177a62" +dependencies = [ + "argh_derive", + "argh_shared", +] + +[[package]] +name = "argh_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69f2bd7ff6ed6414f4e5521bd509bae46454bbd513801767ced3f21a751ab4bc" +dependencies = [ + "argh_shared", + "heck", + "proc-macro2", + "quote", + "syn 1.0.99", +] + +[[package]] +name = "argh_shared" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47253b98986dafc7a3e1cf3259194f1f47ac61abb57a57f46ec09e48d004ecda" + +[[package]] +name = "bindgen" +version = "0.66.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7" +dependencies = [ + "bitflags", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "log", + "peeking_take_while", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.28", + "which", +] + +[[package]] +name = "bitflags" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" + +[[package]] +name = "cc" +version = "1.0.82" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" +dependencies = [ + "jobserver", + "libc", +] + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", +] + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clang-sys" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" +dependencies = [ + "glob", + "libc", + "libloading", +] + +[[package]] +name = "either" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" + +[[package]] +name = "geoip-db-tool" +version = "0.1.0" +dependencies = [ + "argh", + "ipnetwork", + "rangemap", +] + +[[package]] +name = "glob" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hex-literal" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46" + +[[package]] +name = "ipnetwork" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02c3eaab3ac0ede60ffa41add21970a7df7d91772c03383aac6c2c3d53cc716b" +dependencies = [ + "serde", +] + +[[package]] +name = "jobserver" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" +dependencies = [ + "libc", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + +[[package]] +name = "libc" +version = "0.2.147" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" + +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "log" +version = "0.4.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" + +[[package]] +name = "memchr" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" + +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + +[[package]] +name = "once_cell" +version = "1.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" + +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + +[[package]] +name = "prettyplease" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" +dependencies = [ + "proc-macro2", + "syn 2.0.28", +] + +[[package]] +name = "proc-macro2" +version = "1.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rangemap" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3929836cb64d09ee7deee59635c3d9bffbc1c0373e247efff6272abd62a11baa" + +[[package]] +name = "regex" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + +[[package]] +name = "serde" +version = "1.0.143" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553" + +[[package]] +name = "shlex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b2853a4d09f215c24cc5489c992ce46052d359b5109343cbafbf26bc62f8a3" + +[[package]] +name = "syn" +version = "1.0.99" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "tor-c-equix" +version = "0.2.0" +dependencies = [ + "bindgen", + "cc", + "hex-literal", +] + +[[package]] +name = "unicode-ident" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" + +[[package]] +name = "unicode-segmentation" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" + +[[package]] +name = "which" +version = "4.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2441c784c52b289a054b7201fc93253e288f094e2f4be9058343127c4226a269" +dependencies = [ + "either", + "libc", + "once_cell", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/scripts/maint/geoip/geoip-db-tool/Cargo.lock b/scripts/maint/geoip/geoip-db-tool/Cargo.lock deleted file mode 100644 index 7441503549..0000000000 --- a/scripts/maint/geoip/geoip-db-tool/Cargo.lock +++ /dev/null @@ -1,112 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "argh" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7e7e4aa7e40747e023c0761dafcb42333a9517575bbf1241747f68dd3177a62" -dependencies = [ - "argh_derive", - "argh_shared", -] - -[[package]] -name = "argh_derive" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69f2bd7ff6ed6414f4e5521bd509bae46454bbd513801767ced3f21a751ab4bc" -dependencies = [ - "argh_shared", - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "argh_shared" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47253b98986dafc7a3e1cf3259194f1f47ac61abb57a57f46ec09e48d004ecda" - -[[package]] -name = "geoip-db-tool" -version = "0.1.0" -dependencies = [ - "argh", - "ipnetwork", - "rangemap", -] - -[[package]] -name = "heck" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" -dependencies = [ - "unicode-segmentation", -] - -[[package]] -name = "ipnetwork" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02c3eaab3ac0ede60ffa41add21970a7df7d91772c03383aac6c2c3d53cc716b" -dependencies = [ - "serde", -] - -[[package]] -name = "proc-macro2" -version = "1.0.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rangemap" -version = "0.1.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3929836cb64d09ee7deee59635c3d9bffbc1c0373e247efff6272abd62a11baa" - -[[package]] -name = "serde" -version = "1.0.143" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553" - -[[package]] -name = "syn" -version = "1.0.99" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "unicode-ident" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" - -[[package]] -name = "unicode-segmentation" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99" From 41dac5e2d1434cd1be431468ff1192bb88130ef4 Mon Sep 17 00:00:00 2001 From: Micah Elizabeth Scott Date: Mon, 14 Aug 2023 13:13:36 -0700 Subject: [PATCH 4/5] CI: Add Rust tests and clippy This adds a new "rust-latest" CI target that runs tests and clippy for everything in the workspace. It's a subset of the equivalent on Arti. --- .gitlab-ci.yml | 16 ++++++++++++++++ changes/rust_ci | 4 ++++ 2 files changed, 20 insertions(+) create mode 100644 changes/rust_ci diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 789f6c4840..45142671aa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -253,3 +253,19 @@ debian-packaging-0.4.6: rules: - if: $CI_PROJECT_NAMESPACE == "tpo/core" && $CI_COMMIT_BRANCH == "maint-0.4.6" + +##### +# Run tests written in Rust, and run clippy on all Rust code here. +rust-latest: + image: rust:latest + <<: *debian-template + script: + - apt-get install llvm-dev libclang-dev clang + - rustup show + - cargo build --locked --verbose + - cargo test --verbose + - rustup component add clippy + - rustup show + - cargo clippy --all-features --all-targets -- -D warnings + after_script: + - cargo clean \ No newline at end of file diff --git a/changes/rust_ci b/changes/rust_ci new file mode 100644 index 0000000000..868f94fd91 --- /dev/null +++ b/changes/rust_ci @@ -0,0 +1,4 @@ + o Minor features (testing): + - All Rust code is now linted (cargo clippy) as part of GitLab CI, + and existing warnings have been fixed. + - Any unit tests written in Rust now run as part of GitLab CI. From 8991b10cac252609574b6265dcd80f86f8fe94bb Mon Sep 17 00:00:00 2001 From: Micah Elizabeth Scott Date: Mon, 14 Aug 2023 14:53:52 -0700 Subject: [PATCH 5/5] CI: Diagnostic for failure in test_rebind cleanup I saw this test fail intermittently due to what seemed like a filesystem race in docker? The cleanup task was failing with a 'directory not empty' error, despite trying to do a recursive 'rm'. This patch adds an 'ls' to the same directory, hoping the output might be useful to diagnose future intermittent failures. --- src/test/test_rebind.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/src/test/test_rebind.sh b/src/test/test_rebind.sh index aae2a9a6a0..d87e008f9a 100755 --- a/src/test/test_rebind.sh +++ b/src/test/test_rebind.sh @@ -51,6 +51,7 @@ tmpdir= # shellcheck disable=SC2317 clean () { if [ -n "$tmpdir" ] && [ -d "$tmpdir" ]; then + ls -l "$tmpdir" rm -rf "$tmpdir" fi }