Skip to content

Fix Android CI #7546

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Mar 23, 2025
Merged

Fix Android CI #7546

merged 3 commits into from
Mar 23, 2025

Conversation

drinkcat
Copy link
Contributor

@drinkcat drinkcat commented Mar 23, 2025

Still no clue what changed, but I think this should fix some tests (last 2 commits are good fixes IMHO), and disable the others (still no idea what exactly is going on here...)


test_*: Disable tests that require setting rlimit on Android

See #7542, it's not totally clear where the problem comes from,
but blanking LD_PRELOAD set by termux seems to fix the problem
(but introduces other issues.

Let's just disable these tests for now.

test_env: Try to execute an empty file instead of .

For some unclear reason, Android now sometimes returns an
IsADirectory error, instead of PermissionDenied, when trying
to execute ..

Since this test really wants to test PermissionDenied, we try
to execute a file in the fixture instead, that doesn't have
exec permission.

Also, limit this test to Unix.

Fixes part of #7542.

tests/common/util: Make sure test_altering_umask is run in correct shell

On Android CI, sh would point at a different flavor of shell
shipped with termux (dash).

The current umask test expects that /system/bin/sh is used though,
so create a new function TestScenario:cmd_shell that runs a command
in the default shell (that could be used in more tests).

Fixes one part of #7542.

Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/timeout/timeout (fails in this run but passes in the 'main' branch)

On Android CI, `sh` would point at a different flavor of shell
shipped with termux (dash).

The current umask test expects that `/system/bin/sh` is used though,
so create a new function TestScenario:cmd_shell that runs a command
in the default shell (that could be used in more tests).

Fixes one part of uutils#7542.
For some unclear reason, Android _now_ sometimes returns an
IsADirectory error, instead of PermissionDenied, when trying
to execute `.`.

Since this test really wants to test PermissionDenied, we try
to execute a file in the fixture instead, that doesn't have
exec permission.

Also, limit this test to Unix.

Fixes part of uutils#7542.
See uutils#7542, it's not totally clear where the problem comes from,
but blanking LD_PRELOAD set by termux seems to fix the problem
(but introduces other issues.

Let's just disable these tests for now.
@drinkcat drinkcat marked this pull request as ready for review March 23, 2025 19:45
Copy link

GNU testsuite comparison:

Skip an intermittent issue tests/timeout/timeout (fails in this run but passes in the 'main' branch)

@sylvestre
Copy link
Contributor

kudos :)
is it ok to merge?

@drinkcat
Copy link
Contributor Author

Yeah, seems worth it to have a green CI... we can always modify again later.

@sylvestre sylvestre merged commit c610262 into uutils:main Mar 23, 2025
68 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants