diff --git a/src/darwintracelib1.0/tests/proc.test b/src/darwintracelib1.0/tests/proc.test index fea007486a..d385c0389c 100644 --- a/src/darwintracelib1.0/tests/proc.test +++ b/src/darwintracelib1.0/tests/proc.test @@ -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] \ @@ -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 /]] @@ -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} \