tidy check to find misc files in ui tests, and clean up the results

This commit is contained in:
asquared31415 2023-05-09 13:17:04 -04:00
parent 2f6bc5d259
commit 517ea5652a
12 changed files with 82 additions and 40 deletions

View File

@ -4,13 +4,38 @@
use ignore::Walk;
use std::collections::HashMap;
use std::ffi::OsStr;
use std::fs;
use std::path::{Path, PathBuf};
const ENTRY_LIMIT: usize = 900;
// FIXME: The following limits should be reduced eventually.
const ISSUES_ENTRY_LIMIT: usize = 1920;
const ROOT_ENTRY_LIMIT: usize = 895;
const ROOT_ENTRY_LIMIT: usize = 896;
const EXPECTED_TEST_FILE_EXTENSIONS: &[&str] = &[
"rs", // test source files
"stderr", // expected stderr file, corresponds to a rs file
"stdout", // expected stdout file, corresponds to a rs file
"fixed", // expected source file after applying fixes
"md", // test directory descriptions
"ftl", // translation tests
];
const EXTENSION_EXCEPTION_PATHS: &[&str] = &[
"tests/ui/asm/named-asm-labels.s", // loading an external asm file to test named labels lint
"tests/ui/check-cfg/my-awesome-platform.json", // testing custom targets with cfgs
"tests/ui/commandline-argfile-badutf8.args", // passing args via a file
"tests/ui/commandline-argfile.args", // passing args via a file
"tests/ui/crate-loading/auxiliary/libfoo.rlib", // testing loading a manually created rlib
"tests/ui/include-macros/data.bin", // testing including data with the include macros
"tests/ui/include-macros/file.txt", // testing including data with the include macros
"tests/ui/macros/macro-expanded-include/file.txt", // testing including data with the include macros
"tests/ui/macros/not-utf8.bin", // testing including data with the include macros
"tests/ui/macros/syntax-extension-source-utils-files/includeme.fragment", // more include
"tests/ui/unused-crate-deps/test.mk", // why would you use make
"tests/ui/proc-macro/auxiliary/included-file.txt", // more include
];
fn check_entries(tests_path: &Path, bad: &mut bool) {
let mut directories: HashMap<PathBuf, usize> = HashMap::new();
@ -66,7 +91,14 @@ pub fn check(path: &Path, bad: &mut bool) {
let paths = [ui.as_path(), ui_fulldeps.as_path()];
crate::walk::walk_no_read(&paths, |_, _| false, &mut |entry| {
let file_path = entry.path();
if let Some(ext) = file_path.extension() {
if let Some(ext) = file_path.extension().and_then(OsStr::to_str) {
// files that are neither an expected extension or an exception should not exist
// they're probably typos or not meant to exist
if !(EXPECTED_TEST_FILE_EXTENSIONS.contains(&ext)
|| EXTENSION_EXCEPTION_PATHS.iter().any(|path| file_path.ends_with(path)))
{
tidy_error!(bad, "file {} has unexpected extension {}", file_path.display(), ext);
}
if ext == "stderr" || ext == "stdout" {
// Test output filenames have one of the formats:
// ```

View File

@ -0,0 +1,8 @@
error: expected item after attributes
--> $DIR/attr-bad-crate-attr.rs:4:1
|
LL | #[attr = "val"] // Unterminated
| ^^^^^^^^^^^^^^^
error: aborting due to previous error

View File

@ -1,24 +1,26 @@
// run-pass
// Regression test for a problem with the first mod attribute
// being applied to every mod
// pretty-expanded FIXME #23616
#[cfg(target_os = "linux")]
mod hello;
mod hello {}
#[cfg(target_os = "macos")]
mod hello;
mod hello {}
#[cfg(target_os = "windows")]
mod hello;
mod hello {}
#[cfg(target_os = "freebsd")]
mod hello;
mod hello {}
#[cfg(target_os = "dragonfly")]
mod hello;
mod hello {}
#[cfg(target_os = "android")]
mod hello;
mod hello {}
pub fn main() { }
fn main() {}

View File

@ -1 +0,0 @@
<EFBFBD>(

View File

@ -1,3 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<AutoVisualizer xmlns="http://schemas.microsoft.com/vstudio/debugger/natvis/2010">
</AutoVisualizer>

View File

@ -1,4 +0,0 @@
#![crate_type = "lib"]
#[path = "issue-3136-a.rs"]
pub mod issue_3136_a;

View File

@ -1,11 +1,14 @@
#![crate_type = "lib"]
trait x {
fn use_x<T>(&self);
}
struct y(());
impl x for y {
fn use_x<T>(&self) {
struct foo { //~ ERROR quux
i: ()
struct foo {
//~ ERROR quux
i: (),
}
fn new_foo<T>(i: ()) -> foo {
foo { i: i }

View File

@ -1,5 +1,5 @@
// run-pass
// aux-build:issue-3136-a.rc
// aux-build:issue-3136-a.rs
// pretty-expanded FIXME #23616

View File

@ -1,11 +1,15 @@
extern crate core;
fn assert_send<T:Send>() { }
fn assert_send<T: Send>() {}
fn test70() {
assert_send::<*mut isize>();
//~^ ERROR `*mut isize` cannot be sent between threads safely
}
fn test71<'a>() {
assert_send::<*mut &'a isize>();
//~^ ERROR `*mut &'a isize` cannot be sent between threads safely
}
fn main() {
}
fn main() {}

View File

@ -1,12 +0,0 @@
fn assert_send<T:Send>() { }
// unsafe ptrs are ok unless they point at unsendable things
fn test70() {
assert_send::<*mut int>();
}
fn test71<'a>() {
assert_send::<*mut &'a int>(); //~ ERROR does not fulfill the required lifetime
}
fn main() {
}

View File

@ -1,16 +1,29 @@
error[E0277]: `*mut &'a isize` cannot be sent between threads safely
error[E0277]: `*mut isize` cannot be sent between threads safely
--> $DIR/kindck-send-unsafe.rs:6:19
|
LL | assert_send::<*mut isize>();
| ^^^^^^^^^^ `*mut isize` cannot be sent between threads safely
|
= help: the trait `Send` is not implemented for `*mut isize`
note: required by a bound in `assert_send`
--> $DIR/kindck-send-unsafe.rs:3:19
|
LL | fn assert_send<T: Send>() {}
| ^^^^ required by this bound in `assert_send`
error[E0277]: `*mut &'a isize` cannot be sent between threads safely
--> $DIR/kindck-send-unsafe.rs:11:19
|
LL | assert_send::<*mut &'a isize>();
| ^^^^^^^^^^^^^^ `*mut &'a isize` cannot be sent between threads safely
|
= help: the trait `Send` is not implemented for `*mut &'a isize`
note: required by a bound in `assert_send`
--> $DIR/kindck-send-unsafe.rs:3:18
--> $DIR/kindck-send-unsafe.rs:3:19
|
LL | fn assert_send<T:Send>() { }
| ^^^^ required by this bound in `assert_send`
LL | fn assert_send<T: Send>() {}
| ^^^^ required by this bound in `assert_send`
error: aborting due to previous error
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0277`.