aboutsummaryrefslogtreecommitdiffstats
path: root/ui/build/sandbox/darwin
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Revert "Revert "Revert "Add path interposer""""Dan Willemsen2018-05-311-0/+6
| | | | | | | | | | | | | | | | | | This reverts commit 09f4540d667a98e548bf5dfc94784382ebedc963. Fixes the raw call to net.Listen in the tests to go through the listen() helper and use the long socket path fallbacks. Removes the use of timeouts from the tests -- the behaviors being tested did not rely on timeouts, so removing them will reduce the flakiness if the build is heavily loading the machine at the same time the test is running. Also fixes some potential nil pointer dereferences. Test: OUT_DIR=<really long> m blueprint_tools Test: `while .../soong-ui-build-paths/test/test; do sleep 0.01; done` with a build running Change-Id: I16d44be7517bc415f1c808284088f4ba40df3bfa
* Revert "Revert "Revert "Add path interposer"""Dan Willemsen2018-05-251-6/+0
| | | | | | | | | | This reverts commit c59a92cb1a73468a0e2af7102632dda48d811f5b. Reason for revert: tests are broken with long OUT_DIRs They're directly calling net.Listen, and not using the fallback for long socket names. Change-Id: Id14cbd499fd9b36c6926b7552d3554340cb0916c
* Revert "Revert "Add path interposer""Dan Willemsen2018-05-251-0/+6
| | | | | | | | | | | | | | | | | | | This reverts commit 96c957ae20d8418f85cf10b4ee06ce9781d86c47. Fixes issues on some machines where the socket in TMPDIR ended up with a unix domain socket pathname over 107 characters long, which Go will reject due to underlying limitations in the system calls. If this happens, we'll fall back to opening the directory, then using /proc/self/fd/#/<file>, or manually creating a similar symlink in /tmp. Also fixes some issues on Mac where os.Executable returns the symlink instead of the underlying file, sending a message over a unix domain socket will block if the reader isn't reading, and sandboxing was preventing us from running `ps`. Test: m blueprint_tools Test: m blueprint_tools on mac Change-Id: Ib19ccfe10cb0a79f1476fb1d5cd20ed0495be367
* Add exec.Cmd wrapper for logging / sandboxingDan Willemsen2017-05-051-0/+40
Wrap os/exec.Cmd to use our Context and Config interfaces for automatic logging and error handling. It also simplifies environment modification based on the Config's environment. This also adds sandboxing on Macs using sandbox-exec. A simple profile is provided that only logs on violations, though multiproduct_kati on AOSP has no violations. This isn't applied to ninja, only make / soong / kati to start with. I measured <5% time increase in reading all makefiles, and no noticable difference when kati doesn't regenerate. I'd like to spin up a process to dump violation logs into our log file, but the log reporting changed over the range of Mac versions that we support, so that's going to be more complicated. Opening Console.app works in all cases if you're local -- just search/filter for sandbox. Linux sandboxing will be implemented later -- the sandbox definition is opaque enough to support a different implementation. Test: multiproduct_kati on AOSP master on Mac Change-Id: I7046229333d0dcc8f426a493e0f7380828879f17