Test pristine-tar related methods in
and
This testcase creates this reposity:
- A repository at dirs['repo'] called repo
Function | setup |
Undocumented |
Function | teardown |
Undocumented |
Function | test |
Empty repos have no branch pristine-tar branch |
Function | test |
Create a repository |
Function | test |
Create a tarball from a git tree and add a stub signature |
Function | test |
Empty repos have no branch pristine-tar branch |
Function | test |
Find delta on the pristine tar branch |
Function | test |
Checkout a tarball using pristine-tar |
Function | test |
Checkout a tarball that does not exist using pristine-tar |
Function | test |
Checkout a tarball using pristine-tar |
Function | test |
Commit the delta to the pristine-tar branch |
Function | test |
Commit the delta to the pristine-tar branch including a signature |
Function | test |
Verify a tarball using pristine-tar |
Variable | dirs |
Undocumented |
Variable | test |
Undocumented |
Empty repos have no branch pristine-tar branch
Methods tested:
>>> import gbp.deb.git >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> commit = repo.commit_dir(test_data, msg="initial commit", branch=None) >>> repo.create_branch('upstream')
Create a repository
Methods tested:
gbp.deb.git.DebianGitRepository.create
>>> import os, gbp.deb.git >>> repo = gbp.deb.git.DebianGitRepository.create(dirs['repo'])
Create a tarball from a git tree and add a stub signature
Methods tested:
gbp.deb.git.DebianGitRepository.archive
>>> import gbp.deb.git >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.archive('tar', 'upstream/', '../upstream_1.0.orig.tar', 'upstream') >>> gbp.command_wrappers.Command('gzip', [ '-n', '%s/../upstream_1.0.orig.tar' % dirs['repo']])() >>> with open('%s/../upstream_1.0.orig.tar.gz.asc' % dirs['repo'], 'w') as f: f.write("sig") 3
Empty repos have no branch pristine-tar branch
Methods tested:
gbp.deb.git.DebianGitRepository.has_pristine_tar_branch
gbp.deb.pristinetar.DebianPristineTar.has_commit
>>> import gbp.deb.git >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.has_pristine_tar_branch() False >>> repo.pristine_tar.has_commit('upstream', '1.0', 'gzip') False
Find delta on the pristine tar branch
Methods tested:
>>> import gbp.deb.git >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.pristine_tar.has_commit('upstream', '1.0', 'bzip2') False >>> repo.pristine_tar.has_commit('upstream', '1.0', 'gzip') True >>> repo.pristine_tar.has_commit('upstream', '1.0') True >>> branch = repo.rev_parse('pristine-tar') >>> commit, sig = repo.pristine_tar.get_commit('upstream_1.0.orig.tar.gz') >>> branch == commit True >>> sig True >>> repo.pristine_tar.commit('../upstream_1.0.orig.tar.gz', 'upstream') >>> branch = repo.rev_parse('pristine-tar') >>> commit, sig = repo.pristine_tar.get_commit('upstream_1.0.orig.tar.gz') >>> branch == commit True >>> sig False
Checkout a tarball using pristine-tar
Methods tested:
>>> import gbp.deb.git >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.pristine_tar.checkout('upstream', '1.0', 'gzip', '..')
Checkout a tarball that does not exist using pristine-tar
Methods tested:
# Silence error output >>> import gbp.deb.git >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> _gbp_log_err_bak = gbp.log.err >>> gbp.log.err = lambda x: None >>> repo.pristine_tar.checkout('upstream', '1.1', 'gzip', '..') # doctest:+IGNORE_EXCEPTION_DETAIL Traceback (most recent call last): ... gbp.command_wrappers.CommandExecFailed: Pristine-tar couldn't checkout "upstream_1.1.orig.tar.gz": fatal: Path 'upstream_1.1.orig.tar.gz.delta' does not exist in 'refs/heads/pristine-tar' pristine-tar: git show refs/heads/pristine-tar:upstream_1.1.orig.tar.gz.delta failed >>> gbp.log.err = _gbp_log_err_bak
Checkout a tarball using pristine-tar
Methods tested:
>>> import gbp.deb.git >>> from gbp.deb.policy import DebianPkgPolicy
>>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> sf = os.path.join(repo.path, ... DebianPkgPolicy.build_signature_name('upstream', '1.0', 'gzip', '..')) >>> os.unlink(sf) >>> repo.pristine_tar.checkout('upstream', '1.0', 'gzip', '..', ... signature=True) >>> os.path.exists(sf) or not repo.pristine_tar.has_feature_sig() True
Commit the delta to the pristine-tar branch
Methods tested:
>>> import gbp.deb.git >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.pristine_tar.commit('../upstream_1.0.orig.tar.gz', 'upstream')
Commit the delta to the pristine-tar branch including a signature
Methods tested:
>>> import gbp.deb.git >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.pristine_tar.commit('../upstream_1.0.orig.tar.gz', 'upstream', ... signaturefile='../upstream_1.0.orig.tar.gz.asc')