rust/src/test/incremental
bors da3fbe750f Auto merge of #45867 - michaelwoerister:check-ich-stability, r=nikomatsakis
incr.comp.: Verify stability of incr. comp. hashes and clean up various other things.

The main contribution of this PR is that it adds the `-Z incremental-verify-ich` functionality. Normally, when the red-green tracking system determines that a certain query result has not changed, it does not re-compute the incr. comp. hash (ICH) for that query result because that hash is already known. `-Z incremental-verify-ich` tells the compiler to re-hash the query result and compare the new hash against the cached hash. This is a rather thorough way of
- testing hashing implementation stability,
- finding missing `[input]` annotations on `DepNodes`, and
- finding missing read-edges,

since both a missed read and a missing `[input]` annotation can lead to something being marked as green instead of red and thus will have a different hash than it should have.

Case in point, implementing this verification logic and activating it for all `src/test/incremental` tests has revealed several such oversights, all of which are fixed in this PR.

r? @nikomatsakis
2017-11-08 22:27:06 +00:00
..
add_private_fn_at_krate_root_cc Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
callee_caller_cross_crate incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
change_add_field Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
change_crate_order rename Tables to TypeckTables 2017-01-25 16:24:00 -05:00
change_private_fn Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
change_private_fn_cc Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
change_private_impl_method Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
change_private_impl_method_cc Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
change_pub_inherent_method_body Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
change_pub_inherent_method_sig Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
hashes Auto merge of #45867 - michaelwoerister:check-ich-stability, r=nikomatsakis 2017-11-08 22:27:06 +00:00
inlined_hir_34991 remap Hir(InlinedDefId) to MetaData(OriginalDefId) 2016-08-02 05:31:25 -04:00
issue-39828 detect "bootstrap outputs" when serializing the dep-graph 2017-02-22 12:02:41 -05:00
krate_reassign_34991 watch out for krate numbers being reassigned 2016-08-02 05:31:25 -04:00
remapped_paths_cc incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
remove-private-item-cross-crate incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
remove_source_file incr.comp.: Make DefSpan an input dep-node so it is not affected by the existing Span/HIR hashing hack. 2017-11-08 11:30:14 +01:00
rlib_cross_crate incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
span_hash_stable incr.comp. Add tests for stable span hashing. 2016-09-01 09:43:44 -04:00
struct_change_field_type_cross_crate incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
type_alias_cross_crate incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
cache_file_headers.rs incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
change_symbol_export_status.rs incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
commandline-args.rs incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
crate_hash_reorder.rs fix stray comment 2016-08-23 13:29:28 -04:00
dirty_clean.rs incr.comp.: Make #[rustc_dirty/clean] test for fingerprint equality instead of DepNode existence. 2017-09-23 19:47:46 +02:00
foreign.rs hash foreign items too 2016-08-01 19:57:32 -04:00
hello_world.rs rename Tables to TypeckTables 2017-01-25 16:24:00 -05:00
ich_method_call_trait_scope.rs Fix issues uncovered by rebasing: 2017-09-18 11:25:34 +02:00
ich_nested_items.rs incr.comp.: Adapt nested_items test to new HIR hashing rules. 2017-11-08 11:32:16 +01:00
ich_resolve_results.rs Give function bodies their own dep graph node 2016-11-29 13:04:27 +01:00
issue-35593.rs incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
issue-38222.rs Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
issue-39569.rs fix case where some edges can't be recreated by expanding the graph 2017-02-06 10:20:23 -05:00
issue-42602.rs consider closures/ty-fn-defs when making trait selection keys 2017-06-12 17:23:21 -04:00
krate-inherent.rs Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
krate-inlined.rs Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
macro_export.rs incr.comp.: Move macro-export test case to src/test/incremental. 2017-10-09 15:38:51 +02:00
source_loc_macros.rs Address remaining review comments 2016-11-29 13:04:27 +01:00
spans_in_type_debuginfo.rs incr.comp.: Make DefSpan an input dep-node so it is not affected by the existing Span/HIR hashing hack. 2017-11-08 11:30:14 +01:00
spans_insignificant_w_o_debuginfo.rs Give function bodies their own dep graph node 2016-11-29 13:04:27 +01:00
spans_significant_w_debuginfo.rs Give function bodies their own dep graph node 2016-11-29 13:04:27 +01:00
spans_significant_w_panic.rs incr.comp.: Update overflow-check logic in HIR hashing. 2017-10-26 16:23:31 +02:00
spike-neg1.rs Address mw nits 2016-07-28 12:05:45 -04:00
spike-neg2.rs Address mw nits 2016-07-28 12:05:45 -04:00
spike.rs incr.comp.: Use red/green tracking for CGU re-use. 2017-10-02 15:45:46 +02:00
string_constant.rs Fix incremental tests after change to instantiation strategy. 2017-11-07 08:54:38 +01:00
struct_add_field.rs rename Tables to TypeckTables 2017-01-25 16:24:00 -05:00
struct_change_field_name.rs rename Tables to TypeckTables 2017-01-25 16:24:00 -05:00
struct_change_field_type.rs rename Tables to TypeckTables 2017-01-25 16:24:00 -05:00
struct_change_nothing.rs rename Tables to TypeckTables 2017-01-25 16:24:00 -05:00
struct_remove_field.rs rename Tables to TypeckTables 2017-01-25 16:24:00 -05:00
unchecked_dirty_clean.rs Let the ICH testing framework check that all #[rustc_dirty] attrs have been actually checked. 2017-02-03 15:08:42 -05:00
unchecked_dirty_clean_metadata.rs ICH: Replace old, transitive metadata hashing with direct hashing approach. 2017-04-12 11:47:26 +02:00
warnings-reemitted.rs incr.comp.: Implement query diagnostic persistence. 2017-10-25 15:43:48 +02:00