All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- exported previously-unnameable parser types
- moved rustc revision-specific arguments (
--cfg=<revision>
...) to a custom flag (custom_flags::revision_args
)
- debug status emitter for when you have problems with ui_test
- cargo features to disable gha or CLI refreshing
- CLI refreshing is now reliable and not leaving around fragments
- Can run multiple
Config
s that test the same files in parallel.
only
/ignore
filters now only accept integers, alphabetic characters,-
and_
only
/ignore
filters allow comments by ignoring everything from an#
onwardsOutputConflictHandling
has been replaced byerror_on_output_conflict
,bless_output_files
, andignore_output_conflict
functions. Custom functions can now be used to implement special handling of output conflicts.Run
now forwards env vars passed to the compiler to the executable, too
- custom flags were not overriding the default, but the other way around.
- Made more code public for miri to use
- Replaced
lazy_static
with std'sOnceLock
- The order of normalizations and other settings is now that individual tests' normalizations get applied after the global normalizations.
- examples and usage instructions
Config::comment_start
field for changing the default comment symbols from//
- default comment symbols for
Config::cargo
changed to#
- Ctrl+C now prints the summary of the tests that were run before Ctrl+C is pressed
//@only-target
and//@only-host
are now separated from the triple substring by a:
instead of a-
and accepts multiple (space separated) filters where just one of them needs to match//@only-64bit
is now//@only-bitwidth: 64
. You can use//@only-bitwidth: 64 16
to enable the test for 64 and 16 bit but not for 32 bit.
TestStatus::update_status
, instead use a revision if you want to run subcommands
- panics when ui_test tried to show diagnostics on multi-byte chars
Text::diff()
creates a text status emitter that does not do full dumps of test stderr/stdout, but only emits the diff of the changes- Support
-Zbuild-std
by add- use
DependencyBuilder::build_std
to enable it
- use
- Missing result dump if printing thread is too slow and the entire test exits before it is done.
- Split up
Revisioned::mode
intoRevisioned::exit_status
andRevisioned::require_annotations
Config::output_conflict_handling
is nowError
instead ofBless
- Rustfix tests now create multiple
.fixed
files if diagnostics contain multiple suggestions - updated
prettydiff
from 0.6.4 to 0.7.0, which dropsansi_term
andwinapi*
deps.
Config::custom_comments
Revisioned::custom
Flag
trait for custom//@
flagsBuild
trait for custom aux/dep buildBuildManager
for deduplicating these builds on a per-Config
basis
- folders and libraries linked by build scripts were ignored, causing linker failures
- removed
Revisioned::no_rustfix
in favor of turning that into a rustc-specific custom flag- use
config.comment_defaults.base().set_custom("rustfix", RustFixMode::Everything);
to overwrite theMachineApplicable
default
- use
- removed
Revisioned::edition
in favor of turning that into a rustc-specific custom flag - removed
Revisioned::needs_asm_support
in favor of turning that into a rustc-specific custom flag - replaced
Mode::Run
with a rustc-specific run flag - replaced rustfix with a rustc-specific rustfix flag
- replaced
rustfix
fields ofMode::Fail
andMode::Yolo
by instead overwriting the rustc-specific custom flag - aux builds and dependencies are now built per
Config
instead of being built just for the firstConfig
and the result shared by the others- the configs could be different enough that aux builds built with a different config are incompatible (e.g. different targets).
- replaced
Revisioned::aux_builds
with a rustc-specific custom flag - replaced
dependency_builder
anddependency_manifest_path
withDependencyBuilder
Flag
that you an add to the default comments.- use
config.comment_defaults.base().set_custom("dependencies", DependencyBuilder::default());
to get the same behaviour as settingConfig.toml
as thedependency_manifest_path
.
- use
- updated
rustfix
from 0.6.1 to 0.8.1. This may cause additional suggestions to be applied that previously weren't.
- Reexporting
eyre::Result
at the root level
- Passing
--target
to build command when cross-compiling.
spanned
dependency bump to lowerbstr
to1.6.0
to resolve windows linker issues with1.7
- Add
//~v
comments to put an error matcher above the error site.
- Give aux builds the default comment config, too
- Started maintaining a changelog
Config::comment_defaults
allows setting//@
comments for all tests//~
comments can now specify just an error code or lint name, without any message. ERROR level is impliedRevisioned::diagnostic_code_prefix
allows stripping a prefix of diagnostic codes to avoid having to repeatclippy::
in all messages
- report an error instead of panicking when encountering a suggestion that does not belong to the main file.
- number of filtered tests is now > 0 when things actually got filtered.
- crate-private span handling was passed off to the
spanned
crate, improving some diagnostics along the way. Config::output_conflict_handling
does not contain the bless command message anymore, it is instead available separately asConfig::bless_command
- Updating
cargo_metadata
to0.18
- Updated
spanned
to0.1.5
, giving more precise spans for more iterator operations Config::cfgs
is nowConfig::program::cfg_flag
- Bumped
annotate-snippets
to0.10
$DIR
andRUSTLIB
replacementsConfig::edition
(replaced byconfig.comment_defaults.base().edition
)Config::filter_stdout
(replaced byconfig.comment_defaults.base().normalize_stdout
)Config::filter_stderr
(replaced byconfig.comment_defaults.base().normalize_stderr
)Config::mode
(replaced byconfig.comment_defaults.base().mode
)