| Index: testing_support/fake_repos.py
|
| diff --git a/testing_support/fake_repos.py b/testing_support/fake_repos.py
|
| index 8a5cf6be0736289896f79efe8c81f8d56ac636c1..25e3a9be1c1be6b4ec8415a23f56214e15e979d5 100755
|
| --- a/testing_support/fake_repos.py
|
| +++ b/testing_support/fake_repos.py
|
| @@ -752,6 +752,82 @@ class FakeRepoTransitive(FakeReposBase):
|
| pass
|
|
|
|
|
| +class FakeRepoSkiaDEPS(FakeReposBase):
|
| + """Simulates the Skia DEPS transition in Chrome."""
|
| +
|
| + NB_GIT_REPOS = 5
|
| +
|
| + DEPS_svn_pre = """deps = {
|
| + 'src/third_party/skia/gyp': '%(svn_base)sskia/gyp',
|
| + 'src/third_party/skia/include': '%(svn_base)sskia/include',
|
| + 'src/third_party/skia/src': '%(svn_base)sskia/src',
|
| +}"""
|
| +
|
| + DEPS_git_pre = """deps = {
|
| + 'src/third_party/skia/gyp': '%(git_base)srepo_3',
|
| + 'src/third_party/skia/include': '%(git_base)srepo_4',
|
| + 'src/third_party/skia/src': '%(git_base)srepo_5',
|
| +}"""
|
| +
|
| + DEPS_post = """deps = {
|
| + 'src/third_party/skia': '%(git_base)srepo_1',
|
| +}"""
|
| +
|
| + def populateSvn(self):
|
| + """Create revisions which simulate the Skia DEPS transition in Chrome."""
|
| + subprocess2.check_call(
|
| + ['svn', 'checkout', self.svn_base, self.svn_checkout,
|
| + '-q', '--non-interactive', '--no-auth-cache',
|
| + '--username', self.USERS[0][0], '--password', self.USERS[0][1]])
|
| + assert os.path.isdir(join(self.svn_checkout, '.svn'))
|
| +
|
| + # Skia repo.
|
| + self._commit_svn({
|
| + 'skia/skia_base_file': 'root-level file.',
|
| + 'skia/gyp/gyp_file': 'file in the gyp directory',
|
| + 'skia/include/include_file': 'file in the include directory',
|
| + 'skia/src/src_file': 'file in the src directory',
|
| + })
|
| +
|
| + # Chrome repo.
|
| + self._commit_svn({
|
| + 'trunk/src/DEPS': self.DEPS_svn_pre % {'svn_base': self.svn_base},
|
| + 'trunk/src/myfile': 'svn/trunk/src@1'
|
| + })
|
| + self._commit_svn({
|
| + 'trunk/src/DEPS': self.DEPS_post % {'git_base': self.git_base},
|
| + 'trunk/src/myfile': 'svn/trunk/src@2'
|
| + })
|
| +
|
| + def populateGit(self):
|
| + # Skia repo.
|
| + self._commit_git('repo_1', {
|
| + 'skia_base_file': 'root-level file.',
|
| + 'gyp/gyp_file': 'file in the gyp directory',
|
| + 'include/include_file': 'file in the include directory',
|
| + 'src/src_file': 'file in the src directory',
|
| + })
|
| + self._commit_git('repo_3', { # skia/gyp
|
| + 'gyp_file': 'file in the gyp directory',
|
| + })
|
| + self._commit_git('repo_4', { # skia/include
|
| + 'include_file': 'file in the include directory',
|
| + })
|
| + self._commit_git('repo_5', { # skia/src
|
| + 'src_file': 'file in the src directory',
|
| + })
|
| +
|
| + # Chrome repo.
|
| + self._commit_git('repo_2', {
|
| + 'DEPS': self.DEPS_git_pre % {'git_base': self.git_base},
|
| + 'myfile': 'svn/trunk/src@1'
|
| + })
|
| + self._commit_git('repo_2', {
|
| + 'DEPS': self.DEPS_post % {'git_base': self.git_base},
|
| + 'myfile': 'svn/trunk/src@2'
|
| + })
|
| +
|
| +
|
| class FakeReposTestBase(trial_dir.TestCase):
|
| """This is vaguely inspired by twisted."""
|
| # Static FakeRepos instances. Lazy loaded.
|
|
|