summaryrefslogtreecommitdiffstats
path: root/third_party/rust/same-file/examples/is_stderr.rs
blob: ec2f98794ca4bf6d0503d41d50b1238f57359c28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
extern crate same_file;

use std::io;
use std::process;

use same_file::Handle;

fn main() {
    if let Err(err) = run() {
        println!("{}", err);
        process::exit(1);
    }
}

fn run() -> io::Result<()> {
    // Run with `cargo run is_stderr 2> examples/stderr` to see
    // interesting output.
    let candidates = &[
        "examples/is_same_file.rs",
        "examples/is_stderr.rs",
        "examples/stderr",
    ];
    let stderr_handle = Handle::stderr()?;
    for candidate in candidates {
        let handle = Handle::from_path(candidate)?;
        if stderr_handle == handle {
            println!("{:?} is stderr!", candidate);
        } else {
            println!("{:?} is NOT stderr!", candidate);
        }
    }
    Ok(())
}