ls: ignore value of POSIXLY_CORRECT

This commit is contained in:
Daniel Hofstetter 2023-12-01 16:27:05 +01:00
parent c77d389f5b
commit 51fc2d7564
2 changed files with 30 additions and 7 deletions

View file

@ -20,7 +20,7 @@ use std::os::windows::fs::MetadataExt;
use std::{ use std::{
cmp::Reverse, cmp::Reverse,
error::Error, error::Error,
ffi::{OsStr, OsString}, ffi::OsString,
fmt::{Display, Write as FmtWrite}, fmt::{Display, Write as FmtWrite},
fs::{self, DirEntry, FileType, Metadata, ReadDir}, fs::{self, DirEntry, FileType, Metadata, ReadDir},
io::{stdout, BufWriter, ErrorKind, Stdout, Write}, io::{stdout, BufWriter, ErrorKind, Stdout, Write},
@ -792,12 +792,8 @@ impl Config {
None None
} }
} }
} else if let Some(pc) = env_var_posixly_correct { } else if env_var_posixly_correct.is_some() {
if pc.as_os_str() == OsStr::new("true") || pc == OsStr::new("1") { Some(POSIXLY_CORRECT_BLOCK_SIZE)
Some(POSIXLY_CORRECT_BLOCK_SIZE)
} else {
None
}
} else { } else {
None None
}; };

View file

@ -3828,3 +3828,30 @@ fn test_ls_cf_output_should_be_delimited_by_tab() {
.succeeds() .succeeds()
.stdout_is("a2345/\tb/\n"); .stdout_is("a2345/\tb/\n");
} }
#[cfg(all(unix, feature = "dd"))]
#[test]
fn test_posixly_correct() {
let scene = TestScenario::new(util_name!());
scene
.ccmd("dd")
.arg("if=/dev/zero")
.arg("of=file")
.arg("bs=1024")
.arg("count=1")
.succeeds();
scene
.ucmd()
.arg("-s")
.succeeds()
.stdout_contains_line("total 4");
scene
.ucmd()
.arg("-s")
.env("POSIXLY_CORRECT", "some_value")
.succeeds()
.stdout_contains_line("total 8");
}