mirror of
https://github.com/uutils/coreutils.git
synced 2026-06-10 15:48:22 -07:00
ci: ensure test failures are caught in coverage script and fix them (#10286)
This commit is contained in:
@@ -465,11 +465,16 @@ mod tests {
|
||||
.flat_map(Teletype::try_from)
|
||||
.collect::<HashSet<_>>();
|
||||
|
||||
assert_eq!(result.len(), 1);
|
||||
assert_eq!(
|
||||
pid_entry.tty(),
|
||||
Vec::from_iter(result.into_iter()).first().unwrap().clone()
|
||||
);
|
||||
// In CI environments or when running without a terminal, there may be no TTY
|
||||
if result.is_empty() {
|
||||
assert_eq!(pid_entry.tty(), Teletype::Unknown);
|
||||
} else {
|
||||
assert_eq!(result.len(), 1);
|
||||
assert_eq!(
|
||||
pid_entry.tty(),
|
||||
Vec::from_iter(result.into_iter()).first().unwrap().clone()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
@@ -67,13 +67,11 @@ pub fn getpid() -> pid_t {
|
||||
/// so some system such as redox doesn't supported.
|
||||
#[cfg(not(target_os = "redox"))]
|
||||
pub fn getsid(pid: i32) -> Result<pid_t, Errno> {
|
||||
unsafe {
|
||||
let result = libc::getsid(pid);
|
||||
if Errno::last() == Errno::UnknownErrno {
|
||||
Ok(result)
|
||||
} else {
|
||||
Err(Errno::last())
|
||||
}
|
||||
let result = unsafe { libc::getsid(pid) };
|
||||
if result == -1 {
|
||||
Err(Errno::last())
|
||||
} else {
|
||||
Ok(result)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1655,6 +1655,8 @@ fn test_reading_partial_blocks_from_fifo() {
|
||||
.stdout(Stdio::piped())
|
||||
.stderr(Stdio::piped())
|
||||
.env("LC_ALL", "C")
|
||||
.env("LANG", "C")
|
||||
.env("LANGUAGE", "C")
|
||||
.spawn()
|
||||
.unwrap();
|
||||
|
||||
@@ -1700,6 +1702,8 @@ fn test_reading_partial_blocks_from_fifo_unbuffered() {
|
||||
.stdout(Stdio::piped())
|
||||
.stderr(Stdio::piped())
|
||||
.env("LC_ALL", "C")
|
||||
.env("LANG", "C")
|
||||
.env("LANGUAGE", "C")
|
||||
.spawn()
|
||||
.unwrap();
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
set -e
|
||||
# Treat unset variables as errors
|
||||
set -u
|
||||
# Ensure pipeline failures are caught (not just the last command's exit code)
|
||||
set -o pipefail
|
||||
# Print expanded commands to stdout before running them
|
||||
set -x
|
||||
|
||||
@@ -39,7 +41,12 @@ REPO_main_dir="$(dirname -- "${ME_dir}")"
|
||||
FEATURES_OPTION=${FEATURES_OPTION:-"--features=feat_os_unix"}
|
||||
COVERAGE_DIR=${COVERAGE_DIR:-"${REPO_main_dir}/coverage"}
|
||||
|
||||
LLVM_PROFDATA="$(find "$(rustc --print sysroot)" -name llvm-profdata)"
|
||||
# Find llvm-profdata in the nightly toolchain (which is used for coverage builds)
|
||||
LLVM_PROFDATA="$(find "$(RUSTUP_TOOLCHAIN=nightly-gnu rustc --print sysroot)" -name llvm-profdata)"
|
||||
if [ -z "${LLVM_PROFDATA}" ]; then
|
||||
echo "Error: llvm-profdata not found. Install it with: rustup +nightly-gnu component add llvm-tools"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
PROFRAW_DIR="${COVERAGE_DIR}/traces"
|
||||
PROFDATA_DIR="${COVERAGE_DIR}/data"
|
||||
|
||||
Reference in New Issue
Block a user