OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env 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 """Main entry point for the NaCl SDK buildbot. | 6 """Main entry point for the NaCl SDK buildbot. |
7 | 7 |
8 The entry point used to be build_sdk.py itself, but we want | 8 The entry point used to be build_sdk.py itself, but we want |
9 to be able to simplify build_sdk (for example separating out | 9 to be able to simplify build_sdk (for example separating out |
10 the test code into test_sdk) and change its default behaviour | 10 the test code into test_sdk) and change its default behaviour |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
56 subst_drive = 'S:' | 56 subst_drive = 'S:' |
57 root_dir = os.path.dirname(SRC_DIR) | 57 root_dir = os.path.dirname(SRC_DIR) |
58 new_root_dir = subst_drive + '\\' | 58 new_root_dir = subst_drive + '\\' |
59 subprocess.check_call(['subst', subst_drive, root_dir]) | 59 subprocess.check_call(['subst', subst_drive, root_dir]) |
60 new_script_dir = os.path.join(new_root_dir, | 60 new_script_dir = os.path.join(new_root_dir, |
61 os.path.relpath(SCRIPT_DIR, root_dir)) | 61 os.path.relpath(SCRIPT_DIR, root_dir)) |
62 else: | 62 else: |
63 new_script_dir = SCRIPT_DIR | 63 new_script_dir = SCRIPT_DIR |
64 | 64 |
65 args = [sys.executable, 'build_sdk.py'] | 65 args = [sys.executable, 'build_sdk.py'] |
66 if 'bionic' in os.getenv('BUILDBOT_BUILDERNAME', ''): | |
67 args.append('--bionic') | |
68 | 66 |
69 try: | 67 try: |
70 Run(args, cwd=new_script_dir) | 68 Run(args, cwd=new_script_dir) |
71 finally: | 69 finally: |
72 if is_win: | 70 if is_win: |
73 subprocess.check_call(['subst', '/D', subst_drive]) | 71 subprocess.check_call(['subst', '/D', subst_drive]) |
74 | 72 |
75 | 73 |
76 def StepTestSDK(): | 74 def StepTestSDK(): |
77 cmd = [] | 75 cmd = [] |
78 if getos.GetPlatform() == 'linux': | 76 if getos.GetPlatform() == 'linux': |
79 # Run all of test_sdk.py under xvfb-run; it's startup time leaves something | 77 # Run all of test_sdk.py under xvfb-run; it's startup time leaves something |
80 # to be desired, so only start it up once. | 78 # to be desired, so only start it up once. |
81 # We also need to make sure that there are at least 24 bits per pixel. | 79 # We also need to make sure that there are at least 24 bits per pixel. |
82 # https://code.google.com/p/chromium/issues/detail?id=316687 | 80 # https://code.google.com/p/chromium/issues/detail?id=316687 |
83 cmd.extend([ | 81 cmd.extend([ |
84 'xvfb-run', | 82 'xvfb-run', |
85 '--auto-servernum', | 83 '--auto-servernum', |
86 '--server-args', '-screen 0 1024x768x24' | 84 '--server-args', '-screen 0 1024x768x24' |
87 ]) | 85 ]) |
88 | 86 |
89 cmd.extend([sys.executable, 'test_sdk.py']) | 87 cmd.extend([sys.executable, 'test_sdk.py']) |
90 | |
91 # TODO(noelallen): crbug 386332 | |
92 # For Bionic SDK, only build do a build test until we have hardware. | |
93 if 'bionic' in os.getenv('BUILDBOT_BUILDERNAME', ''): | |
94 cmd.extend(['build_examples', 'copy_tests', 'build_tests']) | |
95 Run(cmd, cwd=SCRIPT_DIR) | 88 Run(cmd, cwd=SCRIPT_DIR) |
96 | 89 |
97 | 90 |
98 def main(args): | 91 def main(args): |
99 # Don't write out .pyc files in the source tree. Without this, incremental | 92 # Don't write out .pyc files in the source tree. Without this, incremental |
100 # builds can fail when .py files are moved/deleted, since python could load | 93 # builds can fail when .py files are moved/deleted, since python could load |
101 # orphaned .pyc files generated by a previous run. | 94 # orphaned .pyc files generated by a previous run. |
102 os.environ['PYTHONDONTWRITEBYTECODE'] = '1' | 95 os.environ['PYTHONDONTWRITEBYTECODE'] = '1' |
103 | 96 |
104 parser = argparse.ArgumentParser(description=__doc__) | 97 parser = argparse.ArgumentParser(description=__doc__) |
(...skipping 20 matching lines...) Expand all Loading... |
125 StepTestSDK() | 118 StepTestSDK() |
126 | 119 |
127 return 0 | 120 return 0 |
128 | 121 |
129 | 122 |
130 if __name__ == '__main__': | 123 if __name__ == '__main__': |
131 try: | 124 try: |
132 sys.exit(main(sys.argv[1:])) | 125 sys.exit(main(sys.argv[1:])) |
133 except KeyboardInterrupt: | 126 except KeyboardInterrupt: |
134 buildbot_common.ErrorExit('buildbot_run: interrupted') | 127 buildbot_common.ErrorExit('buildbot_run: interrupted') |
OLD | NEW |