1
Fork 0
mirror of https://github.com/RGBCube/uutils-coreutils synced 2025-07-27 11:07:44 +00:00

Merge pull request #7546 from drinkcat/fix-android-ci

Fix Android CI
This commit is contained in:
Sylvestre Ledru 2025-03-23 22:00:35 +01:00 committed by GitHub
commit c610262f0b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 25 additions and 7 deletions

View file

@ -98,7 +98,9 @@ fn test_fifo_symlink() {
}
#[test]
#[cfg(any(target_os = "linux", target_os = "android"))]
// TODO(#7542): Re-enable on Android once we figure out why setting limit is broken.
// #[cfg(any(target_os = "linux", target_os = "android"))]
#[cfg(target_os = "linux")]
fn test_closes_file_descriptors() {
// Each file creates a pipe, which has two file descriptors.
// If they are not closed then five is certainly too many.

View file

@ -81,11 +81,13 @@ fn test_env_version() {
}
#[test]
#[cfg(unix)]
fn test_env_permissions() {
// Try to execute `empty` in test fixture, that does not have exec permission.
new_ucmd!()
.arg(".")
.arg("./empty")
.fails_with_code(126)
.stderr_is("env: '.': Permission denied\n");
.stderr_is("env: './empty': Permission denied\n");
}
#[test]

View file

@ -1090,7 +1090,9 @@ fn test_merge_batch_size() {
}
#[test]
#[cfg(any(target_os = "linux", target_os = "android"))]
// TODO(#7542): Re-enable on Android once we figure out why setting limit is broken.
// #[cfg(any(target_os = "linux", target_os = "android"))]
#[cfg(target_os = "linux")]
fn test_merge_batch_size_with_limit() {
use rlimit::Resource;
// Currently need...

View file

@ -1627,7 +1627,9 @@ fn test_round_robin() {
}
#[test]
#[cfg(any(target_os = "linux", target_os = "android"))]
// TODO(#7542): Re-enable on Android once we figure out why rlimit is broken.
// #[cfg(any(target_os = "linux", target_os = "android"))]
#[cfg(target_os = "linux")]
fn test_round_robin_limited_file_descriptors() {
new_ucmd!()
.args(&["-n", "r/40", "onehundredlines.txt"])

View file

@ -1215,6 +1215,17 @@ impl TestScenario {
command
}
/// Returns builder for invoking a command in shell (e.g. sh -c 'cmd').
/// Paths given are treated relative to the environment's unique temporary
/// test directory.
pub fn cmd_shell<S: AsRef<OsStr>>(&self, cmd: S) -> UCommand {
let mut command = UCommand::new();
// Intentionally leave bin_path unset.
command.arg(cmd);
command.temp_dir(self.tmpd.clone());
command
}
/// Returns builder for invoking any uutils command. Paths given are treated
/// relative to the environment's unique temporary test directory.
pub fn ccmd<S: AsRef<str>>(&self, util_name: S) -> UCommand {
@ -4052,8 +4063,7 @@ mod tests {
};
let ts = TestScenario::new("util");
ts.cmd("sh")
.args(&["-c", "umask"])
ts.cmd_shell("umask")
.umask(c_umask)
.succeeds()
.stdout_is(expected);

0
tests/fixtures/env/empty vendored Normal file
View file