Add a run-make test for rustc --help
and similar
This commit is contained in:
parent
b91a3a0560
commit
8f7f9b93b2
@ -41,6 +41,7 @@ pub mod rfs {
|
||||
pub use object;
|
||||
pub use regex;
|
||||
pub use serde_json;
|
||||
pub use similar;
|
||||
pub use wasmparser;
|
||||
// tidy-alphabetical-end
|
||||
|
||||
|
29
tests/run-make/rustc-help/help-v.diff
Normal file
29
tests/run-make/rustc-help/help-v.diff
Normal file
@ -0,0 +1,29 @@
|
||||
@@ -51,10 +51,27 @@
|
||||
Set a codegen option
|
||||
-V, --version Print version info and exit
|
||||
-v, --verbose Use verbose output
|
||||
+ --extern NAME[=PATH]
|
||||
+ Specify where an external rust library is located
|
||||
+ --sysroot PATH Override the system root
|
||||
+ --error-format human|json|short
|
||||
+ How errors and other messages are produced
|
||||
+ --json CONFIG Configure the JSON output of the compiler
|
||||
+ --color auto|always|never
|
||||
+ Configure coloring of output:
|
||||
+ auto = colorize, if output goes to a tty (default);
|
||||
+ always = always colorize output;
|
||||
+ never = never colorize output
|
||||
+ --diagnostic-width WIDTH
|
||||
+ Inform rustc of the width of the output so that
|
||||
+ diagnostics can be truncated to fit
|
||||
+ --remap-path-prefix FROM=TO
|
||||
+ Remap source names in all output (compiler messages
|
||||
+ and output files)
|
||||
+ @path Read newline separated options from `path`
|
||||
|
||||
Additional help:
|
||||
-C help Print codegen options
|
||||
-W help Print 'lint' options and default settings
|
||||
-Z help Print unstable compiler options
|
||||
- --help -v Print the full set of options rustc accepts
|
||||
|
77
tests/run-make/rustc-help/help-v.stdout
Normal file
77
tests/run-make/rustc-help/help-v.stdout
Normal file
@ -0,0 +1,77 @@
|
||||
Usage: rustc [OPTIONS] INPUT
|
||||
|
||||
Options:
|
||||
-h, --help Display this message
|
||||
--cfg SPEC Configure the compilation environment.
|
||||
SPEC supports the syntax `NAME[="VALUE"]`.
|
||||
--check-cfg SPEC
|
||||
Provide list of expected cfgs for checking
|
||||
-L [KIND=]PATH Add a directory to the library search path. The
|
||||
optional KIND can be one of dependency, crate, native,
|
||||
framework, or all (the default).
|
||||
-l [KIND[:MODIFIERS]=]NAME[:RENAME]
|
||||
Link the generated crate(s) to the specified native
|
||||
library NAME. The optional KIND can be one of
|
||||
static, framework, or dylib (the default).
|
||||
Optional comma separated MODIFIERS
|
||||
(bundle|verbatim|whole-archive|as-needed)
|
||||
may be specified each with a prefix of either '+' to
|
||||
enable or '-' to disable.
|
||||
--crate-type [bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]
|
||||
Comma separated list of types of crates
|
||||
for the compiler to emit
|
||||
--crate-name NAME
|
||||
Specify the name of the crate being built
|
||||
--edition 2015|2018|2021|2024
|
||||
Specify which edition of the compiler to use when
|
||||
compiling code. The default is 2015 and the latest
|
||||
stable edition is 2021.
|
||||
--emit [asm|llvm-bc|llvm-ir|obj|metadata|link|dep-info|mir]
|
||||
Comma separated list of types of output for the
|
||||
compiler to emit
|
||||
--print [crate-name|file-names|sysroot|target-libdir|cfg|check-cfg|calling-conventions|target-list|target-cpus|target-features|relocation-models|code-models|tls-models|target-spec-json|all-target-specs-json|native-static-libs|stack-protector-strategies|link-args|deployment-target]
|
||||
Compiler information to print on stdout
|
||||
-g Equivalent to -C debuginfo=2
|
||||
-O Equivalent to -C opt-level=2
|
||||
-o FILENAME Write output to <filename>
|
||||
--out-dir DIR Write output to compiler-chosen filename in <dir>
|
||||
--explain OPT Provide a detailed explanation of an error message
|
||||
--test Build a test harness
|
||||
--target TARGET Target triple for which the code is compiled
|
||||
-A, --allow LINT Set lint allowed
|
||||
-W, --warn LINT Set lint warnings
|
||||
--force-warn LINT
|
||||
Set lint force-warn
|
||||
-D, --deny LINT Set lint denied
|
||||
-F, --forbid LINT Set lint forbidden
|
||||
--cap-lints LEVEL
|
||||
Set the most restrictive lint level. More restrictive
|
||||
lints are capped at this level
|
||||
-C, --codegen OPT[=VALUE]
|
||||
Set a codegen option
|
||||
-V, --version Print version info and exit
|
||||
-v, --verbose Use verbose output
|
||||
--extern NAME[=PATH]
|
||||
Specify where an external rust library is located
|
||||
--sysroot PATH Override the system root
|
||||
--error-format human|json|short
|
||||
How errors and other messages are produced
|
||||
--json CONFIG Configure the JSON output of the compiler
|
||||
--color auto|always|never
|
||||
Configure coloring of output:
|
||||
auto = colorize, if output goes to a tty (default);
|
||||
always = always colorize output;
|
||||
never = never colorize output
|
||||
--diagnostic-width WIDTH
|
||||
Inform rustc of the width of the output so that
|
||||
diagnostics can be truncated to fit
|
||||
--remap-path-prefix FROM=TO
|
||||
Remap source names in all output (compiler messages
|
||||
and output files)
|
||||
@path Read newline separated options from `path`
|
||||
|
||||
Additional help:
|
||||
-C help Print codegen options
|
||||
-W help Print 'lint' options and default settings
|
||||
-Z help Print unstable compiler options
|
||||
|
60
tests/run-make/rustc-help/help.stdout
Normal file
60
tests/run-make/rustc-help/help.stdout
Normal file
@ -0,0 +1,60 @@
|
||||
Usage: rustc [OPTIONS] INPUT
|
||||
|
||||
Options:
|
||||
-h, --help Display this message
|
||||
--cfg SPEC Configure the compilation environment.
|
||||
SPEC supports the syntax `NAME[="VALUE"]`.
|
||||
--check-cfg SPEC
|
||||
Provide list of expected cfgs for checking
|
||||
-L [KIND=]PATH Add a directory to the library search path. The
|
||||
optional KIND can be one of dependency, crate, native,
|
||||
framework, or all (the default).
|
||||
-l [KIND[:MODIFIERS]=]NAME[:RENAME]
|
||||
Link the generated crate(s) to the specified native
|
||||
library NAME. The optional KIND can be one of
|
||||
static, framework, or dylib (the default).
|
||||
Optional comma separated MODIFIERS
|
||||
(bundle|verbatim|whole-archive|as-needed)
|
||||
may be specified each with a prefix of either '+' to
|
||||
enable or '-' to disable.
|
||||
--crate-type [bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]
|
||||
Comma separated list of types of crates
|
||||
for the compiler to emit
|
||||
--crate-name NAME
|
||||
Specify the name of the crate being built
|
||||
--edition 2015|2018|2021|2024
|
||||
Specify which edition of the compiler to use when
|
||||
compiling code. The default is 2015 and the latest
|
||||
stable edition is 2021.
|
||||
--emit [asm|llvm-bc|llvm-ir|obj|metadata|link|dep-info|mir]
|
||||
Comma separated list of types of output for the
|
||||
compiler to emit
|
||||
--print [crate-name|file-names|sysroot|target-libdir|cfg|check-cfg|calling-conventions|target-list|target-cpus|target-features|relocation-models|code-models|tls-models|target-spec-json|all-target-specs-json|native-static-libs|stack-protector-strategies|link-args|deployment-target]
|
||||
Compiler information to print on stdout
|
||||
-g Equivalent to -C debuginfo=2
|
||||
-O Equivalent to -C opt-level=2
|
||||
-o FILENAME Write output to <filename>
|
||||
--out-dir DIR Write output to compiler-chosen filename in <dir>
|
||||
--explain OPT Provide a detailed explanation of an error message
|
||||
--test Build a test harness
|
||||
--target TARGET Target triple for which the code is compiled
|
||||
-A, --allow LINT Set lint allowed
|
||||
-W, --warn LINT Set lint warnings
|
||||
--force-warn LINT
|
||||
Set lint force-warn
|
||||
-D, --deny LINT Set lint denied
|
||||
-F, --forbid LINT Set lint forbidden
|
||||
--cap-lints LEVEL
|
||||
Set the most restrictive lint level. More restrictive
|
||||
lints are capped at this level
|
||||
-C, --codegen OPT[=VALUE]
|
||||
Set a codegen option
|
||||
-V, --version Print version info and exit
|
||||
-v, --verbose Use verbose output
|
||||
|
||||
Additional help:
|
||||
-C help Print codegen options
|
||||
-W help Print 'lint' options and default settings
|
||||
-Z help Print unstable compiler options
|
||||
--help -v Print the full set of options rustc accepts
|
||||
|
21
tests/run-make/rustc-help/rmake.rs
Normal file
21
tests/run-make/rustc-help/rmake.rs
Normal file
@ -0,0 +1,21 @@
|
||||
// Tests `rustc --help` and similar invocations against snapshots and each other.
|
||||
|
||||
use run_make_support::{bare_rustc, diff, similar};
|
||||
|
||||
fn main() {
|
||||
// `rustc --help`
|
||||
let help = bare_rustc().arg("--help").run().stdout_utf8();
|
||||
diff().expected_file("help.stdout").actual_text("(rustc --help)", &help).run();
|
||||
|
||||
// `rustc` should be the same as `rustc --help`
|
||||
let bare = bare_rustc().run().stdout_utf8();
|
||||
diff().expected_text("(rustc --help)", &help).actual_text("(rustc)", &bare).run();
|
||||
|
||||
// `rustc --help -v` should give a similar but longer help message
|
||||
let help_v = bare_rustc().arg("--help").arg("-v").run().stdout_utf8();
|
||||
diff().expected_file("help-v.stdout").actual_text("(rustc --help -v)", &help_v).run();
|
||||
|
||||
// Check the diff between `rustc --help` and `rustc --help -v`.
|
||||
let help_v_diff = similar::TextDiff::from_lines(&help, &help_v).unified_diff().to_string();
|
||||
diff().expected_file("help-v.diff").actual_text("actual", &help_v_diff).run();
|
||||
}
|
Loading…
Reference in New Issue
Block a user