diff options
author | Markus Jais <markusjais@gmx.de> | 2015-02-22 11:37:54 +0100 |
---|---|---|
committer | Carl Lerche <me@carllerche.com> | 2015-03-13 16:11:19 -0700 |
commit | b20b6c80cd98db7e9ff9ee1a377f3fe52f12234f (patch) | |
tree | 6b1b3d3d4698bc5d9923d2b1787e38f7bc2993fe /test/test_stat.rs | |
parent | 0811c8c194ba1492153bf95dd209c731702544ab (diff) | |
download | nix-b20b6c80cd98db7e9ff9ee1a377f3fe52f12234f.zip |
added test for fstat
Diffstat (limited to 'test/test_stat.rs')
-rw-r--r-- | test/test_stat.rs | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/test/test_stat.rs b/test/test_stat.rs index ac4a8f08..023cb569 100644 --- a/test/test_stat.rs +++ b/test/test_stat.rs @@ -1,17 +1,12 @@ -use nix::sys::stat::stat; +use nix::sys::stat::{stat, fstat}; -#[test] -fn test_stat() { - use nix::fcntl::open; - use nix::unistd::{close, unlink}; - use nix::fcntl::O_CREAT; - use nix::sys::stat::S_IWUSR; - - let filename = b"target/foo.txt"; - let fd_res = open(filename, O_CREAT, S_IWUSR).unwrap(); - close(fd_res).unwrap(); //.ok().unwrap()); // close right here. We use the file only for the stat test - let stat_result = stat(filename); +use nix::fcntl::open; +use nix::unistd::{close, unlink}; +use nix::fcntl::O_CREAT; +use nix::sys::stat::{FileStat, S_IWUSR}; +use nix::NixResult; +fn assert_stat_results(stat_result: NixResult<FileStat>) { match stat_result { Ok(stats) => { assert!(stats.st_dev > 0); // must be positive integer, exact number machine dependent @@ -27,5 +22,20 @@ fn test_stat() { } Err(_) => panic!("stat call failed") // if stats system call fails, something is seriously wrong on that machine } +} + + +#[test] +fn test_stat_and_fstat() { + let filename = b"target/foo.txt"; + let fd = open(filename, O_CREAT, S_IWUSR).unwrap(); // create empty file + + let stat_result = stat(filename); + assert_stat_results(stat_result); + + let fstat_result = fstat(fd); + assert_stat_results(fstat_result); + + close(fd).unwrap(); unlink(filename).unwrap(); } |