]> git.proxmox.com Git - rustc.git/blob - src/test/ui/env-args-reverse-iterator.rs
Update unsuspicious file list
[rustc.git] / src / test / ui / env-args-reverse-iterator.rs
1 // run-pass
2 // ignore-emscripten no processes
3 // ignore-sgx no processes
4
5 use std::env::args;
6 use std::process::Command;
7
8 fn assert_reverse_iterator_for_program_arguments(program_name: &str) {
9 let args: Vec<_> = args().rev().collect();
10
11 assert!(args.len() == 4);
12 assert_eq!(args[0], "c");
13 assert_eq!(args[1], "b");
14 assert_eq!(args[2], "a");
15 assert_eq!(args[3], program_name);
16
17 println!("passed");
18 }
19
20 fn main() {
21 let mut args = args();
22 let me = args.next().unwrap();
23
24 if let Some(_) = args.next() {
25 assert_reverse_iterator_for_program_arguments(&me);
26 return
27 }
28
29 let output = Command::new(&me)
30 .arg("a")
31 .arg("b")
32 .arg("c")
33 .output()
34 .unwrap();
35 assert!(output.status.success());
36 assert!(output.stderr.is_empty());
37 assert_eq!(output.stdout, b"passed\n");
38 }