Bug 1603250: Do not set ah_crap_handler signal handler in debug x86 Android builds; r=snorp

Differential Revision: https://phabricator.services.mozilla.com/D56852

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Aaron Klotz 2019-12-12 15:29:55 +00:00
Родитель e7802d1d01
Коммит 71bbad49fa
4 изменённых файлов: 1 добавлений и 23 удалений

Просмотреть файл

@ -88,10 +88,6 @@ class ContentDelegateTest : BaseSessionTest() {
@Test fun crashContent() {
// This test doesn't make sense without multiprocess
assumeThat(sessionRule.env.isMultiprocess, equalTo(true))
// Cannot test x86 debug builds due to Gecko's "ah_crap_handler"
// that waits for debugger to attach during a SIGSEGV.
assumeThat(sessionRule.env.isDebugBuild && sessionRule.env.isX86,
equalTo(false))
mainSession.loadUri(CONTENT_CRASH_URL)
mainSession.waitUntilCalled(object : Callbacks.ContentDelegate {
@ -118,10 +114,6 @@ class ContentDelegateTest : BaseSessionTest() {
@Test fun crashContent_tapAfterCrash() {
// This test doesn't make sense without multiprocess
assumeThat(sessionRule.env.isMultiprocess, equalTo(true))
// Cannot test x86 debug builds due to Gecko's "ah_crap_handler"
// that waits for debugger to attach during a SIGSEGV.
assumeThat(sessionRule.env.isDebugBuild && sessionRule.env.isX86,
equalTo(false))
mainSession.delegateUntilTestEnd(object : Callbacks.ContentDelegate {
override fun onCrash(session: GeckoSession) {
@ -143,10 +135,6 @@ class ContentDelegateTest : BaseSessionTest() {
@Test fun crashContentMultipleSessions() {
// This test doesn't make sense without multiprocess
assumeThat(sessionRule.env.isMultiprocess, equalTo(true))
// Cannot test x86 debug builds due to Gecko's "ah_crap_handler"
// that waits for debugger to attach during a SIGSEGV.
assumeThat(sessionRule.env.isDebugBuild && sessionRule.env.isX86,
equalTo(false))
// XXX we need to make sure all sessions in a given content process receive onCrash().
// If we add multiple content processes, this test will need to be fixed to ensure the

Просмотреть файл

@ -1638,10 +1638,6 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
@IgnoreCrash
@Test fun contentCrashIgnored() {
assumeThat(sessionRule.env.isMultiprocess, equalTo(true))
// Cannot test x86 debug builds due to Gecko's "ah_crap_handler"
// that waits for debugger to attach during a SIGSEGV.
assumeThat(sessionRule.env.isDebugBuild && sessionRule.env.isX86,
equalTo(false))
mainSession.loadUri(CONTENT_CRASH_URL)
mainSession.waitUntilCalled(object : Callbacks.ContentDelegate {
@ -1654,10 +1650,6 @@ class GeckoSessionTestRuleTest : BaseSessionTest(noErrorCollector = true) {
fun contentCrashFails() {
assumeThat(sessionRule.env.isMultiprocess, equalTo(true))
assumeThat(sessionRule.env.shouldShutdownOnCrash(), equalTo(false))
// Cannot test x86 debug builds due to Gecko's "ah_crap_handler"
// that waits for debugger to attach during a SIGSEGV.
assumeThat(sessionRule.env.isDebugBuild && sessionRule.env.isX86,
equalTo(false))
sessionRule.session.loadUri(CONTENT_CRASH_URL)
sessionRule.waitForPageStop()

Просмотреть файл

@ -55,8 +55,6 @@ class CrashTest {
@Test
fun crashParent() {
Assume.assumeFalse(env.isX86) // Too flaky on x86
messenger.send(Message.obtain(null, RemoteGeckoService.CMD_CRASH_PARENT_NATIVE))
assertCrashIntent(CrashTestHandler.queue.take(), true)
}

Просмотреть файл

@ -40,7 +40,7 @@
// Note: some tests manipulate this value.
unsigned int _gdb_sleep_duration = 300;
# if defined(LINUX) && defined(DEBUG) && \
# if defined(LINUX) && !defined(ANDROID) && defined(DEBUG) && \
(defined(__i386) || defined(__x86_64) || defined(PPC))
# define CRAWL_STACK_ON_SIGSEGV
# endif