File tree 3 files changed +30
-0
lines changed
3 files changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -233,6 +233,7 @@ pub struct CliUnstable {
233
233
pub print_im_a_teapot : bool ,
234
234
pub unstable_options : bool ,
235
235
pub offline : bool ,
236
+ pub no_index_update : bool ,
236
237
}
237
238
238
239
impl CliUnstable {
@@ -264,6 +265,7 @@ impl CliUnstable {
264
265
"print-im-a-teapot" => self . print_im_a_teapot = parse_bool ( v) ?,
265
266
"unstable-options" => self . unstable_options = true ,
266
267
"offline" => self . offline = true ,
268
+ "no-index-update" => self . no_index_update = true ,
267
269
_ => bail ! ( "unknown `-Z` flag specified: {}" , k) ,
268
270
}
269
271
Original file line number Diff line number Diff line change @@ -156,6 +156,9 @@ impl<'cfg> RegistryData for RemoteRegistry<'cfg> {
156
156
if self . config . cli_unstable ( ) . offline {
157
157
return Ok ( ( ) ) ;
158
158
}
159
+ if self . config . cli_unstable ( ) . no_index_update {
160
+ return Ok ( ( ) ) ;
161
+ }
159
162
160
163
// Ensure that we'll actually be able to acquire an HTTP handle later on
161
164
// once we start trying to download crates. This will weed out any
Original file line number Diff line number Diff line change @@ -74,6 +74,31 @@ fn adding_and_removing_packages() {
74
74
assert_eq ! ( lock1, lock4) ;
75
75
}
76
76
77
+ #[ test]
78
+ fn no_index_update ( ) {
79
+ use cargotest:: ChannelChanger ;
80
+ let p = project ( "foo" )
81
+ . file ( "Cargo.toml" , r#"
82
+ [package]
83
+ name = "foo"
84
+ authors = []
85
+ version = "0.0.1"
86
+
87
+ [dependencies]
88
+ serde = "1.0"
89
+ "# )
90
+ . file ( "src/main.rs" , "fn main() {}" )
91
+ . build ( ) ;
92
+
93
+ assert_that ( p. cargo ( "generate-lockfile" ) ,
94
+ execs ( ) . with_status ( 0 ) . with_stdout ( "" )
95
+ . with_stderr_contains ( " Updating registry `https://github.com/rust-lang/crates.io-index`" ) ) ;
96
+
97
+ assert_that ( p. cargo ( "generate-lockfile" ) . masquerade_as_nightly_cargo ( ) . arg ( "-Zno-index-update" ) ,
98
+ execs ( ) . with_status ( 0 ) . with_stdout ( "" )
99
+ . with_stderr_does_not_contain ( " Updating registry `https://github.com/rust-lang/crates.io-index`" ) ) ;
100
+ }
101
+
77
102
#[ test]
78
103
fn preserve_metadata ( ) {
79
104
let p = project ( "foo" )
You can’t perform that action at this time.
0 commit comments