Chromium Code Reviews| 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): |
|
iannucci
2015/09/22 22:56:57
yay! :D
|
| + @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)) |