@@ -6028,18 +6028,21 @@ fn registry_inferred_from_unique_option() {
6028
6028
6029
6029
p. cargo ( "package -Zpackage-workspace" )
6030
6030
. masquerade_as_nightly_cargo ( & [ "package-workspace" ] )
6031
- . with_status ( 101 )
6032
6031
. with_stderr_data ( str![ [ r#"
6033
6032
[PACKAGING] dep v0.1.0 ([ROOT]/foo/dep)
6034
6033
[PACKAGED] 3 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
6035
6034
[PACKAGING] main v0.0.1 ([ROOT]/foo/main)
6036
6035
[UPDATING] `alternative` index
6037
- [ERROR] failed to prepare local package for uploading
6038
-
6039
- Caused by:
6040
- no matching package named `dep` found
6041
- location searched: registry `alternative`
6042
- required by package `main v0.0.1 ([ROOT]/foo/main)`
6036
+ [PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
6037
+ [VERIFYING] dep v0.1.0 ([ROOT]/foo/dep)
6038
+ [COMPILING] dep v0.1.0 ([ROOT]/foo/target/package/dep-0.1.0)
6039
+ [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s
6040
+ [VERIFYING] main v0.0.1 ([ROOT]/foo/main)
6041
+ [UPDATING] `alternative` index
6042
+ [UNPACKING] dep v0.1.0 (registry `[ROOT]/foo/target/package/tmp-registry`)
6043
+ [COMPILING] dep v0.1.0 (registry `alternative`)
6044
+ [COMPILING] main v0.0.1 ([ROOT]/foo/target/package/main-0.0.1)
6045
+ [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s
6043
6046
6044
6047
"# ] ] )
6045
6048
. run ( ) ;
@@ -6100,8 +6103,7 @@ fn registry_not_inferred_because_of_missing_option() {
6100
6103
. masquerade_as_nightly_cargo ( & [ "package-workspace" ] )
6101
6104
. with_status ( 101 )
6102
6105
. with_stderr_data ( str![ [ r#"
6103
- [ERROR] `dep` cannot be packaged.
6104
- The registry `crates-io` is not listed in the `package.publish` value in Cargo.toml.
6106
+ [ERROR] `package.publish` settings have no registry in common
6105
6107
6106
6108
"# ] ] )
6107
6109
. run ( ) ;
@@ -6121,11 +6123,104 @@ The registry `alternative` is not listed in the `package.publish` value in Cargo
6121
6123
alt_reg. index_url( )
6122
6124
) )
6123
6125
. masquerade_as_nightly_cargo ( & [ "package-workspace" ] )
6124
- . with_status ( 101 )
6125
6126
. with_stderr_data ( str![ [ r#"
6126
- [ERROR] `dep` cannot be packaged.
6127
- The registry `crates-io` is not listed in the `package.publish` value in Cargo.toml.
6127
+ [PACKAGING] dep v0.1.0 ([ROOT]/foo/dep)
6128
+ [PACKAGED] 3 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
6129
+ [PACKAGING] main v0.0.1 ([ROOT]/foo/main)
6130
+ [UPDATING] `alternative` index
6131
+ [PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
6132
+ [VERIFYING] dep v0.1.0 ([ROOT]/foo/dep)
6133
+ [COMPILING] dep v0.1.0 ([ROOT]/foo/target/package/dep-0.1.0)
6134
+ [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s
6135
+ [VERIFYING] main v0.0.1 ([ROOT]/foo/main)
6136
+ [UPDATING] `alternative` index
6137
+ [UNPACKING] dep v0.1.0 (registry `[ROOT]/foo/target/package/tmp-registry`)
6138
+ [COMPILING] dep v0.1.0 (registry `alternative`)
6139
+ [COMPILING] main v0.0.1 ([ROOT]/foo/target/package/main-0.0.1)
6140
+ [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s
6128
6141
6129
6142
"# ] ] )
6130
6143
. run ( ) ;
6131
6144
}
6145
+
6146
+ #[ cargo_test]
6147
+ fn registry_not_inferred_because_of_multiple_options ( ) {
6148
+ let alt_reg = registry:: RegistryBuilder :: new ( )
6149
+ . http_api ( )
6150
+ . http_index ( )
6151
+ . alternative ( )
6152
+ . build ( ) ;
6153
+
6154
+ let p = project ( )
6155
+ . file (
6156
+ "Cargo.toml" ,
6157
+ r#"
6158
+ [workspace]
6159
+ members = ["dep", "main"]
6160
+ "# ,
6161
+ )
6162
+ . file (
6163
+ "main/Cargo.toml" ,
6164
+ r#"
6165
+ [package]
6166
+ name = "main"
6167
+ version = "0.0.1"
6168
+ edition = "2015"
6169
+ authors = []
6170
+ license = "MIT"
6171
+ description = "main"
6172
+ repository = "bar"
6173
+ publish = ["alternative", "alternative2"]
6174
+
6175
+ [dependencies]
6176
+ dep = { path = "../dep", version = "0.1.0", registry = "alternative" }
6177
+ "# ,
6178
+ )
6179
+ . file ( "main/src/main.rs" , "fn main() {}" )
6180
+ . file (
6181
+ "dep/Cargo.toml" ,
6182
+ r#"
6183
+ [package]
6184
+ name = "dep"
6185
+ version = "0.1.0"
6186
+ edition = "2015"
6187
+ authors = []
6188
+ license = "MIT"
6189
+ description = "dep"
6190
+ repository = "bar"
6191
+ publish = ["alternative", "alternative2"]
6192
+ "# ,
6193
+ )
6194
+ . file ( "dep/src/lib.rs" , "" )
6195
+ . build ( ) ;
6196
+
6197
+ p. cargo ( "package -Zpackage-workspace" )
6198
+ . masquerade_as_nightly_cargo ( & [ "package-workspace" ] )
6199
+ . with_status ( 101 )
6200
+ . with_stderr_data ( str![ [ r#"
6201
+ [ERROR] --registry needed to disambiguate between alternative or alternative2 registries
6202
+
6203
+ "# ] ] )
6204
+ . run ( ) ;
6205
+
6206
+ p. cargo ( "package -Zpackage-workspace --registry=alternative" )
6207
+ . masquerade_as_nightly_cargo ( & [ "package-workspace" ] )
6208
+ . with_stderr_data ( str![ [ r#"
6209
+ [PACKAGING] dep v0.1.0 ([ROOT]/foo/dep)
6210
+ [PACKAGED] 3 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
6211
+ [PACKAGING] main v0.0.1 ([ROOT]/foo/main)
6212
+ [UPDATING] `alternative` index
6213
+ [PACKAGED] 4 files, [FILE_SIZE]B ([FILE_SIZE]B compressed)
6214
+ [VERIFYING] dep v0.1.0 ([ROOT]/foo/dep)
6215
+ [COMPILING] dep v0.1.0 ([ROOT]/foo/target/package/dep-0.1.0)
6216
+ [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s
6217
+ [VERIFYING] main v0.0.1 ([ROOT]/foo/main)
6218
+ [UPDATING] `alternative` index
6219
+ [UNPACKING] dep v0.1.0 (registry `[ROOT]/foo/target/package/tmp-registry`)
6220
+ [COMPILING] dep v0.1.0 (registry `alternative`)
6221
+ [COMPILING] main v0.0.1 ([ROOT]/foo/target/package/main-0.0.1)
6222
+ [FINISHED] `dev` profile [unoptimized + debuginfo] target(s) in [ELAPSED]s
6223
+
6224
+ "# ] ] )
6225
+ . run ( ) ;
6226
+ }
0 commit comments