Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(339)

Side by Side Diff: test/build.scons

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « statsreport/util-win32.h ('k') | test/omaha_system_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #!/usr/bin/python2.4
2 #
3 # Copyright 2009-2010 Google Inc.
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 # ========================================================================
17
18 Import('env')
19
20 import binascii
21 import md5
22 from enterprise.installer import build_enterprise_installer
23
24
25 def BuildMSI(version, namespace, exe_name, wxs_template, msi_base_name,
26 is_enterprise=False, prefix=''):
27 if is_enterprise:
28 msi_base_name = 'enterprise_' + msi_base_name
29 msi_base_name = prefix + msi_base_name
30
31 # Have to use 'copy' here because we are renaming the file, and it is being
32 # renamed to match the final msi name to avoid collisions in the wixobj files.
33 copy_target = env.Command(
34 target=msi_base_name + '.wxs',
35 source=wxs_template,
36 action='@copy /y $SOURCE $TARGET',
37 )
38
39 PRODUCT_GUID = build_enterprise_installer.GenerateNameBasedGUID(
40 namespace,
41 'Product ' + version
42 )
43 COMPONENT_GUID = build_enterprise_installer.GenerateNameBasedGUID(
44 namespace,
45 'Component ' + version
46 )
47 COMPONENT_GUID_REGISTRY = build_enterprise_installer.GenerateNameBasedGUID(
48 namespace,
49 'Component Registry ' + version
50 )
51 COMPONENT_GUID_NOTIFY_SUCCESS = (
52 build_enterprise_installer.GenerateNameBasedGUID(
53 namespace,
54 'Component Notify Success ' + version
55 ))
56 COMPONENT_GUID_REGISTER_LAUNCH = (
57 build_enterprise_installer.GenerateNameBasedGUID(
58 namespace,
59 'Component Register Launch Command ' + version
60 ))
61 COMPONENT_GUID_NOTIFY_FAILED = (
62 build_enterprise_installer.GenerateNameBasedGUID(
63 namespace,
64 'Component Notify Failed ' + version
65 ))
66 COMPONENT_GUID_PROPERTY_BAR = (
67 build_enterprise_installer.GenerateNameBasedGUID(
68 namespace,
69 'Component Property Bar ' + version
70 ))
71
72 wix_env = env.Clone()
73 wix_env.Append(
74 WIXLIGHTFLAGS = [
75 # Add a supress for:
76 # warning LGHT1076 : ICE91: The file will be installed to the per user
77 # directory that doesn't vary based on ALLUSERS value. This file won't
78 # be copied to each user's profile even if a per machine installation
79 # is desired.
80 # This warning is generated by light when we produce a user only
81 # installer, and can be ignored as this is a user only installer.
82 '-sw1076'
83 ],
84 WIXCANDLEFLAGS = [
85 '-dFooExePath=' + wix_env.File(exe_name).abspath,
86 '-dFooVersion=' + version,
87 '-dFooProductGuid=' + PRODUCT_GUID,
88 '-dFooComponentGuid=' + COMPONENT_GUID,
89 '-dFooComponentGuidRegistry=' + COMPONENT_GUID_REGISTRY,
90 '-dFooComponentGuidNotifySuccess=' + COMPONENT_GUID_NOTIFY_SUCCESS,
91 '-dFooComponentRegisterLaunchCommand=' +
92 COMPONENT_GUID_REGISTER_LAUNCH,
93 '-dFooComponentGuidNotifyFailed=' + COMPONENT_GUID_NOTIFY_FAILED,
94 '-dFooComponentGuidPropertyBar=' + COMPONENT_GUID_PROPERTY_BAR,
95 ],
96 )
97
98 wix_inputs = copy_target
99 # Force a rebuild when the exe file changes.
100 additional_dependencies = [exe_name]
101
102 if is_enterprise:
103 output_dir = '$TARGET_ROOT/Test_Installers'
104 wix_env['WIXCANDLEFLAGS'] += ['-dIsEnterprise=1']
105
106 # The metainstaller change does not get passed through even though the
107 # .wixobj file is rebuilt because the hash of the .wixobj does not change.
108 metainstaller_path = '$STAGING_DIR/%sGoogleUpdateSetup.exe' % (prefix)
109 google_update_wixobj = build_enterprise_installer.BuildGoogleUpdateFragment(
110 env,
111 metainstaller_path,
112 'Test Foo',
113 version,
114 '{D6B08267-B440-4c85-9F79-E195E80D9937}',
115 '&ap=enterprise',
116 msi_base_name,
117 ('$MAIN_DIR/enterprise/installer/'
118 'google_update_installer_fragment.wxs.xml')
119 )
120
121 wix_inputs += [google_update_wixobj]
122 additional_dependencies += [metainstaller_path]
123 else:
124 output_dir = '$TESTS_DIR'
125 wix_env['WIXCANDLEFLAGS'] += ['-dIsEnterprise=0']
126
127 unsigned_msi = wix_env.WiX('unsigned_%s.msi' % msi_base_name, wix_inputs)
128
129 wix_env.Depends(unsigned_msi, additional_dependencies)
130
131 signed_output = env.SignedBinary(
132 target=msi_base_name + '.msi',
133 source=unsigned_msi,
134 )
135
136 env.Replicate(output_dir, signed_output)
137
138 _GUID_NAMESPACE = binascii.a2b_hex('BE19B3E4502845af8B3E67A99FCDCFB1')
139 _USER_GUID_NAMESPACE = binascii.a2b_hex('2B599C061F7C4eed9D686616EEBDDFDB')
140
141 # test_foo.wxs.xml is so named because SCons tries to apply WiX building
142 # rules to any input file with the .wxs suffix even in a custom command.
143 _WXS_TEMPLATE_NAME = 'test_foo.wxs.xml'
144 _USER_WXS_TEMPLATE_NAME = 'user_app.wxs.xml'
145
146 for (major, minor, build, patch) in [(1,0,101,0), (1,0,102,0)]:
147 version = '%d.%d.%d.%d' % (major, minor, build, patch)
148 msi_base_name = 'test_foo_v' + version
149
150 ver_env = env.Clone()
151 ver_env.Append(
152 LIBS = [
153 ('libcmt.lib', 'libcmtd.lib')[env.Bit('debug')],
154 ('libcpmt.lib', 'libcpmtd.lib')[env.Bit('debug')],
155 'version.lib',
156 ],
157 RCFLAGS = [
158 '-DVERSION_STRING=%s' % version,
159 '-DMAJOR=%s' % major,
160 '-DMINOR=%s' % minor,
161 '-DBUILD=%s' % build,
162 '-DPATCH=%s' % patch
163 ],
164 )
165
166 ver_env['OBJPREFIX'] = '%s%s/' % (ver_env['OBJPREFIX'], version)
167
168 base_name = 'test_foo_v%s' % version.replace('.', '_')
169 signed_target_name = base_name + '.exe'
170 target_name = base_name + '_unsigned'
171
172 unsigned_exe = ver_env.ComponentTestProgram(
173 prog_name=target_name,
174 source=[
175 'test_foo.cc',
176 ver_env.RES('test_foo_v%s.res' % version, 'test_foo.rc'),
177 ],
178 COMPONENT_TEST_RUNNABLE=False
179 )
180
181 signed_output = ver_env.SignedBinary(
182 target=signed_target_name,
183 source=unsigned_exe,
184 )
185
186 ver_env.Replicate('$TESTS_DIR', signed_output)
187
188 signed_exe = signed_output[0]
189
190 BuildMSI(version, _GUID_NAMESPACE, signed_exe, _WXS_TEMPLATE_NAME,
191 msi_base_name)
192
193 # Build the enterprise installer for each version of Omaha.
194 for omaha_version_info in ver_env['omaha_versions_info']:
195 prefix = omaha_version_info.filename_prefix
196
197 BuildMSI(version, _GUID_NAMESPACE, signed_exe, _WXS_TEMPLATE_NAME,
198 msi_base_name, is_enterprise=True, prefix=prefix)
199
200 BuildMSI(version, _USER_GUID_NAMESPACE, signed_exe, _USER_WXS_TEMPLATE_NAME,
201 'user_app_v' + version)
202
203 bar_env = env.Clone()
204 bar_env.Append(
205 LIBS = [
206 ('libcmt.lib', 'libcmtd.lib')[env.Bit('debug')],
207 ('libcpmt.lib', 'libcpmtd.lib')[env.Bit('debug')],
208 ],
209 )
210 bar_env.ComponentTestProgram(prog_name='test_bar',
211 source='test_bar.cc',
212 COMPONENT_TEST_RUNNABLE=False)
213
214
215 """ This is commented out because it step_test is currently unused,
216 and may be removed. Remove this if/when step_test is removed.
217
218 omaha_system_env = env.Clone()
219 omaha_system_env.Append(
220 CPPDEFINES = [
221 'UNICODE',
222 '_UNICODE'
223 ],
224 LIBS = [
225 '$LIB_PATH/common.lib',
226 ('atls.lib', 'atlsd.lib')[env.Bit('debug')],
227 ('libcmt.lib', 'libcmtd.lib')[env.Bit('debug')],
228 ('libcpmt.lib', 'libcpmtd.lib')[env.Bit('debug')],
229 ],
230 )
231
232
233 omaha_system_env.FilterOut(LINKFLAGS = ['/SUBSYSTEM:WINDOWS'])
234 omaha_system_env['LINKFLAGS'] += ['/SUBSYSTEM:CONSOLE']
235
236 omaha_system_env.ComponentTestProgram([
237 'omaha_system_test.cc',
238 'step_test.cc',
239 ],
240 COMPONENT_TEST_RUNNABLE=False
241 )
242 """
243
OLDNEW
« no previous file with comments | « statsreport/util-win32.h ('k') | test/omaha_system_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698