- Linux (but not Android) provides __fpurge() instead of fpurge().
- In multiprocess_exec_test_child, use getrlimit(RLIMIT_NOFILE) instead
of max(sysconf(_SC_OPEN_MAX), OPEN_MAX, getdtablesize()). OPEN_MAX is
not availble on Linux (but is in Android as a bogus value), and
getdtablesize() is not available in Android since 5.0.0 (API 21).
sysconf(_SC_OPEN_MAX) and getdtablesize() both return
getrlimit(RLIMIT_NOFILE) on all relevant platforms.
- Add a Linux/Android implementation of test::Paths::Executable().
- Respect TMPDIR for all POSIX platforms in
ScopedTempDir::CreateTemporaryDirectory(). If TMPDIR is unset or
empty, use /tmp, except on Android, where /tmp does not exist and
/data/local/tmp is used instead.
Also:
- Fix the Mac and Windows implementations of test::Paths::Executable()
to abort on fatal error, in line with the new Linux/Android version.
BUG=crashpad:30
TEST=crashpad_test_test
Change-Id: I98a50d8579b193c813ba79794be087649e94cc06
Reviewed-on: https://chromium-review.googlesource.com/405507
Reviewed-by: Robert Sesek <rsesek@chromium.org>
After 9e79ea1da719, it no longer makes sense for crashpad_util_test_lib
to “hide” in util/util_test.gyp. All of util/test is moved to its own
top-level directory, test, which all other test code is allowed to
depend on. test, too, is allowed to depend on all other non-test code.
In a future change, when crashpad_util_test_lib gains a dependency on
crashpad_client, it won’t look so weird for something in util (even
though it’s in util/test) to depend on something in client, because the
thing that needs to depend on client will live in test, not util.
BUG=crashpad:33
R=scottmg@chromium.org
Review URL: https://codereview.chromium.org/1051533002