From 31b9f3355cf1441c47e793a303addbbac1412c90 Mon Sep 17 00:00:00 2001 From: Ben Kimock Date: Fri, 8 Mar 2024 19:18:57 -0500 Subject: [PATCH 1/3] Ignore some more crates --- blacklist.md | 59 ---------------------------------------------------- config.toml | 39 ++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 59 deletions(-) delete mode 100644 blacklist.md diff --git a/blacklist.md b/blacklist.md deleted file mode 100644 index 8786fc287..000000000 --- a/blacklist.md +++ /dev/null @@ -1,59 +0,0 @@ -# Blacklist - -Crates with flaky test suites. - -- ai - test has a comment stating it fails spuriously -- assert_cli - skeptic test failure (process launch) -- basiccountminsketch-0.1.0 - flaky -- bmp085-0.1.2 - randomness -- bson-0.1.5 - flaky -- canteen-0.3.5 - broken test -- cc-1.0.3 - flaky -- conc - test timeout -- crust-0.25.0 - network/timing? -- crux-0.3.0 - broken test -- ctx-0.2.0 - timing -- diesel_codegen_shared-0.8.0 - flaky https://github.com/diesel-rs/diesel/issues/475 -- entity_rust-0.0.8 - flaky https://github.com/tinco/entity_rust/issues/1 -- flame-0.1.10 - flaky -- fountaincode-0.0.8 - slow -- gcc-0.3.46 - flaky -- hashconsing-0.3.0 - flaky -- https://github.com/kurnevsky/opai-rs - flaky https://github.com/kurnevsky/opai-rs/issues/5 -- https://github.com/tinco/rust-static_any_map - flaky -- https://github.com/yggie/mach - flaky -- hyperdav-0.1.2 - network -- inotify-0.1.12 - flaky -- json-0.11.3 - flaky -- lazy-socket-0.2.1 - flaky -- libfuzzy-sys-0.1.0 - command automake-1.13 not found -- loaded_dice-0.1.1 - randomness -- lockless-0.2.0 - threads -- lodepng - command curl not found -- lockless-0.2.0 - test timeout -- lua53-ext-0.1.1 - flaky https://github.com/Jellonator/rust-lua53-ext/issues/1 -- milagro-crypto-0.1.14 - flaky -- mock_me-0.2.2 - flaky https://github.com/craftytrickster/mock_me/issues/7 -- MortenLohne.rasher - slow -- namedarg_hack-0.1.* - bad channel detection -- notify-3.0.1 flaky -- phant-0.1.5 - flaky -- proxy_config-0.0.2 - flaky https://github.com/mattico/proxy-config/issues/16 -- psutil-1.0.0 - flaky -- quandl-v3-1.0.0 - network -- region-0.0.5 - flaky https://github.com/rust-lang/rust/issues/38717 -- rustlearn-0.4.2 - flaky -- s_app_dir-0.0.0 - flaky -- sacn-0.1.1 - flaky -- schedule_recv-0.1.0 timing-based -- simple-munin-plugin-0.1.0 - flaky -- simple-signal-1.1.0 - flaky -- stringsort-2.0.0 - timing -- tasks-framework-0.1.0 - racy -- treeflection-0.1.30 - flaky -- tokio-periodic-0.1.1 - timing-based -- unbase-0.1.1 - racy -- unsafe-any-0.4.1 - flaky -- update_rate-1.0.0 - timing -- vec-vp-tree-0.2.0-alpha.1 - flaky https://github.com/abonander/vec-vp-tree/issues/1 -- vidar-0.1.0 - flaky https://github.com/aesir-vanir/vidar/issues/1 diff --git a/config.toml b/config.toml index 291063b2b..817a2c0c6 100644 --- a/config.toml +++ b/config.toml @@ -135,6 +135,24 @@ heap-vec = { skip-tests = true } # UB, sometimes segfaults k2_tree = { skip-tests = true } # UB, sometimes segfaults stabby-macros = { skip = true } # broken rustc version parsing stabby = { skip = true } # broken rustc version parsing +knetrs = { skip-tests = true } # UB +yices2 = { skip = true } # Sometimes times out, sometimes doesn't +scheduled-executor = { skip-tests = true } # UB, allocator corruption +skippy-rs = { skip-tests = true } # UB, out-of-bounds get_unchecked +pepe-telemetry = { skip-test = true } # flaky test (concurrency) +puid = { skip-tests = true } # flaky test (timing) +watchable = { skip-tests = true } # flaky test (timing) +lispi = { skip-tests = true } # flaky test (data races) +cargo-ramdisk = { skip-tests = true } # flaky test (concurrency) +njord = { skip-tests = true } # flaky test +matecito = { skip-tests = true } # flaky test (timing) +namaste = { skip-tests = true} # flaky test +faktory = { skip-tests = true } # UB via atomic-option +gazebo = { skip-tests = true } # UB but only in the test suite +context_bind = { skip-tests = true } # UB +unbounded-spsc = { skip-tests = true } # UB +vtable_gen = { skip-tests = true } # UB +crt0stack = { skip-tests = true } # UB [github-repos] # "org_name/repo_name" = { option = true } @@ -175,5 +193,26 @@ stabby = { skip = true } # broken rustc version parsing "mistrpopo/MandelbrotAnimation" = { skip-tests = true } # second build seems to always fail "bastibl/futuresdr" = { skip = true } # unstable features "FutureSDR/FutureSDR" = { skip = true } # unstable features +"yamgent/rusty-jam-2-dog-chicken" = { skip-tests = true } # UB +"Liorst4/liorforth" = { skip-tests = true } # UB +"perlindgren/fastmem" = { skip-tests = true } # UB +"aharisu/navi" = { skip-tests = true } # UB, allocator corruption +"fkjogu/stochasticsampling" = { skip-tests = true } # UB, allocator corruption +"senrust/toy_compiler2" = { skip-tests = true } # UB when tests run concurrently +"Yogaflre/leetcode" = { skip-tests = true } # UB +"UndeadRat22/kzg10-rust" = { skip-tests = true } # Wraps a non-thread-safe C++ library +"JakeDawkins/graphql-client-302-repro" = { skip-tests = true } # Stack overflow in a proc macro +"cdstanford/hydroflow-hackathon" = { skip-tests = true } # UB in a proc macro +"hydro-project/compute-pi" = { skip-tests = true } # UB in a proc macro +"KatsukiFujimoto/git-rs" = { skip-tests = true } # flaky test (HashSet iteration) +"MarkChuCarroll/schism" = { skip-tests = true } # flaky test (concurrency) +"Osrepnay/algae" = { skip-tests = true } # flaky test (timing) +"Yichangcs/Ruscheme" = { skip-tests = true } # flaky test (concurrency) +"bakaq/rust-blackhole" = { skip-tests = true } # flaky test (rng) +"diegoasanch/advent-of-code-2023" = { skip-tests = true } # flaky test (HashMap iteration) +"grnmeira/Snake" = { skip-tests = true } # flaky test (rng) +"wojciechkepka/pkger" = { skip-tests = true } # flaky test (concurrency) +"xffxff/muzero-rs" = { skip-tests = true } # flaky test (rng) +"maxjeffos/rs_dynamic_args" = { skip-tests = true } # flaky test (concurrency) [local-crates] From 2de53f6e4bd6cdea253bf5eb54b2a522fa53bde7 Mon Sep 17 00:00:00 2001 From: Ben Kimock Date: Fri, 8 Mar 2024 19:32:22 -0500 Subject: [PATCH 2/3] Update dependencies with broken nightly detection --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d92f49e86..1ffe78ce5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.8.6" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ "cfg-if", "once_cell", @@ -901,9 +901,9 @@ dependencies = [ [[package]] name = "crc32c" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8f48d60e5b4d2c53d5c2b1d8a58c849a70ae5e5509b08a48d047e3b65714a74" +checksum = "89254598aa9b9fa608de44b3ae54c810f0f06d755e24c50177f1f8f31ff50ce2" dependencies = [ "rustc_version", ] @@ -4715,18 +4715,18 @@ checksum = "66fee0b777b0f5ac1c69bb06d361268faafa61cd4682ae064a171c16c433e9e4" [[package]] name = "zerocopy" -version = "0.7.18" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7d7c7970ca2215b8c1ccf4d4f354c4733201dfaaba72d44ae5b37472e4901" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.18" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b27b1bb92570f989aac0ab7e9cbfbacdd65973f7ee920d9f0e71ebac878fd0b" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", From 54ffaca8acf0c47177401998e51f68583d69000b Mon Sep 17 00:00:00 2001 From: Ben Kimock Date: Fri, 8 Mar 2024 20:07:16 -0500 Subject: [PATCH 3/3] Fix clippy complaints --- src/agent/mod.rs | 1 - src/assets.rs | 2 +- src/cli.rs | 2 +- src/crates/mod.rs | 1 - src/db/migrations.rs | 7 ++----- src/report/mod.rs | 3 +-- src/runner/test.rs | 1 - src/server/auth.rs | 2 +- src/server/mod.rs | 4 ++-- src/server/routes/agent.rs | 2 +- src/server/routes/metrics.rs | 2 +- src/server/routes/ui/mod.rs | 2 +- src/server/routes/webhooks/args.rs | 1 - src/server/routes/webhooks/mod.rs | 2 +- src/utils/mod.rs | 2 +- src/utils/serialize.rs | 1 - 16 files changed, 13 insertions(+), 22 deletions(-) diff --git a/src/agent/mod.rs b/src/agent/mod.rs index 697cd832e..7f346a194 100644 --- a/src/agent/mod.rs +++ b/src/agent/mod.rs @@ -13,7 +13,6 @@ use crate::utils::disk_usage::DiskUsage; use failure::Error; use rustwide::Workspace; use std::collections::BTreeSet; -use std::iter::FromIterator; use std::ops; use std::sync::atomic::{AtomicBool, Ordering}; use std::thread; diff --git a/src/assets.rs b/src/assets.rs index c2ba848e2..0b7d727c1 100644 --- a/src/assets.rs +++ b/src/assets.rs @@ -1,5 +1,5 @@ use crate::prelude::*; -use mime::{self, Mime}; +use mime::Mime; use serde::Serialize; use std::borrow::Cow; use std::collections::HashMap; diff --git a/src/cli.rs b/src/cli.rs index 4cd39bb43..73ae9a595 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -34,7 +34,7 @@ use std::time::Duration; pub struct Ex(String); #[derive(Debug, Clone)] -pub struct DockerEnv(String); +pub struct DockerEnv(#[allow(unused)] String); impl FromStr for Ex { type Err = Error; diff --git a/src/crates/mod.rs b/src/crates/mod.rs index 5203bcc57..cbf3c2aaf 100644 --- a/src/crates/mod.rs +++ b/src/crates/mod.rs @@ -6,7 +6,6 @@ use crate::prelude::*; use cargo_metadata::PackageId; use percent_encoding::{percent_decode_str, utf8_percent_encode, NON_ALPHANUMERIC}; use rustwide::Crate as RustwideCrate; -use std::convert::TryFrom; use std::fmt; use std::path::Path; use std::str::FromStr; diff --git a/src/db/migrations.rs b/src/db/migrations.rs index 33f7cd769..47366bed0 100644 --- a/src/db/migrations.rs +++ b/src/db/migrations.rs @@ -1,8 +1,5 @@ use crate::prelude::*; -use rand::{ - self, - distributions::{Alphanumeric, DistString}, -}; +use rand::distributions::{Alphanumeric, DistString}; use rusqlite::{Connection, Transaction}; use std::collections::HashSet; @@ -388,7 +385,7 @@ pub fn execute(db: &mut Connection) -> Fallible<()> { }; for &(name, ref migration) in &migrations() { - if !executed_migrations.contains(&name.to_string()) { + if !executed_migrations.contains(name) { let t = db.transaction()?; match migration { MigrationKind::SQL(sql) => t.execute_batch(sql), diff --git a/src/report/mod.rs b/src/report/mod.rs index a5ff3f5aa..9746535ea 100644 --- a/src/report/mod.rs +++ b/src/report/mod.rs @@ -8,12 +8,11 @@ use crate::results::{EncodedLog, EncodingType, FailureReason, ReadResults, TestR use crate::toolchain::Toolchain; use crate::utils; use crates_index::GitIndex; -use mime::{self, Mime}; +use mime::Mime; use percent_encoding::{utf8_percent_encode, AsciiSet}; use std::borrow::Cow; #[cfg(test)] use std::collections::HashMap; -use std::convert::AsRef; use std::fmt::{self, Display}; use std::fs; use std::path::{Path, PathBuf}; diff --git a/src/runner/test.rs b/src/runner/test.rs index 0eda0394a..c1c39f7f4 100644 --- a/src/runner/test.rs +++ b/src/runner/test.rs @@ -13,7 +13,6 @@ use rustwide::cmd::{CommandError, ProcessLinesActions, SandboxBuilder}; use rustwide::logging::LogStorage; use rustwide::{Build, PrepareError}; use std::collections::{BTreeSet, HashMap, HashSet}; -use std::convert::TryFrom; fn failure_reason(err: &Error) -> FailureReason { for cause in err.iter_chain() { diff --git a/src/server/auth.rs b/src/server/auth.rs index 8fcfdd9ea..c6b32d889 100644 --- a/src/server/auth.rs +++ b/src/server/auth.rs @@ -7,7 +7,7 @@ use regex::Regex; use rust_team_data::v1 as team_data; use std::collections::{HashMap, HashSet}; use std::sync::{Arc, RwLock}; -use warp::{self, Filter, Rejection}; +use warp::{Filter, Rejection}; lazy_static! { static ref GIT_REVISION_RE: Regex = diff --git a/src/server/mod.rs b/src/server/mod.rs index d5e259331..c9d706df4 100644 --- a/src/server/mod.rs +++ b/src/server/mod.rs @@ -17,12 +17,12 @@ use crate::server::agents::Agents; use crate::server::auth::ACL; use crate::server::github::{GitHub, GitHubApi}; use crate::server::tokens::{BotTokens, Tokens}; -use http::{self, header::HeaderValue, Response}; +use http::{header::HeaderValue, Response}; use hyper::Body; use metrics::Metrics; use std::net::SocketAddr; use std::sync::{Arc, Mutex}; -use warp::{self, Filter}; +use warp::Filter; lazy_static! { static ref SERVER_HEADER: String = diff --git a/src/server/routes/agent.rs b/src/server/routes/agent.rs index e60cb5939..27eb98c41 100644 --- a/src/server/routes/agent.rs +++ b/src/server/routes/agent.rs @@ -14,7 +14,7 @@ use hyper::Body; use std::collections::HashMap; use std::sync::{Arc, Condvar, Mutex}; use std::time::Instant; -use warp::{self, Filter, Rejection}; +use warp::{Filter, Rejection}; #[derive(Deserialize)] #[serde(rename_all = "kebab-case")] diff --git a/src/server/routes/metrics.rs b/src/server/routes/metrics.rs index 1d742f521..b0f86cbbe 100644 --- a/src/server/routes/metrics.rs +++ b/src/server/routes/metrics.rs @@ -5,7 +5,7 @@ use http::{Response, StatusCode}; use hyper::Body; use prometheus::{Encoder, TextEncoder}; use std::sync::Arc; -use warp::{self, Filter, Rejection}; +use warp::{Filter, Rejection}; pub fn routes( data: Arc, diff --git a/src/server/routes/ui/mod.rs b/src/server/routes/ui/mod.rs index 4b3f18108..410538409 100644 --- a/src/server/routes/ui/mod.rs +++ b/src/server/routes/ui/mod.rs @@ -6,7 +6,7 @@ use http::{Response, StatusCode}; use hyper::Body; use serde::Serialize; use std::sync::Arc; -use warp::{self, Filter, Rejection}; +use warp::{Filter, Rejection}; mod agents; mod experiments; diff --git a/src/server/routes/webhooks/args.rs b/src/server/routes/webhooks/args.rs index 00b0f852d..f524c4069 100644 --- a/src/server/routes/webhooks/args.rs +++ b/src/server/routes/webhooks/args.rs @@ -1,6 +1,5 @@ use crate::experiments::{Assignee, CapLints, DeferredCrateSelect, Mode}; use crate::toolchain::Toolchain; -use failure::{self, Fallible}; #[derive(Debug, thiserror::Error)] #[cfg_attr(test, derive(PartialEq, Eq))] diff --git a/src/server/routes/webhooks/mod.rs b/src/server/routes/webhooks/mod.rs index 545cd7b2e..aba4190f5 100644 --- a/src/server/routes/webhooks/mod.rs +++ b/src/server/routes/webhooks/mod.rs @@ -12,7 +12,7 @@ use http::{HeaderMap, Response, StatusCode}; use hyper::Body; use std::str::FromStr; use std::sync::Arc; -use warp::{self, Filter, Rejection}; +use warp::{Filter, Rejection}; fn process_webhook( payload: &[u8], diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 62040a35f..11ba4cd65 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -1,5 +1,5 @@ use crate::prelude::*; -use failure::{AsFail, Backtrace, Fail}; +use failure::{AsFail, Backtrace}; use percent_encoding::{AsciiSet, CONTROLS}; use std::any::Any; use std::fmt; diff --git a/src/utils/serialize.rs b/src/utils/serialize.rs index 6be496901..e176915d4 100644 --- a/src/utils/serialize.rs +++ b/src/utils/serialize.rs @@ -1,5 +1,4 @@ use serde::ser::{Serialize, SerializeSeq, Serializer}; -use std::iter::IntoIterator; pub fn to_vec(data: T, serializer: S) -> Result where