test_ls: Do not rely on the system time of metadata'access time

Signed-off-by: Hanif Bin Ariffin <hanif.ariffin.43262@gmail.com>
This commit is contained in:
Hanif Bin Ariffin 2022-02-02 12:49:40 +08:00
parent 87e582b5e0
commit 560cd74a63

View file

@ -1327,18 +1327,15 @@ fn test_ls_order_time() {
// So the order should be 2 3 4 1
for arg in &["-u", "--time=atime", "--time=access", "--time=use"] {
let result = scene.ucmd().arg("-t").arg(arg).succeeds();
let file3_access = at.open("test-3").metadata().unwrap().accessed().unwrap();
let file4_access = at.open("test-4").metadata().unwrap().accessed().unwrap();
at.open("test-3").metadata().unwrap().accessed().unwrap();
at.open("test-4").metadata().unwrap().accessed().unwrap();
// It seems to be dependent on the platform whether the access time is actually set
if file3_access > file4_access {
#[cfg(unix)]
result.stdout_only("test-3\ntest-4\ntest-2\ntest-1\n");
} else {
// Access time does not seem to be set on Windows and some other
// systems so the order is 4 3 2 1
#[cfg(windows)]
result.stdout_only("test-4\ntest-3\ntest-2\ntest-1\n");
}
}
// test-2 had the last ctime change when the permissions were set
// So the order should be 2 4 3 1