rust/src/test/ui
alexey zabelin dd906ef7ec
Fix error message for mismatched types
This addresses #41425 by implementing the changes mentioned in the
following comment:
https://github.com/rust-lang/rust/issues/41425#issuecomment-296754508
2017-04-25 18:28:08 -04:00
..
check_match
codemap_tests Move 'coherence-overlapping-inherent-impl-trait' test to ui 2017-04-04 21:08:56 +09:00
compare-method Reduce visual clutter of multiline start when possible 2017-04-20 17:31:20 -07:00
cross-crate-macro-backtrace
did_you_mean Reduce visual clutter of multiline start when possible 2017-04-20 17:31:20 -07:00
dropck Reduce visual clutter of multiline start when possible 2017-04-20 17:31:20 -07:00
fmt
hello_world
impl-trait Explicit help message for binop type missmatch 2017-04-10 14:28:38 -07:00
issue-37311-type-length-limit Reduce visual clutter of multiline start when possible 2017-04-20 17:31:20 -07:00
lifetime-errors Reduce visual clutter of multiline start when possible 2017-04-20 17:31:20 -07:00
lifetimes
lint note wording: lint implied by lint group, not lint group implies lint 2017-02-04 10:51:11 -08:00
macros Refactor how spans are combined in the parser. 2017-03-29 11:17:59 +00:00
mismatched_types Reduce visual clutter of multiline start when possible 2017-04-20 17:31:20 -07:00
missing-items Reduce visual clutter of multiline start when possible 2017-04-20 17:31:20 -07:00
print_type_sizes Added feature gate, updated error messages and tests. 2017-04-21 07:37:10 +10:00
print-fuel UI test for -Z print-fuel=foo 2017-04-11 14:36:08 +03:00
pub Add diagnostic for incorrect pub (restriction) 2017-03-22 22:51:45 -07:00
reachable cherry-pick over the tests I wrote for the reachability code 2017-03-30 07:55:29 -04:00
resolve Add a way to get shorter spans until char for pointing at defs 2017-04-12 01:10:48 -07:00
span Rollup merge of #41435 - estebank:issue-33884, r=nikomatsakis 2017-04-21 23:29:15 -04:00
suggestions Rollup merge of #41087 - estebank:tuple-float-index, r=arielb1 2017-04-12 14:45:41 +02:00
token libsyntax/parse: improve associated item error reporting 2017-04-17 21:25:35 +03:00
type-check Reduce visual clutter of multiline start when possible 2017-04-20 17:31:20 -07:00
coercion-missing-tail-expected-type.rs Fix error message for mismatched types 2017-04-25 18:28:08 -04:00
coercion-missing-tail-expected-type.stderr Fix error message for mismatched types 2017-04-25 18:28:08 -04:00
loop-break-value-no-repeat.rs rework how we handle the type of loops 2017-03-30 07:55:29 -04:00
loop-break-value-no-repeat.stderr rework how we handle the type of loops 2017-03-30 07:55:29 -04:00
README.md
regions-fn-subtyping-return-static.rs make lifetimes that only appear in return type early-bound 2017-02-05 16:30:03 -05:00
regions-fn-subtyping-return-static.stderr make lifetimes that only appear in return type early-bound 2017-02-05 16:30:03 -05:00
update-all-references.sh
update-references.sh

Guide to the UI Tests

The UI tests are intended to capture the compiler's complete output, so that we can test all aspects of the presentation. They work by compiling a file (e.g., hello_world/main.rs), capturing the output, and then applying some normalization (see below). This normalized result is then compared against reference files named hello_world/main.stderr and hello_world/main.stdout. If either of those files doesn't exist, the output must be empty. If the test run fails, we will print out the current output, but it is also saved in build/<target-triple>/test/ui/hello_world/main.stdout (this path is printed as part of the test failure mesage), so you can run diff and so forth.

Editing and updating the reference files

If you have changed the compiler's output intentionally, or you are making a new test, you can use the script update-references.sh to update the references. When you run the test framework, it will report various errors: in those errors is a command you can use to run the update-references.sh script, which will then copy over the files from the build directory and use them as the new reference. You can also just run update-all-references.sh. In both cases, you can run the script with --help to get a help message.

Normalization

The normalization applied is aimed at filenames:

  • the test directory is replaced with $DIR
  • all backslashes () are converted to forward slashes (/) (for windows)