rust/src/test/pretty
Yuki Okushi 779418deb4
Rollup merge of #99939 - saethlin:pre-sort-tests, r=thomcc,jackh726
Sort tests at compile time, not at startup

Recently, another Miri user was trying to run `cargo miri test` on the crate `iced-x86` with `--features=code_asm,mvex`. This configuration has a startup time of ~18 minutes. That's ~18 minutes before any tests even start to run. The fact that this crate has over 26,000 tests and Miri is slow makes a lot of code which is otherwise a bit sloppy but fine into a huge runtime issue.

Sorting the tests when the test harness is created instead of at startup time knocks just under 4 minutes out of those ~18 minutes. I have ways to remove most of the rest of the startup time, but this change requires coordinating changes of both the compiler and libtest, so I'm sending it separately.

(except for doctests, because there is no compile-time harness)
2022-10-24 19:32:25 +09:00
..
auxiliary Remove licenses 2018-12-25 21:08:33 -07:00
asm.pp Stabilize asm! and global_asm! 2021-12-12 11:20:03 +00:00
asm.rs Stabilize asm! and global_asm! 2021-12-12 11:20:03 +00:00
ast-stmt-expr-attr.rs Bless all pretty printer tests and ui tests 2022-02-03 10:59:36 -08:00
async.rs Add pretty printer test for async blocks 2021-12-05 11:31:36 -08:00
attr-derive.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
attr-fn-inner.rs Remove pretty printer space inside block with only outer attrs 2021-12-28 12:42:50 -08:00
attr-literals.rs Remove pretty printer space inside block with only outer attrs 2021-12-28 12:42:50 -08:00
attr-tokens-raw-ident.rs Remove pretty printer space inside block with only outer attrs 2021-12-28 12:42:50 -08:00
auto-trait.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
blank-lines.rs Remove licenses 2018-12-25 21:08:33 -07:00
block-comment-multiple-asterisks.rs Remove licenses 2018-12-25 21:08:33 -07:00
block-comment-trailing-whitespace.rs Remove licenses 2018-12-25 21:08:33 -07:00
block-comment-trailing-whitespace2.rs Restore a visual alignment mode for block comments 2022-01-30 19:50:54 -08:00
block-comment-wchar.pp Bless all pretty printer tests and ui tests 2022-01-30 19:50:51 -08:00
block-comment-wchar.rs Auto merge of #83491 - jyn514:remove-pretty, r=pnkfelix 2021-07-27 03:12:40 +00:00
block-disambig.rs Remove licenses 2018-12-25 21:08:33 -07:00
cast-lt.pp rustc_ast_pretty: Don't print space after $ 2021-07-03 16:35:18 -07:00
cast-lt.rs Remove licenses 2018-12-25 21:08:33 -07:00
closure-reform-pretty.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
delimited-token-groups.rs Bless all pretty printer tests and ui tests 2022-01-30 19:50:51 -08:00
disamb-stmt-expr.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
do1.rs pprust: Do not print spaces before some tokens 2019-08-25 21:23:17 +03:00
doc-comments.rs Remove pretty printer space inside block with only outer attrs 2021-12-28 12:42:50 -08:00
dollar-crate.pp Make [e]println macros eagerly drop temporaries (for backport) 2022-04-27 13:22:41 -07:00
dollar-crate.rs Pretty print $crate as crate or crate_name in more cases 2019-01-26 17:11:28 +03:00
empty-impl.rs Remove licenses 2018-12-25 21:08:33 -07:00
empty-lines.rs Remove licenses 2018-12-25 21:08:33 -07:00
enum-variant-vis.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
example1.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
example2.pp Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
example2.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
expanded-and-path-remap-80832.pp Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
expanded-and-path-remap-80832.rs test for issue 80832 2021-01-11 10:44:46 -08:00
fn-return.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
fn-types.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
fn-variadic.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
for-comment.rs Remove licenses 2018-12-25 21:08:33 -07:00
gat-bounds.rs Stabilize GATs 2022-08-30 23:06:24 -04:00
hir-pretty-loop.pp Bless pretty-print output. 2022-04-23 23:03:18 +02:00
hir-pretty-loop.rs fix pretty print for loop in mir and hir 2021-06-23 11:49:08 +03:00
if-attr.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
import-renames.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-4264.pp address review 2022-09-26 14:21:39 +02:00
issue-4264.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-12590-a.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
issue-12590-b.rs Moved issue tests to subdirs and normalised names. 2019-03-14 01:00:49 +00:00
issue-12590-c.pp Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
issue-12590-c.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
issue-19077.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
issue-25031.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-30731.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
issue-31073.pp Remove licenses 2018-12-25 21:08:33 -07:00
issue-31073.rs Remove licenses 2018-12-25 21:08:33 -07:00
issue-68710-field-attr-proc-mac-lost.rs Bless all pretty printer tests and ui tests 2022-02-03 10:59:36 -08:00
issue-73626.rs pprust: support multiline comments within lines 2020-07-12 18:22:09 +01:00
issue-74745.rs tests: add regression test for #74745 2020-08-02 15:33:06 +01:00
issue-85089.pp pretty: fix to print some lifetimes on HIR pretty-print 2022-10-15 23:34:21 +09:00
issue-85089.rs pretty: fix to print some lifetimes on HIR pretty-print 2022-10-15 23:34:21 +09:00
let.rs Remove licenses 2018-12-25 21:08:33 -07:00
lifetime.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
macro.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
macro_rules.rs Bless all pretty printer tests and ui tests 2022-01-30 19:50:51 -08:00
match-block-expr.rs pprust: Do not print spaces before some tokens 2019-08-25 21:23:17 +03:00
match-naked-expr-medium.rs Bless all pretty printer tests and ui tests 2022-01-30 19:50:51 -08:00
match-naked-expr.rs Remove licenses 2018-12-25 21:08:33 -07:00
nested-item-vis-defaultness.rs Fix spacing of pretty printed const item without body 2021-12-29 12:26:50 -08:00
path-type-bounds.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
qpath-associated-type-bound.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
raw-address-of.rs Add more tests for raw_ref_op 2019-12-18 20:30:00 +00:00
raw-str-nonexpr.rs Fixup a few tests needing asm support 2022-10-19 11:34:00 -07:00
stmt_expr_attributes.rs Parse inner attributes on inline const block 2022-03-15 17:56:59 -07:00
struct-pattern.rs Remove licenses 2018-12-25 21:08:33 -07:00
struct-tuple.rs Remove licenses 2018-12-25 21:08:33 -07:00
tag-blank-lines.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
tests-are-sorted.pp Sort tests at compile time, not at startup 2022-09-01 09:04:25 -04:00
tests-are-sorted.rs Sort tests at compile time, not at startup 2022-09-01 09:04:25 -04:00
top-level-doc-comments.rs Remove unused ignore-license directives 2020-01-24 00:00:00 +00:00
trait-inner-attr.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
trait-polarity.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
trait-safety.rs Pretty print empty blocks as {} 2021-12-01 13:50:13 -08:00
unary-op-disambig.rs Remove licenses 2018-12-25 21:08:33 -07:00
use-tree.rs Bless use tree pretty print test 2022-02-07 21:51:05 -08:00
vec-comments.pp Bless all pretty printer tests and ui tests 2022-01-30 19:50:51 -08:00
vec-comments.rs Remove licenses 2018-12-25 21:08:33 -07:00
where-clauses.rs Add pp-exact test involving where T: 2022-06-16 17:03:47 -07:00
yeet-expr.rs Add do yeet expressions to allow experimentation in nightly 2022-04-30 17:40:27 -07:00