From 03178f31c461af42bb61815cc206443c5842ebe0 Mon Sep 17 00:00:00 2001 From: Matthew Jasper Date: Sun, 14 Jul 2019 11:34:13 +0100 Subject: [PATCH 1/2] Change all run-pass hygiene tests to `ui` tests Change some tests to `check-pass` that are only testing name resolution. --- .../{run-pass => ui}/hygiene/auxiliary/legacy_interaction.rs | 1 - src/test/{run-pass => ui}/hygiene/auxiliary/my_crate.rs | 1 - .../{run-pass => ui}/hygiene/auxiliary/unhygienic_example.rs | 1 - src/test/{run-pass => ui}/hygiene/auxiliary/xcrate.rs | 1 - src/test/ui/hygiene/dollar-crate-modern.rs | 2 +- src/test/ui/hygiene/expansion-info-reset.rs | 3 --- src/test/ui/hygiene/expansion-info-reset.stderr | 2 +- src/test/{run-pass => ui}/hygiene/hygiene-dodging-1.rs | 0 src/test/{run-pass => ui}/hygiene/hygiene.rs | 0 src/test/{run-pass => ui}/hygiene/hygienic-labels-in-let.rs | 0 .../{run-pass => ui}/hygiene/hygienic-labels-in-let.stderr | 0 src/test/{run-pass => ui}/hygiene/hygienic-labels.rs | 0 src/test/{run-pass => ui}/hygiene/hygienic-labels.stderr | 0 src/test/{run-pass => ui}/hygiene/issue-44128.rs | 2 +- src/test/{run-pass => ui}/hygiene/issue-47311.rs | 2 +- src/test/{run-pass => ui}/hygiene/issue-47312.rs | 2 +- src/test/{run-pass => ui}/hygiene/items.rs | 2 +- src/test/{run-pass => ui}/hygiene/legacy_interaction.rs | 4 ++-- src/test/{run-pass => ui}/hygiene/lexical.rs | 2 +- src/test/ui/hygiene/local_inner_macros.rs | 2 +- src/test/{run-pass => ui}/hygiene/specialization.rs | 0 .../hygiene/trait_items.rs => ui/hygiene/trait_items-2.rs} | 2 +- src/test/ui/hygiene/transparent-basic.rs | 2 +- src/test/{run-pass => ui}/hygiene/ty_params.rs | 2 +- src/test/{run-pass => ui}/hygiene/wrap_unhygienic_example.rs | 2 +- src/test/{run-pass => ui}/hygiene/xcrate.rs | 0 26 files changed, 14 insertions(+), 21 deletions(-) rename src/test/{run-pass => ui}/hygiene/auxiliary/legacy_interaction.rs (92%) rename src/test/{run-pass => ui}/hygiene/auxiliary/my_crate.rs (53%) rename src/test/{run-pass => ui}/hygiene/auxiliary/unhygienic_example.rs (98%) rename src/test/{run-pass => ui}/hygiene/auxiliary/xcrate.rs (96%) rename src/test/{run-pass => ui}/hygiene/hygiene-dodging-1.rs (100%) rename src/test/{run-pass => ui}/hygiene/hygiene.rs (100%) rename src/test/{run-pass => ui}/hygiene/hygienic-labels-in-let.rs (100%) rename src/test/{run-pass => ui}/hygiene/hygienic-labels-in-let.stderr (100%) rename src/test/{run-pass => ui}/hygiene/hygienic-labels.rs (100%) rename src/test/{run-pass => ui}/hygiene/hygienic-labels.stderr (100%) rename src/test/{run-pass => ui}/hygiene/issue-44128.rs (94%) rename src/test/{run-pass => ui}/hygiene/issue-47311.rs (93%) rename src/test/{run-pass => ui}/hygiene/issue-47312.rs (95%) rename src/test/{run-pass => ui}/hygiene/items.rs (97%) rename src/test/{run-pass => ui}/hygiene/legacy_interaction.rs (95%) rename src/test/{run-pass => ui}/hygiene/lexical.rs (96%) rename src/test/{run-pass => ui}/hygiene/specialization.rs (100%) rename src/test/{run-pass/hygiene/trait_items.rs => ui/hygiene/trait_items-2.rs} (95%) rename src/test/{run-pass => ui}/hygiene/ty_params.rs (92%) rename src/test/{run-pass => ui}/hygiene/wrap_unhygienic_example.rs (98%) rename src/test/{run-pass => ui}/hygiene/xcrate.rs (100%) diff --git a/src/test/run-pass/hygiene/auxiliary/legacy_interaction.rs b/src/test/ui/hygiene/auxiliary/legacy_interaction.rs similarity index 92% rename from src/test/run-pass/hygiene/auxiliary/legacy_interaction.rs rename to src/test/ui/hygiene/auxiliary/legacy_interaction.rs index 0774fbecac1fe..90d5243b74b7b 100644 --- a/src/test/run-pass/hygiene/auxiliary/legacy_interaction.rs +++ b/src/test/ui/hygiene/auxiliary/legacy_interaction.rs @@ -1,4 +1,3 @@ -// run-pass // ignore-pretty pretty-printing is unhygienic #[macro_export] diff --git a/src/test/run-pass/hygiene/auxiliary/my_crate.rs b/src/test/ui/hygiene/auxiliary/my_crate.rs similarity index 53% rename from src/test/run-pass/hygiene/auxiliary/my_crate.rs rename to src/test/ui/hygiene/auxiliary/my_crate.rs index 5a7412e4bf5ec..cdc6c27d800bd 100644 --- a/src/test/run-pass/hygiene/auxiliary/my_crate.rs +++ b/src/test/ui/hygiene/auxiliary/my_crate.rs @@ -1,2 +1 @@ -// run-pass pub fn f() {} diff --git a/src/test/run-pass/hygiene/auxiliary/unhygienic_example.rs b/src/test/ui/hygiene/auxiliary/unhygienic_example.rs similarity index 98% rename from src/test/run-pass/hygiene/auxiliary/unhygienic_example.rs rename to src/test/ui/hygiene/auxiliary/unhygienic_example.rs index 3f66748bf300a..8e6e8f9b32f97 100644 --- a/src/test/run-pass/hygiene/auxiliary/unhygienic_example.rs +++ b/src/test/ui/hygiene/auxiliary/unhygienic_example.rs @@ -1,4 +1,3 @@ -// run-pass #![crate_type = "lib"] extern crate my_crate; diff --git a/src/test/run-pass/hygiene/auxiliary/xcrate.rs b/src/test/ui/hygiene/auxiliary/xcrate.rs similarity index 96% rename from src/test/run-pass/hygiene/auxiliary/xcrate.rs rename to src/test/ui/hygiene/auxiliary/xcrate.rs index 3862914d5840c..f5a911f57df69 100644 --- a/src/test/run-pass/hygiene/auxiliary/xcrate.rs +++ b/src/test/ui/hygiene/auxiliary/xcrate.rs @@ -1,4 +1,3 @@ -// run-pass #![feature(decl_macro)] #![allow(unused)] diff --git a/src/test/ui/hygiene/dollar-crate-modern.rs b/src/test/ui/hygiene/dollar-crate-modern.rs index 9c25e138d2c28..a432fb6eee17a 100644 --- a/src/test/ui/hygiene/dollar-crate-modern.rs +++ b/src/test/ui/hygiene/dollar-crate-modern.rs @@ -1,6 +1,6 @@ // Make sure `$crate` and `crate` work in for basic cases of nested macros. -// build-pass (FIXME(62277): could be check-pass?) +// check-pass // aux-build:intercrate.rs #![feature(decl_macro, crate_in_paths)] diff --git a/src/test/ui/hygiene/expansion-info-reset.rs b/src/test/ui/hygiene/expansion-info-reset.rs index 5c384c4ada9fc..fa5f712121d90 100644 --- a/src/test/ui/hygiene/expansion-info-reset.rs +++ b/src/test/ui/hygiene/expansion-info-reset.rs @@ -1,6 +1,3 @@ -// FIXME: Investigate why expansion info for a single expansion id is reset from -// `MacroBang(format_args)` to `MacroAttribute(derive(Clone))` (issue #52363). - fn main() { format_args!({ #[derive(Clone)] struct S; }); //~^ ERROR format argument must be a string literal diff --git a/src/test/ui/hygiene/expansion-info-reset.stderr b/src/test/ui/hygiene/expansion-info-reset.stderr index 9dd954b16cdec..d8b602ce1c63b 100644 --- a/src/test/ui/hygiene/expansion-info-reset.stderr +++ b/src/test/ui/hygiene/expansion-info-reset.stderr @@ -1,5 +1,5 @@ error: format argument must be a string literal - --> $DIR/expansion-info-reset.rs:5:18 + --> $DIR/expansion-info-reset.rs:2:18 | LL | format_args!({ #[derive(Clone)] struct S; }); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/src/test/run-pass/hygiene/hygiene-dodging-1.rs b/src/test/ui/hygiene/hygiene-dodging-1.rs similarity index 100% rename from src/test/run-pass/hygiene/hygiene-dodging-1.rs rename to src/test/ui/hygiene/hygiene-dodging-1.rs diff --git a/src/test/run-pass/hygiene/hygiene.rs b/src/test/ui/hygiene/hygiene.rs similarity index 100% rename from src/test/run-pass/hygiene/hygiene.rs rename to src/test/ui/hygiene/hygiene.rs diff --git a/src/test/run-pass/hygiene/hygienic-labels-in-let.rs b/src/test/ui/hygiene/hygienic-labels-in-let.rs similarity index 100% rename from src/test/run-pass/hygiene/hygienic-labels-in-let.rs rename to src/test/ui/hygiene/hygienic-labels-in-let.rs diff --git a/src/test/run-pass/hygiene/hygienic-labels-in-let.stderr b/src/test/ui/hygiene/hygienic-labels-in-let.stderr similarity index 100% rename from src/test/run-pass/hygiene/hygienic-labels-in-let.stderr rename to src/test/ui/hygiene/hygienic-labels-in-let.stderr diff --git a/src/test/run-pass/hygiene/hygienic-labels.rs b/src/test/ui/hygiene/hygienic-labels.rs similarity index 100% rename from src/test/run-pass/hygiene/hygienic-labels.rs rename to src/test/ui/hygiene/hygienic-labels.rs diff --git a/src/test/run-pass/hygiene/hygienic-labels.stderr b/src/test/ui/hygiene/hygienic-labels.stderr similarity index 100% rename from src/test/run-pass/hygiene/hygienic-labels.stderr rename to src/test/ui/hygiene/hygienic-labels.stderr diff --git a/src/test/run-pass/hygiene/issue-44128.rs b/src/test/ui/hygiene/issue-44128.rs similarity index 94% rename from src/test/run-pass/hygiene/issue-44128.rs rename to src/test/ui/hygiene/issue-44128.rs index 23ced9ae530d6..5e03bdb8c5be8 100644 --- a/src/test/run-pass/hygiene/issue-44128.rs +++ b/src/test/ui/hygiene/issue-44128.rs @@ -1,4 +1,4 @@ -// run-pass +// check-pass #![allow(unused_must_use)] #![feature(decl_macro)] diff --git a/src/test/run-pass/hygiene/issue-47311.rs b/src/test/ui/hygiene/issue-47311.rs similarity index 93% rename from src/test/run-pass/hygiene/issue-47311.rs rename to src/test/ui/hygiene/issue-47311.rs index 856184fbc8352..5c2379a8ababf 100644 --- a/src/test/run-pass/hygiene/issue-47311.rs +++ b/src/test/ui/hygiene/issue-47311.rs @@ -1,4 +1,4 @@ -// run-pass +// check-pass // ignore-pretty pretty-printing is unhygienic #![feature(decl_macro)] diff --git a/src/test/run-pass/hygiene/issue-47312.rs b/src/test/ui/hygiene/issue-47312.rs similarity index 95% rename from src/test/run-pass/hygiene/issue-47312.rs rename to src/test/ui/hygiene/issue-47312.rs index 88e7a028f92f2..bbcb3a7f39311 100644 --- a/src/test/run-pass/hygiene/issue-47312.rs +++ b/src/test/ui/hygiene/issue-47312.rs @@ -1,4 +1,4 @@ -// run-pass +// check-pass // ignore-pretty pretty-printing is unhygienic #![feature(decl_macro)] diff --git a/src/test/run-pass/hygiene/items.rs b/src/test/ui/hygiene/items.rs similarity index 97% rename from src/test/run-pass/hygiene/items.rs rename to src/test/ui/hygiene/items.rs index cdc271386b7d6..1c625a9728c4f 100644 --- a/src/test/run-pass/hygiene/items.rs +++ b/src/test/ui/hygiene/items.rs @@ -1,4 +1,4 @@ -// run-pass +// check-pass // ignore-pretty pretty-printing is unhygienic #![feature(decl_macro)] diff --git a/src/test/run-pass/hygiene/legacy_interaction.rs b/src/test/ui/hygiene/legacy_interaction.rs similarity index 95% rename from src/test/run-pass/hygiene/legacy_interaction.rs rename to src/test/ui/hygiene/legacy_interaction.rs index a5460a89f130c..52008eed51515 100644 --- a/src/test/run-pass/hygiene/legacy_interaction.rs +++ b/src/test/ui/hygiene/legacy_interaction.rs @@ -1,4 +1,4 @@ -// run-pass +// check-pass #![allow(dead_code)] // ignore-pretty pretty-printing is unhygienic @@ -12,7 +12,7 @@ extern crate legacy_interaction; // ```rust // macro_rules! m { // () => { -// fn f() // (1) +// fn f() {} // (1) // g() // (2) // } // } diff --git a/src/test/run-pass/hygiene/lexical.rs b/src/test/ui/hygiene/lexical.rs similarity index 96% rename from src/test/run-pass/hygiene/lexical.rs rename to src/test/ui/hygiene/lexical.rs index 20bda5508c814..3d25c720989bf 100644 --- a/src/test/run-pass/hygiene/lexical.rs +++ b/src/test/ui/hygiene/lexical.rs @@ -1,4 +1,4 @@ -// run-pass +// check-pass // ignore-pretty pretty-printing is unhygienic #![feature(decl_macro)] diff --git a/src/test/ui/hygiene/local_inner_macros.rs b/src/test/ui/hygiene/local_inner_macros.rs index f361e3d5d4963..71ffcac40d384 100644 --- a/src/test/ui/hygiene/local_inner_macros.rs +++ b/src/test/ui/hygiene/local_inner_macros.rs @@ -1,4 +1,4 @@ -// build-pass (FIXME(62277): could be check-pass?) +// check-pass // aux-build:local_inner_macros.rs extern crate local_inner_macros; diff --git a/src/test/run-pass/hygiene/specialization.rs b/src/test/ui/hygiene/specialization.rs similarity index 100% rename from src/test/run-pass/hygiene/specialization.rs rename to src/test/ui/hygiene/specialization.rs diff --git a/src/test/run-pass/hygiene/trait_items.rs b/src/test/ui/hygiene/trait_items-2.rs similarity index 95% rename from src/test/run-pass/hygiene/trait_items.rs rename to src/test/ui/hygiene/trait_items-2.rs index 680f228c9864e..39edfc37d6978 100644 --- a/src/test/run-pass/hygiene/trait_items.rs +++ b/src/test/ui/hygiene/trait_items-2.rs @@ -1,4 +1,4 @@ -// run-pass +// check-pass // ignore-pretty pretty-printing is unhygienic #![feature(decl_macro)] diff --git a/src/test/ui/hygiene/transparent-basic.rs b/src/test/ui/hygiene/transparent-basic.rs index 69dfc524989a4..bfa1713e4edda 100644 --- a/src/test/ui/hygiene/transparent-basic.rs +++ b/src/test/ui/hygiene/transparent-basic.rs @@ -1,4 +1,4 @@ -// build-pass (FIXME(62277): could be check-pass?) +// check-pass // aux-build:transparent-basic.rs #![feature(decl_macro, rustc_attrs)] diff --git a/src/test/run-pass/hygiene/ty_params.rs b/src/test/ui/hygiene/ty_params.rs similarity index 92% rename from src/test/run-pass/hygiene/ty_params.rs rename to src/test/ui/hygiene/ty_params.rs index dce4bd6489cd4..b296bfe598887 100644 --- a/src/test/run-pass/hygiene/ty_params.rs +++ b/src/test/ui/hygiene/ty_params.rs @@ -1,4 +1,4 @@ -// run-pass +// check-pass // ignore-pretty pretty-printing is unhygienic #![feature(decl_macro)] diff --git a/src/test/run-pass/hygiene/wrap_unhygienic_example.rs b/src/test/ui/hygiene/wrap_unhygienic_example.rs similarity index 98% rename from src/test/run-pass/hygiene/wrap_unhygienic_example.rs rename to src/test/ui/hygiene/wrap_unhygienic_example.rs index e0277e2bb743a..50c6b35ab18dd 100644 --- a/src/test/run-pass/hygiene/wrap_unhygienic_example.rs +++ b/src/test/ui/hygiene/wrap_unhygienic_example.rs @@ -1,4 +1,4 @@ -// run-pass +// check-pass // ignore-pretty pretty-printing is unhygienic // aux-build:my_crate.rs diff --git a/src/test/run-pass/hygiene/xcrate.rs b/src/test/ui/hygiene/xcrate.rs similarity index 100% rename from src/test/run-pass/hygiene/xcrate.rs rename to src/test/ui/hygiene/xcrate.rs From a4a7bb9a3f72505efb6ca9856af45287c8685d5e Mon Sep 17 00:00:00 2001 From: Matthew Jasper Date: Mon, 15 Jul 2019 22:26:45 +0100 Subject: [PATCH 2/2] Make pretty-expanded-hygiene a `ui` test `normalize-stdout-test` removes the need for Make, and it can be updated with `--bless` this way --- .../pretty-expanded-hygiene/Makefile | 21 ------------------- .../input.rs => ui/hygiene/unpretty-debug.rs} | 6 ++++++ .../hygiene/unpretty-debug.stdout} | 6 ++++++ 3 files changed, 12 insertions(+), 21 deletions(-) delete mode 100644 src/test/run-make-fulldeps/pretty-expanded-hygiene/Makefile rename src/test/{run-make-fulldeps/pretty-expanded-hygiene/input.rs => ui/hygiene/unpretty-debug.rs} (50%) rename src/test/{run-make-fulldeps/pretty-expanded-hygiene/input.pp.rs => ui/hygiene/unpretty-debug.stdout} (59%) diff --git a/src/test/run-make-fulldeps/pretty-expanded-hygiene/Makefile b/src/test/run-make-fulldeps/pretty-expanded-hygiene/Makefile deleted file mode 100644 index 136d7643ade37..0000000000000 --- a/src/test/run-make-fulldeps/pretty-expanded-hygiene/Makefile +++ /dev/null @@ -1,21 +0,0 @@ --include ../tools.mk - -REPLACEMENT := s/[0-9][0-9]*\#[0-9][0-9]*/$(shell date)/g - -all: - $(RUSTC) -o $(TMPDIR)/input.out -Z unstable-options \ - --pretty expanded,hygiene input.rs - - # the name/ctxt numbers are very internals-dependent and thus - # change relatively frequently, and testing for their exact values - # them will fail annoyingly, so we just check their positions - # (using a non-constant replacement like this will make it less - # likely the compiler matches whatever other dummy value we - # choose). - # - # (These need to be out-of-place because OSX/BSD & GNU sed - # differ.) - sed "$(REPLACEMENT)" input.pp.rs > $(TMPDIR)/input.pp.rs - sed "$(REPLACEMENT)" $(TMPDIR)/input.out > $(TMPDIR)/input.out.replaced - - diff -u $(TMPDIR)/input.out.replaced $(TMPDIR)/input.pp.rs diff --git a/src/test/run-make-fulldeps/pretty-expanded-hygiene/input.rs b/src/test/ui/hygiene/unpretty-debug.rs similarity index 50% rename from src/test/run-make-fulldeps/pretty-expanded-hygiene/input.rs rename to src/test/ui/hygiene/unpretty-debug.rs index ed3b48dbdc114..6e936bb3d830c 100644 --- a/src/test/run-make-fulldeps/pretty-expanded-hygiene/input.rs +++ b/src/test/ui/hygiene/unpretty-debug.rs @@ -1,3 +1,9 @@ +// check-pass +// compile-flags: -Zunpretty=expanded,hygiene + +// Don't break whenever Symbol numbering changes +// normalize-stdout-test "\d+#" -> "0#" + // minimal junk #![feature(no_core)] #![no_core] diff --git a/src/test/run-make-fulldeps/pretty-expanded-hygiene/input.pp.rs b/src/test/ui/hygiene/unpretty-debug.stdout similarity index 59% rename from src/test/run-make-fulldeps/pretty-expanded-hygiene/input.pp.rs rename to src/test/ui/hygiene/unpretty-debug.stdout index 570dece023dea..beac4c17abf9c 100644 --- a/src/test/run-make-fulldeps/pretty-expanded-hygiene/input.pp.rs +++ b/src/test/ui/hygiene/unpretty-debug.stdout @@ -1,3 +1,9 @@ +// check-pass +// compile-flags: -Zunpretty=expanded,hygiene + +// Don't break whenever Symbol numbering changes +// normalize-stdout-test "\d+#" -> "0#" + // minimal junk #![feature /* 0#0 */(no_core)] #![no_core /* 0#0 */]