| Index: tests/git_cache_test.py
|
| diff --git a/tests/git_cache_test.py b/tests/git_cache_test.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..55ea1269de0230f059545744116346414dad2c61
|
| --- /dev/null
|
| +++ b/tests/git_cache_test.py
|
| @@ -0,0 +1,57 @@
|
| +#!/usr/bin/env python
|
| +# Copyright 2015 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.
|
| +
|
| +"""Unit tests for git_cache.py"""
|
| +
|
| +import os
|
| +import shutil
|
| +import sys
|
| +import tempfile
|
| +import unittest
|
| +
|
| +DEPOT_TOOLS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
| +sys.path.insert(0, DEPOT_TOOLS_ROOT)
|
| +
|
| +from testing_support import coverage_utils
|
| +import git_cache
|
| +
|
| +class GitCacheTest(unittest.TestCase):
|
| + @classmethod
|
| + def setUpClass(cls):
|
| + cls.cache_dir = tempfile.mkdtemp(prefix='git_cache_test_')
|
| + git_cache.Mirror.SetCachePath(cls.cache_dir)
|
| +
|
| + @classmethod
|
| + def tearDownClass(cls):
|
| + shutil.rmtree(cls.cache_dir, ignore_errors=True)
|
| +
|
| + def testParseFetchSpec(self):
|
| + testData = [
|
| + ([], []),
|
| + (['master'], [('+refs/heads/master:refs/heads/master',
|
| + r'\+refs/heads/master:.*')]),
|
| + (['master/'], [('+refs/heads/master:refs/heads/master',
|
| + r'\+refs/heads/master:.*')]),
|
| + (['+master'], [('+refs/heads/master:refs/heads/master',
|
| + r'\+refs/heads/master:.*')]),
|
| + (['refs/heads/*'], [('+refs/heads/*:refs/heads/*',
|
| + r'\+refs/heads/\*:.*')]),
|
| + (['foo/bar/*', 'baz'], [('+refs/heads/foo/bar/*:refs/heads/foo/bar/*',
|
| + r'\+refs/heads/foo/bar/\*:.*'),
|
| + ('+refs/heads/baz:refs/heads/baz',
|
| + r'\+refs/heads/baz:.*')]),
|
| + (['refs/foo/*:refs/bar/*'], [('+refs/foo/*:refs/bar/*',
|
| + r'\+refs/foo/\*:.*')])
|
| + ]
|
| +
|
| + mirror = git_cache.Mirror('test://phony.example.biz')
|
| + for fetch_specs, expected in testData:
|
| + mirror = git_cache.Mirror('test://phony.example.biz', refs=fetch_specs)
|
| + self.assertItemsEqual(mirror.fetch_specs, expected)
|
| +
|
| +if __name__ == '__main__':
|
| + sys.exit(coverage_utils.covered_main((
|
| + os.path.join(DEPOT_TOOLS_ROOT, 'git_cache.py')
|
| + ), required_percentage=0))
|
|
|