Skip to content

Commit cb8cac4

Browse files
committed
Fix up tests
1 parent 01f159e commit cb8cac4

File tree

1 file changed

+27
-23
lines changed

1 file changed

+27
-23
lines changed

src/docbuilder/metadata.rs

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,11 @@ impl Metadata {
137137
let mut all_targets: Vec<_> = self.default_target.as_deref().into_iter().collect();
138138
match &self.extra_targets {
139139
Some(targets) => all_targets.extend(targets.iter().map(|s| s.as_str())),
140+
None if all_targets.is_empty() => {
141+
// Make sure HOST_TARGET is first
142+
all_targets.push(HOST_TARGET);
143+
all_targets.extend(TARGETS.iter().copied().filter(|&t| t != HOST_TARGET));
144+
}
140145
None => all_targets.extend(TARGETS.iter().copied()),
141146
};
142147

@@ -242,48 +247,47 @@ mod test {
242247
}
243248
#[test]
244249
fn test_select_extra_targets() {
245-
use crate::docbuilder::rustwide_builder::TARGETS;
246-
247-
let mut metadata = Metadata {
248-
extra_targets: None,
249-
..Metadata::default()
250-
};
251-
const DEFAULT_TARGET: &str = "x86-unknown-linux-gnu";
250+
use crate::docbuilder::rustwide_builder::{HOST_TARGET, TARGETS};
252251

252+
let mut metadata = Metadata::default();
253253
// unchanged default_target, extra targets not specified
254-
let tier_one = metadata.select_extra_targets(DEFAULT_TARGET);
255-
// should be equal to TARGETS except for DEFAULT_TARGET
254+
let (default, tier_one) = metadata.select_extra_targets();
255+
assert_eq!(default, HOST_TARGET);
256+
// should be equal to TARGETS \ {HOST_TARGET}
256257
for actual in &tier_one {
257258
assert!(TARGETS.contains(actual));
258259
}
259260
for expected in TARGETS {
260-
if *expected == DEFAULT_TARGET {
261-
assert!(!tier_one.contains(DEFAULT_TARGET));
261+
if *expected == HOST_TARGET {
262+
assert!(!tier_one.contains(&HOST_TARGET));
262263
} else {
263264
assert!(tier_one.contains(expected));
264265
}
265266
}
266267

267268
// unchanged default_target, extra targets specified to be empty
268269
metadata.extra_targets = Some(Vec::new());
269-
assert!(metadata.select_extra_targets(DEFAULT_TARGET).is_empty());
270+
let (default, others) = metadata.select_extra_targets();
271+
assert_eq!(default, HOST_TARGET);
272+
assert!(others.is_empty());
270273

271-
// unchanged default_target, extra targets includes targets besides default_target
274+
// unchanged default_target, extra targets non-empty
272275
metadata.extra_targets = Some(vec!["i686-pc-windows-msvc".into(), "i686-apple-darwin".into()]);
273-
let extras = metadata.select_extra_targets(DEFAULT_TARGET);
274-
assert_eq!(extras.len(), 2);
275-
assert!(extras.contains("i686-pc-windows-msvc"));
276-
assert!(extras.contains("i686-apple-darwin"));
276+
let (default, others) = metadata.select_extra_targets();
277+
assert_eq!(default, "i686-pc-windows-msvc");
278+
assert_eq!(others.len(), 1);
279+
assert!(others.contains(&"i686-apple-darwin"));
277280

278281
// make sure that default_target is not built twice
279-
metadata.extra_targets = Some(vec![DEFAULT_TARGET.into()]);
280-
assert!(metadata.select_extra_targets(DEFAULT_TARGET).is_empty());
282+
metadata.extra_targets = Some(vec![HOST_TARGET.into()]);
283+
let (default, others) = metadata.select_extra_targets();
284+
assert_eq!(default, HOST_TARGET);
285+
assert!(others.is_empty());
281286

282287
// make sure that duplicates are removed
283288
metadata.extra_targets = Some(vec!["i686-pc-windows-msvc".into(), "i686-pc-windows-msvc".into()]);
284-
assert_eq!(metadata.select_extra_targets(DEFAULT_TARGET).len(), 1);
285-
286-
// try it with a different default target just for sanity
287-
assert!(metadata.select_extra_targets("i686-pc-windows-msvc").is_empty());
289+
let (default, others) = metadata.select_extra_targets();
290+
assert_eq!(default, "i686-pc-windows-msvc");
291+
assert!(others.is_empty());
288292
}
289293
}

0 commit comments

Comments
 (0)