OLD | NEW |
1 # -*- python -*- | 1 # -*- python -*- |
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 Import('env') | 6 Import('env') |
7 | 7 |
8 if env.Bit('host_windows') or env.Bit('host_mac'): | 8 if env.Bit('host_windows') or env.Bit('host_mac'): |
9 expected_crash_dumps = 1 | 9 expected_crash_dumps = 1 |
10 else: | 10 else: |
11 # We are also checking that crash dumping does not work | 11 # We are also checking that crash dumping does not work |
12 # unexpectedly, since that might indicate that Breakpad was enabled | 12 # unexpectedly, since that might indicate that Breakpad was enabled |
13 # without checking that it works securely. | 13 # without checking that it works securely. |
14 expected_crash_dumps = 0 | 14 expected_crash_dumps = 0 |
15 | 15 |
16 platform_args = [] | 16 platform_args = [] |
17 if env.Bit('host_windows') and env.Bit('build_x86_64'): | 17 if env.Bit('host_windows') and env.Bit('build_x86_64'): |
18 platform_args.append('--win64') | 18 platform_args.append('--win64') |
19 | 19 |
20 def GetNexeByName(name): | 20 def GetNexeByName(name): |
21 return env.File('${STAGING_DIR}/%s${PROGSUFFIX}' % | 21 return env.File('${STAGING_DIR}/%s${PROGSUFFIX}' % |
22 env.ProgramNameForNmf(name)) | 22 env.ProgramNameForNmf(name)) |
23 | 23 |
| 24 |
| 25 # This tests that crashes in Chromium's browser process successfully |
| 26 # produce crash dumps via Breakpad. |
| 27 # TODO(mseaborn): Enable this for Linux, too, when Breakpad is |
| 28 # compiled into Chromium by default. |
| 29 # See http://code.google.com/p/chromium/issues/detail?id=105778 |
| 30 if env.Bit('host_windows') or env.Bit('host_mac'): |
| 31 node = env.PPAPIBrowserTester( |
| 32 'breakpad_browser_process_crash_test.out', |
| 33 python_tester_script=env.File('crash_dump_tester.py'), |
| 34 browser_flags=['--crash-test'], # Tell the browser process to crash. |
| 35 url='browser_process_crash.html', |
| 36 nmf_names=[], |
| 37 files=[env.File('browser_process_crash.html')], |
| 38 args=platform_args + ['--expect_browser_process_crash', |
| 39 '--expected_crash_dumps=1', |
| 40 '--expected_process_type=browser']) |
| 41 env.AddNodeToTestSuite( |
| 42 node, ['chrome_browser_tests'], 'run_breakpad_browser_process_crash_test', |
| 43 is_broken=env.PPAPIBrowserTesterIsBroken() or |
| 44 env.Bit('running_on_valgrind')) |
| 45 |
24 # This crash in trusted code should produce a crash dump. | 46 # This crash in trusted code should produce a crash dump. |
25 crash_test_url = 'trusted_crash_in_startup.html' | 47 crash_test_url = 'trusted_crash_in_startup.html' |
26 if env.Bit('pnacl_generate_pexe'): | 48 if env.Bit('pnacl_generate_pexe'): |
27 crash_test_url += '?is_pnacl=true' | 49 crash_test_url += '?is_pnacl=true' |
28 node = env.PPAPIBrowserTester( | 50 node = env.PPAPIBrowserTester( |
29 'breakpad_trusted_crash_in_startup_test.out', | 51 'breakpad_trusted_crash_in_startup_test.out', |
30 python_tester_script=env.File('crash_dump_tester.py'), | 52 python_tester_script=env.File('crash_dump_tester.py'), |
31 url=crash_test_url, | 53 url=crash_test_url, |
32 nmf_names=['crash_test'], | 54 nmf_names=['crash_test'], |
33 files=[GetNexeByName('crash_test'), | 55 files=[GetNexeByName('crash_test'), |
(...skipping 30 matching lines...) Expand all Loading... |
64 python_tester_script=env.File('crash_dump_tester.py'), | 86 python_tester_script=env.File('crash_dump_tester.py'), |
65 url='untrusted_crash.html', | 87 url='untrusted_crash.html', |
66 nmf_names=['crash_test'], | 88 nmf_names=['crash_test'], |
67 files=[GetNexeByName('crash_test'), | 89 files=[GetNexeByName('crash_test'), |
68 env.File('untrusted_crash.html')], | 90 env.File('untrusted_crash.html')], |
69 args=platform_args + ['--expected_crash_dumps=0']) | 91 args=platform_args + ['--expected_crash_dumps=0']) |
70 env.AddNodeToTestSuite( | 92 env.AddNodeToTestSuite( |
71 node, ['chrome_browser_tests'], 'run_breakpad_untrusted_crash_test', | 93 node, ['chrome_browser_tests'], 'run_breakpad_untrusted_crash_test', |
72 is_broken=env.PPAPIBrowserTesterIsBroken() or | 94 is_broken=env.PPAPIBrowserTesterIsBroken() or |
73 env.Bit('running_on_valgrind')) | 95 env.Bit('running_on_valgrind')) |
OLD | NEW |