summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Hofstetter <daniel.hofstetter@42dh.com>2023-12-01 16:27:05 +0100
committerDaniel Hofstetter <daniel.hofstetter@42dh.com>2023-12-03 16:01:19 +0100
commit51fc2d7564b29de22936e8ca4a73883aeca77662 (patch)
tree3e9a2f50cc13dd46808f295be9ac7b5ae490a554
parentc77d389f5b93399bdeb6007f24d745c94e64f454 (diff)
ls: ignore value of POSIXLY_CORRECT
-rw-r--r--src/uu/ls/src/ls.rs10
-rw-r--r--tests/by-util/test_ls.rs27
2 files changed, 30 insertions, 7 deletions
diff --git a/src/uu/ls/src/ls.rs b/src/uu/ls/src/ls.rs
index 3745cfc9d..f645e31d3 100644
--- a/src/uu/ls/src/ls.rs
+++ b/src/uu/ls/src/ls.rs
@@ -20,7 +20,7 @@ use std::os::windows::fs::MetadataExt;
use std::{
cmp::Reverse,
error::Error,
- ffi::{OsStr, OsString},
+ ffi::OsString,
fmt::{Display, Write as FmtWrite},
fs::{self, DirEntry, FileType, Metadata, ReadDir},
io::{stdout, BufWriter, ErrorKind, Stdout, Write},
@@ -792,12 +792,8 @@ impl Config {
None
}
}
- } else if let Some(pc) = env_var_posixly_correct {
- if pc.as_os_str() == OsStr::new("true") || pc == OsStr::new("1") {
- Some(POSIXLY_CORRECT_BLOCK_SIZE)
- } else {
- None
- }
+ } else if env_var_posixly_correct.is_some() {
+ Some(POSIXLY_CORRECT_BLOCK_SIZE)
} else {
None
};
diff --git a/tests/by-util/test_ls.rs b/tests/by-util/test_ls.rs
index 19a3f5578..fcd57170d 100644
--- a/tests/by-util/test_ls.rs
+++ b/tests/by-util/test_ls.rs
@@ -3828,3 +3828,30 @@ fn test_ls_cf_output_should_be_delimited_by_tab() {
.succeeds()
.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");
+}