mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 11:37:44 +00:00
test_tail: add test_retry5
This commit is contained in:
parent
5770921f52
commit
4bfb462387
1 changed files with 34 additions and 0 deletions
|
@ -645,6 +645,40 @@ fn test_retry4() {
|
|||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(target_os = "linux")] // FIXME: fix this test for BSD/macOS
|
||||
fn test_retry5() {
|
||||
// gnu/tests/tail-2/retry.sh
|
||||
// Ensure that `tail --follow=descriptor --retry` exits when the file appears untailable.
|
||||
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let at = &ts.fixtures;
|
||||
let missing = "missing";
|
||||
|
||||
let expected_stderr = "tail: warning: --retry only effective for the initial open\n\
|
||||
tail: cannot open 'missing' for reading: No such file or directory\n\
|
||||
tail: 'missing' has been replaced with an untailable file; giving up on this name\n\
|
||||
tail: no files remaining\n";
|
||||
let delay = 1000;
|
||||
let mut args = vec!["--follow=descriptor", "--retry", missing, "--use-polling"];
|
||||
for _ in 0..2 {
|
||||
let mut p = ts.ucmd().args(&args).run_no_wait();
|
||||
|
||||
sleep(Duration::from_millis(delay));
|
||||
at.mkdir(missing);
|
||||
sleep(Duration::from_millis(delay));
|
||||
|
||||
p.kill().unwrap();
|
||||
|
||||
let (buf_stdout, buf_stderr) = take_stdout_stderr(&mut p);
|
||||
assert!(buf_stdout.is_empty());
|
||||
assert_eq!(buf_stderr, expected_stderr);
|
||||
|
||||
at.rmdir(missing);
|
||||
args.pop();
|
||||
}
|
||||
}
|
||||
|
||||
// gnu/tests/tail-2/descriptor-vs-rename.sh
|
||||
let ts = TestScenario::new(util_name!());
|
||||
let at = &ts.fixtures;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue