Skip to content

Commit

Permalink
darwintrace: Disable broken tests on arm64
Browse files Browse the repository at this point in the history
Let's not break CI on arm64, even though this test failure points to an
actual problem.

See: https://trac.macports.org/ticket/66358#comment:39
  • Loading branch information
neverpanic committed Oct 1, 2023
1 parent 5fc98b8 commit 5c43ff0
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/darwintracelib1.0/tests/proc.test
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ package require Pextlib 1.0

source "testlib.tcl"

testConstraint notarm64 [expr {[exec -ignorestderr -- /usr/bin/arch] ne "arm64"}]

test execve_selfpreserving_env "Test that you cannot get out of the sandbox by unsetting environment variables" \
-setup [setup [list allow $cwd]] \
-cleanup [expect] \
Expand Down Expand Up @@ -204,7 +206,12 @@ test spawn_non_existing_inside_sandbox "Test that posix_spawn(2) on a non-existi
} \
-result [lrepeat 2 "posix_spawn: No such file or directory"]

# This test is currently broken on arm64, because Apple compiles its SIP-protected binaries with
# pointer authenticaation using the arm64e architecture, but marks it as a preview and only allows
# Apple-signed binaries, or arbitrary binaries on systems that are booted with
# boot-args=-arm64e_preview_abi (which cannot be enabled without disabling SIP).
test spawn_sip_binary "Test that posix_spawn(2) works on a SIP-protected binary (which will make a copy)" \
-constraints {notarm64} \
-setup {
file delete -force [file join $::env(DARWINTRACE_SIP_WORKAROUND_PATH) [getuid] usr/bin/env]
[setup [list allow /]]
Expand All @@ -223,7 +230,12 @@ test spawn_sip_binary "Test that posix_spawn(2) works on a SIP-protected binary
-match glob \
-result [list "DARWINTRACE_LOG=/tmp/macports-test-*" "DYLD_INSERT_LIBRARIES=$darwintrace_lib" 1]

# This test is currently broken on arm64, because Apple compiles its SIP-protected binaries with
# pointer authenticaation using the arm64e architecture, but marks it as a preview and only allows
# Apple-signed binaries, or arbitrary binaries on systems that are booted with
# boot-args=-arm64e_preview_abi (which cannot be enabled without disabling SIP).
test spawn_sip_script "Test that posix_spawn(2) works on a SIP-protected shell script (which will copy the interpreter)" \
-constraints {notarm64} \
-setup [setup [list allow /]] \
-cleanup [expect {}] \
-body {exec -ignorestderr -- ./posix_spawn /usr/bin/umask} \
Expand Down

0 comments on commit 5c43ff0

Please sign in to comment.