123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- # Copyright 2014 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- DEPS = [
- 'gitiles',
- 'recipe_engine/json',
- 'recipe_engine/step',
- 'recipe_engine/path',
- 'recipe_engine/properties',
- ]
- def RunSteps(api):
- url = 'https://chromium.googlesource.com/chromium/src'
- for ref in api.gitiles.refs(url):
- _, cursor = api.gitiles.log(url, ref)
- if cursor:
- api.gitiles.log(url, ref, limit=10, cursor=cursor)
- api.gitiles.commit_log(url, api.properties['commit_log_hash'])
- data = api.gitiles.download_file(url, 'OWNERS', attempts=5)
- assert data == 'foobar'
- data = api.gitiles.download_file(url, 'NONEXISTENT', attempts=1,
- accept_statuses=[404])
- api.gitiles.download_archive(url, api.path['start_dir'].join('archive'))
- try:
- api.gitiles.download_archive(url, api.path['start_dir'].join('archive2'))
- assert False # pragma: no cover
- except api.step.StepFailure as ex:
- assert '/root' in ex.gitiles_skipped_files
- def GenTests(api):
- yield (
- api.test('basic')
- + api.properties(
- commit_log_hash=api.gitiles.make_hash('commit'),
- )
- + api.step_data('refs', api.gitiles.make_refs_test_data(
- 'HEAD',
- 'refs/heads/A',
- 'refs/tags/B',
- ))
- + api.step_data(
- 'gitiles log: HEAD',
- api.gitiles.make_log_test_data('HEAD', cursor='deadbeaf'),
- )
- + api.step_data(
- 'gitiles log: HEAD from deadbeaf',
- api.gitiles.make_log_test_data('HEAD'),
- )
- + api.step_data(
- 'gitiles log: refs/heads/A',
- api.gitiles.make_log_test_data('A'),
- )
- + api.step_data(
- 'gitiles log: refs/tags/B',
- api.gitiles.make_log_test_data('B')
- )
- + api.step_data(
- 'commit log: %s' % (api.gitiles.make_hash('commit')),
- api.gitiles.make_commit_test_data('commit', 'C', new_files=[
- 'foo/bar',
- 'baz/qux',
- ])
- )
- + api.step_data(
- 'fetch master:OWNERS',
- api.gitiles.make_encoded_file('foobar')
- )
- + api.step_data(
- 'fetch master:NONEXISTENT',
- api.json.output({'value': None})
- )
- + api.step_data(
- ('download https://chromium.googlesource.com/chromium/src @ '
- 'refs/heads/master (2)'),
- api.json.output({
- 'extracted': {
- 'filecount': 10,
- 'bytes': 14925,
- },
- 'skipped': {
- 'filecount': 4,
- 'bytes': 7192345,
- 'names': ['/root', '../relative', 'sneaky/../../relative'],
- },
- })
- )
- )
|