| 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 """Smoke tests for gclient.py. | 6 """Smoke tests for gclient.py. |
| 7 | 7 |
| 8 Shell out 'gclient' and run basic conformance tests. | 8 Shell out 'gclient' and run basic conformance tests. |
| 9 | 9 |
| 10 This test assumes GClientSmokeBase.URL_BASE is valid. | 10 This test assumes GClientSmokeBase.URL_BASE is valid. |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 return 'svn://random.server/svn/' | 163 return 'svn://random.server/svn/' |
| 164 | 164 |
| 165 @property | 165 @property |
| 166 def git_base(self): | 166 def git_base(self): |
| 167 return 'git://random.server/git/' | 167 return 'git://random.server/git/' |
| 168 | 168 |
| 169 def testHelp(self): | 169 def testHelp(self): |
| 170 """testHelp: make sure no new command was added.""" | 170 """testHelp: make sure no new command was added.""" |
| 171 result = self.gclient(['help']) | 171 result = self.gclient(['help']) |
| 172 # Roughly, not too short, not too long. | 172 # Roughly, not too short, not too long. |
| 173 self.assertTrue(1000 < len(result[0]) and len(result[0]) < 2100, | 173 self.assertTrue(1000 < len(result[0]) and len(result[0]) < 2300, |
| 174 'Too much written to stdout: %d bytes' % len(result[0])) | 174 'Too much written to stdout: %d bytes' % len(result[0])) |
| 175 self.assertEquals(0, len(result[1])) | 175 self.assertEquals(0, len(result[1])) |
| 176 self.assertEquals(0, result[2]) | 176 self.assertEquals(0, result[2]) |
| 177 | 177 |
| 178 def testUnknown(self): | 178 def testUnknown(self): |
| 179 result = self.gclient(['foo']) | 179 result = self.gclient(['foo']) |
| 180 # Roughly, not too short, not too long. | 180 # Roughly, not too short, not too long. |
| 181 self.assertTrue(1000 < len(result[0]) and len(result[0]) < 2100, | 181 self.assertTrue(1000 < len(result[0]) and len(result[0]) < 2300, |
| 182 'Too much written to stdout: %d bytes' % len(result[0])) | 182 'Too much written to stdout: %d bytes' % len(result[0])) |
| 183 self.assertEquals(0, len(result[1])) | 183 self.assertEquals(0, len(result[1])) |
| 184 self.assertEquals(0, result[2]) | 184 self.assertEquals(0, result[2]) |
| 185 | 185 |
| 186 def testNotConfigured(self): | 186 def testNotConfigured(self): |
| 187 res = ('', 'Error: client not configured; see \'gclient config\'\n', 1) | 187 res = ('', 'Error: client not configured; see \'gclient config\'\n', 1) |
| 188 self.check(res, self.gclient(['cleanup'])) | 188 self.check(res, self.gclient(['cleanup'])) |
| 189 self.check(res, self.gclient(['diff'])) | 189 self.check(res, self.gclient(['diff'])) |
| 190 self.check(res, self.gclient(['pack'])) | 190 self.check(res, self.gclient(['pack'])) |
| 191 self.check(res, self.gclient(['revert'])) | 191 self.check(res, self.gclient(['revert'])) |
| (...skipping 15 matching lines...) Expand all Loading... |
| 207 test(['config', self.svn_base + 'trunk/src/'], | 207 test(['config', self.svn_base + 'trunk/src/'], |
| 208 ('solutions = [\n' | 208 ('solutions = [\n' |
| 209 ' { "name" : "src",\n' | 209 ' { "name" : "src",\n' |
| 210 ' "url" : "%strunk/src",\n' | 210 ' "url" : "%strunk/src",\n' |
| 211 ' "deps_file" : "DEPS",\n' | 211 ' "deps_file" : "DEPS",\n' |
| 212 ' "managed" : True,\n' | 212 ' "managed" : True,\n' |
| 213 ' "custom_deps" : {\n' | 213 ' "custom_deps" : {\n' |
| 214 ' },\n' | 214 ' },\n' |
| 215 ' "safesync_url": "",\n' | 215 ' "safesync_url": "",\n' |
| 216 ' },\n' | 216 ' },\n' |
| 217 ']\n') % self.svn_base) | 217 ']\n' |
| 218 'cache_dir = None\n') % self.svn_base) |
| 218 | 219 |
| 219 test(['config', self.git_base + 'repo_1', '--name', 'src'], | 220 test(['config', self.git_base + 'repo_1', '--name', 'src'], |
| 220 ('solutions = [\n' | 221 ('solutions = [\n' |
| 221 ' { "name" : "src",\n' | 222 ' { "name" : "src",\n' |
| 222 ' "url" : "%srepo_1",\n' | 223 ' "url" : "%srepo_1",\n' |
| 223 ' "deps_file" : "DEPS",\n' | 224 ' "deps_file" : "DEPS",\n' |
| 224 ' "managed" : True,\n' | 225 ' "managed" : True,\n' |
| 225 ' "custom_deps" : {\n' | 226 ' "custom_deps" : {\n' |
| 226 ' },\n' | 227 ' },\n' |
| 227 ' "safesync_url": "",\n' | 228 ' "safesync_url": "",\n' |
| 228 ' },\n' | 229 ' },\n' |
| 229 ']\n') % self.git_base) | 230 ']\n' |
| 231 'cache_dir = None\n') % self.git_base) |
| 230 | 232 |
| 231 test(['config', 'foo', 'faa'], | 233 test(['config', 'foo', 'faa'], |
| 232 'solutions = [\n' | 234 'solutions = [\n' |
| 233 ' { "name" : "foo",\n' | 235 ' { "name" : "foo",\n' |
| 234 ' "url" : "foo",\n' | 236 ' "url" : "foo",\n' |
| 235 ' "deps_file" : "DEPS",\n' | 237 ' "deps_file" : "DEPS",\n' |
| 236 ' "managed" : True,\n' | 238 ' "managed" : True,\n' |
| 237 ' "custom_deps" : {\n' | 239 ' "custom_deps" : {\n' |
| 238 ' },\n' | 240 ' },\n' |
| 239 ' "safesync_url": "faa",\n' | 241 ' "safesync_url": "faa",\n' |
| 240 ' },\n' | 242 ' },\n' |
| 241 ']\n') | 243 ']\n' |
| 244 'cache_dir = None\n') |
| 242 | 245 |
| 243 test(['config', 'foo', '--deps', 'blah'], | 246 test(['config', 'foo', '--deps', 'blah'], |
| 244 'solutions = [\n' | 247 'solutions = [\n' |
| 245 ' { "name" : "foo",\n' | 248 ' { "name" : "foo",\n' |
| 246 ' "url" : "foo",\n' | 249 ' "url" : "foo",\n' |
| 247 ' "deps_file" : "blah",\n' | 250 ' "deps_file" : "blah",\n' |
| 248 ' "managed" : True,\n' | 251 ' "managed" : True,\n' |
| 249 ' "custom_deps" : {\n' | 252 ' "custom_deps" : {\n' |
| 250 ' },\n' | 253 ' },\n' |
| 251 ' "safesync_url": "",\n' | 254 ' "safesync_url": "",\n' |
| 252 ' },\n' | 255 ' },\n' |
| 253 ']\n') | 256 ']\n' |
| 257 'cache_dir = None\n') |
| 254 | 258 |
| 255 test(['config', '--spec', '["blah blah"]'], '["blah blah"]') | 259 test(['config', '--spec', '["blah blah"]'], '["blah blah"]') |
| 256 | 260 |
| 257 os.remove(p) | 261 os.remove(p) |
| 258 results = self.gclient(['config', 'foo', 'faa', 'fuu']) | 262 results = self.gclient(['config', 'foo', 'faa', 'fuu']) |
| 259 err = ('Usage: gclient.py config [options] [url] [safesync url]\n\n' | 263 err = ('Usage: gclient.py config [options] [url] [safesync url]\n\n' |
| 260 'gclient.py: error: Inconsistent arguments. Use either --spec or one' | 264 'gclient.py: error: Inconsistent arguments. Use either --spec or one' |
| 261 ' or 2 args\n') | 265 ' or 2 args\n') |
| 262 self.check(('', err, 2), results) | 266 self.check(('', err, 2), results) |
| 263 self.assertFalse(os.path.exists(join(self.root_dir, '.gclient'))) | 267 self.assertFalse(os.path.exists(join(self.root_dir, '.gclient'))) |
| (...skipping 1057 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1321 | 1325 |
| 1322 if '-c' in sys.argv: | 1326 if '-c' in sys.argv: |
| 1323 COVERAGE = True | 1327 COVERAGE = True |
| 1324 sys.argv.remove('-c') | 1328 sys.argv.remove('-c') |
| 1325 if os.path.exists('.coverage'): | 1329 if os.path.exists('.coverage'): |
| 1326 os.remove('.coverage') | 1330 os.remove('.coverage') |
| 1327 os.environ['COVERAGE_FILE'] = os.path.join( | 1331 os.environ['COVERAGE_FILE'] = os.path.join( |
| 1328 os.path.dirname(os.path.dirname(os.path.abspath(__file__))), | 1332 os.path.dirname(os.path.dirname(os.path.abspath(__file__))), |
| 1329 '.coverage') | 1333 '.coverage') |
| 1330 unittest.main() | 1334 unittest.main() |
| OLD | NEW |