@@ -111,16 +111,21 @@ impl session for session {
111
111
}
112
112
}
113
113
114
- fn building_library ( req_crate_type : crate_type , crate : @ast:: crate ) -> bool {
114
+ fn building_library ( req_crate_type : crate_type , crate : @ast:: crate ,
115
+ testing : bool ) -> bool {
115
116
alt req_crate_type {
116
117
bin_crate. { false }
117
118
lib_crate. { true }
118
119
unknown_crate. {
119
- alt front :: attr:: get_meta_item_value_str_by_name (
120
- crate . node. attrs ,
121
- "crate_type" ) {
122
- option:: some ( "lib" ) { true }
123
- _ { false }
120
+ if testing {
121
+ false
122
+ } else {
123
+ alt front:: attr:: get_meta_item_value_str_by_name (
124
+ crate . node. attrs ,
125
+ "crate_type" ) {
126
+ option:: some ( "lib" ) { true }
127
+ _ { false }
128
+ }
124
129
}
125
130
}
126
131
}
@@ -156,31 +161,43 @@ mod test {
156
161
#[ test]
157
162
fn bin_crate_type_attr_results_in_bin_output ( ) {
158
163
let crate = make_crate ( true , false ) ;
159
- assert ! building_library( unknown_crate, crate ) ;
164
+ assert ! building_library( unknown_crate, crate , false ) ;
160
165
}
161
166
162
167
#[ test]
163
168
fn lib_crate_type_attr_results_in_lib_output ( ) {
164
169
let crate = make_crate ( false , true ) ;
165
- assert building_library ( unknown_crate, crate ) ;
170
+ assert building_library ( unknown_crate, crate , false ) ;
166
171
}
167
172
168
173
#[ test]
169
174
fn bin_option_overrides_lib_crate_type ( ) {
170
175
let crate = make_crate ( false , true ) ;
171
- assert ! building_library( bin_crate, crate ) ;
176
+ assert ! building_library( bin_crate, crate , false ) ;
172
177
}
173
178
174
179
#[ test]
175
180
fn lib_option_overrides_bin_crate_type ( ) {
176
181
let crate = make_crate ( true , false ) ;
177
- assert building_library ( lib_crate, crate ) ;
182
+ assert building_library ( lib_crate, crate , false ) ;
178
183
}
179
184
180
185
#[ test]
181
186
fn bin_crate_type_is_default ( ) {
182
187
let crate = make_crate ( false , false ) ;
183
- assert ! building_library( unknown_crate, crate ) ;
188
+ assert ! building_library( unknown_crate, crate , false ) ;
189
+ }
190
+
191
+ #[ test]
192
+ fn test_option_overrides_lib_crate_type ( ) {
193
+ let crate = make_crate ( false , true ) ;
194
+ assert ! building_library( unknown_crate, crate , true ) ;
195
+ }
196
+
197
+ #[ test]
198
+ fn test_option_does_not_override_requested_lib_type ( ) {
199
+ let crate = make_crate ( false , false ) ;
200
+ assert building_library ( lib_crate, crate , true ) ;
184
201
}
185
202
}
186
203
0 commit comments