diff options
author | Guido Günther <agx@sigxcpu.org> | 2016-07-06 18:23:17 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2016-07-07 13:44:07 +0200 |
commit | 1fae819c7af9760e8c2e924027ffd0c1b2e8df81 (patch) | |
tree | ceab2d87ab9f2c721d0fefbe482a5943131f3bf1 /tests | |
parent | 55fd73a60132319eafb9bfd87ba4d4f09bcf3184 (diff) |
Use proper test fixtures
This avoids removing all temp dirs after the first doctest.
We need to stuff the dirs into a dict since doctests only see a shallow
copy of global() which is created before running setup_module().
Closes: #723888
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_GitRepository.py | 133 | ||||
-rw-r--r-- | tests/test_PristineTar.py | 42 |
2 files changed, 90 insertions, 85 deletions
diff --git a/tests/test_GitRepository.py b/tests/test_GitRepository.py index dd3e8dd6..1b59dd2c 100644 --- a/tests/test_GitRepository.py +++ b/tests/test_GitRepository.py @@ -5,12 +5,10 @@ Test L{gbp.git.GitRepository} This testcase creates several repositores: - - A repository at I{repo_dir} called I{repo} - - A bare repository at I{bare_dir} called I{bare} - - A clone of I{repo} below I{clone_dir} called I{clone} - - A mirror of I{repo} below I{mirror_clone_dir} called I{mirror} - -@undocumented: repo_dir bare_dir clone_dir mirror_clone_dir + - A repository at I{dirs['repo']} called I{repo} + - A bare repository at I{dirs['bare']} called I{bare} + - A clone of I{repo} below I{dirs['clone']} called I{clone} + - A mirror of I{repo} below I{mirror_dirs['clone']} called I{mirror} """ from . import context @@ -19,9 +17,21 @@ import gbp.log gbp.log.setup(color=False, verbose=True) -repo_dir, bare_dir, clone_dir, mirror_clone_dir = list(map( - lambda x, tmpdir=context.new_tmpdir(__name__): tmpdir.join(x), - ['repo', 'bare', 'clone', 'mirror_clone'])) +dirs = {} +subdirs = ['repo', 'bare', 'clone', 'mirror_clone'] + + +def setup_module(): + tmpdir = context.new_tmpdir(__name__) + for s in subdirs: + dirs[s] = tmpdir.join(s) + + +def teardown_module(): + for s in subdirs: + del dirs[s] + context.teardown() + def test_create(): """ @@ -35,10 +45,10 @@ def test_create(): - L{gbp.git.GitRepository.git_dir} >>> import os, gbp.git - >>> repo = gbp.git.GitRepository.create(repo_dir) - >>> repo.path == repo_dir + >>> repo = gbp.git.GitRepository.create(dirs['repo']) + >>> repo.path == dirs['repo'] True - >>> repo.git_dir == os.path.join(repo_dir, '.git') + >>> repo.git_dir == os.path.join(dirs['repo'], '.git') True >>> type(repo) == gbp.git.GitRepository True @@ -54,7 +64,7 @@ def test_empty(): - L{gbp.git.GitRepository.is_empty} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.get_branch() >>> repo.branch >>> repo.is_empty() @@ -75,7 +85,7 @@ def test_add_files(): - L{gbp.git.GitRepository.head} >>> import gbp.git, shutil, os - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> ret = shutil.copy(os.path.join(repo.path, ".git/HEAD"), ... os.path.join(repo.path, "testfile")) >>> repo.is_clean()[0] @@ -99,7 +109,7 @@ def test_branch_master(): Methods tested: - L{gbp.git.GitRepository.get_branch} >>> import gbp.git, shutil - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.get_branch() 'master' >>> repo.branch @@ -114,7 +124,7 @@ def test_clean(): - L{gbp.git.GitRepository.clean} >>> import gbp.git, shutil, os - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> ret = shutil.copy(os.path.join(repo.path, ".git/HEAD"), ... os.path.join(repo.path, "testclean")) >>> repo.clean(dry_run=True) @@ -134,7 +144,7 @@ def test_create_branch(): - L{gbp.git.GitRepository.branch_contains} >>> import gbp.git, shutil - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.create_branch("foo") >>> repo.branch_contains("foo", 'HEAD') True @@ -151,7 +161,7 @@ def test_delete_branch(): - L{gbp.git.GitRepository.delete_branch} >>> import gbp.git, shutil - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.create_branch("bar") >>> repo.delete_branch("bar") >>> repo.delete_branch("master") @@ -170,7 +180,7 @@ def test_set_branch(): - L{gbp.git.GitRepository.branch} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.set_branch("foo") >>> repo.get_branch() == "foo" True @@ -189,7 +199,7 @@ def test_rename_branch(): - L{gbp.git.GitRepository.delete_branch} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.create_branch("baz") >>> repo.rename_branch("baz", "bax") >>> repo.delete_branch("bax") @@ -202,7 +212,7 @@ def test_set_upstream_branch(): >>> import os, shutil >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> os.makedirs(os.path.join(repo.git_dir, 'refs/remotes/origin')) >>> ret = shutil.copy(os.path.join(repo.git_dir, 'refs/heads/master'), \ os.path.join(repo.git_dir, 'refs/remotes/origin/')) @@ -223,7 +233,7 @@ def test_get_upstream_branch(): Get info about upstream branches set in test_set_upstream_branch >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.get_upstream_branch('master') 'origin/master' >>> repo.get_upstream_branch('foo') @@ -244,7 +254,7 @@ def test_tag(): - L{gbp.git.GitRepository.get_tags} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.create_tag("tag") >>> repo.has_tag("tag") True @@ -269,7 +279,7 @@ def test_describe(): - L{gbp.git.GitRepository.describe} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> sha = repo.rev_parse('HEAD') >>> repo.describe('HEAD') 'tag2' @@ -302,7 +312,7 @@ def test_find_tag(): - L{gbp.git.GitRepository.find_tag} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.find_tag('HEAD') 'tag2' >>> repo.find_tag('HEAD', pattern='foo*') @@ -319,7 +329,7 @@ def test_find_branch_tag(): - L{gbp.git.GitRepository.find_branch_tag} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.find_branch_tag('HEAD', 'master', 'tag*') 'tag2' >>> repo.find_branch_tag('HEAD', 'master', 'v*') # doctest:+ELLIPSIS @@ -337,7 +347,7 @@ def test_move_tag(): - L{gbp.git.GitRepository.has_tag} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.move_tag("tag", "moved") >>> repo.has_tag("tag") False @@ -354,7 +364,7 @@ def test_delete_tag(): - L{gbp.git.GitRepository.has_tag} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.has_tag("moved") True >>> repo.delete_tag("moved") @@ -372,7 +382,7 @@ def test_get_obj_type(): - L{gbp.git.GitRepository.delete_tag} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.create_tag("tag3", "tag msg") >>> repo.get_obj_type("tag3") 'tag' @@ -395,7 +405,7 @@ def test_list_files(): - L{gbp.git.GitRepository.force_head} >>> import gbp.git, os, shutil - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> src = os.path.join(repo.path, ".git/HEAD") >>> dst = os.path.join(repo.path, "testfile") >>> repo.list_files() @@ -436,7 +446,7 @@ def test_get_commits(): - L{gbp.git.GitRepository.get_commits} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> commits = repo.get_commits() >>> type(commits) == list and len(commits) == 2 True @@ -468,7 +478,7 @@ def test_get_commit_info(): >>> import gbp.git >>> from datetime import datetime - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> info = repo.get_commit_info('HEAD') >>> info['id'] 'HEAD' @@ -501,7 +511,7 @@ def test_diff(): - L{gbp.git.GitRepository.diff} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> len(repo.diff('HEAD~1', 'HEAD')) > 3 True >>> len(repo.diff('HEAD~1', 'HEAD', 'testfile')) > 3 @@ -520,7 +530,7 @@ def test_diff_status(): - L{gbp.git.GitRepository.diff_status} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.diff_status("HEAD", "HEAD") # doctest:+ELLIPSIS defaultdict(<... 'list'>, {}) >>> repo.diff_status("HEAD~1", "HEAD") # doctest:+ELLIPSIS @@ -539,9 +549,9 @@ def test_mirror_clone(): - L{gbp.git.GitRepository.branch} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.set_branch('master') - >>> mirror = gbp.git.GitRepository.clone(mirror_clone_dir, repo.path, mirror=True) + >>> mirror = gbp.git.GitRepository.clone(dirs['mirror_clone'], repo.path, mirror=True) >>> mirror.is_empty() False >>> mirror.branch @@ -572,9 +582,9 @@ def test_clone(): - L{gbp.git.GitRepository.has_remote_repo} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.set_branch('master') - >>> clone = gbp.git.GitRepository.clone(clone_dir, repo.path) + >>> clone = gbp.git.GitRepository.clone(dirs['clone'], repo.path) >>> clone.is_empty() False >>> clone.branch @@ -611,16 +621,16 @@ def test_get_remotes(): >>> import os >>> import gbp.git.repository - >>> repo = gbp.git.repository.GitRepository(os.path.join(clone_dir, 'repo')) + >>> repo = gbp.git.repository.GitRepository(os.path.join(dirs['clone'], 'repo')) >>> remotes = repo.get_remotes() >>> len(remotes) 1 >>> origin = remotes['origin'] >>> origin.name 'origin' - >>> origin.fetch_url == repo_dir + >>> origin.fetch_url == dirs['repo'] True - >>> origin.push_urls == [repo_dir] + >>> origin.push_urls == [dirs['repo']] True """ @@ -633,7 +643,7 @@ def test_merge(): - L{gbp.git.GitRepository.set_branch} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.set_branch('master') >>> repo.merge('foo') """ @@ -647,7 +657,7 @@ def test_pull(): - L{gbp.git.GitRepository.pull} >>> import gbp.git, os - >>> d = os.path.join(clone_dir, 'repo') + >>> d = os.path.join(dirs['clone'], 'repo') >>> clone = gbp.git.GitRepository(d) >>> clone.set_branch('master') >>> clone.pull() @@ -667,7 +677,7 @@ def test_fetch(): - L{gbp.git.GitRepository.remove_remote_repo} >>> import gbp.git, os - >>> d = os.path.join(clone_dir, 'repo') + >>> d = os.path.join(dirs['clone'], 'repo') >>> clone = gbp.git.GitRepository(d) >>> clone.fetch() >>> clone.push() @@ -678,7 +688,7 @@ def test_fetch(): >>> clone.push_tag('origin', 'tag3') >>> clone.create_tag('tag4') >>> clone.push('origin', 'master', tags=True) - >>> clone.add_remote_repo('foo', repo_dir) + >>> clone.add_remote_repo('foo', dirs['repo']) >>> clone.fetch('foo') >>> clone.fetch('foo', tags=True) >>> clone.fetch('foo', refspec='refs/heads/master') @@ -695,10 +705,10 @@ def test_create_bare(): - L{gbp.git.GitRepository.is_empty} >>> import gbp.git - >>> bare = gbp.git.GitRepository.create(bare_dir, bare=True, description="msg") - >>> bare.path == bare_dir + >>> bare = gbp.git.GitRepository.create(dirs['bare'], bare=True, description="msg") + >>> bare.path == dirs['bare'] True - >>> bare.git_dir[:-1] == bare_dir + >>> bare.git_dir[:-1] == dirs['bare'] True >>> type(bare) == gbp.git.GitRepository True @@ -751,7 +761,7 @@ def test_checkout(): - L{gbp.git.GitRepository.tags} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.checkout('master') >>> repo.branch 'master' @@ -784,7 +794,7 @@ def test_gc(): - L{gbp.git.GitRepository.collect_garbage} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.collect_garbage() """ @@ -796,7 +806,7 @@ def test_grep_log(): - L{gbp.git.GitRepository.grep_log} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.set_branch('master') >>> len(repo.grep_log('foo')) == 2 True @@ -818,7 +828,7 @@ def test_is_ff(): - L{gbp.git.GitRepository.is_fast_forward} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.is_fast_forward('master', 'foo') (True, True) >>> repo.create_branch('ff', 'HEAD^') @@ -836,7 +846,7 @@ def test_update_ref(): - L{gbp.git.GitRepository.update_ref} >>> import gbp.git, os - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.update_ref('new_ref', 'master', msg='update') >>> os.path.exists(os.path.join(repo.git_dir, 'new_ref')) True @@ -853,7 +863,7 @@ def test_make_tree(): - L{gbp.git.GitRepository.make_tree} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> sha1 = repo.write_file('testfile') >>> sha1 '19af7398c894bc5e86e17259317e4db519e9241f' @@ -878,7 +888,7 @@ def test_update_submodules(): - L{gbp.git.GitRepository.update_submodules} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo.has_submodules() False >>> repo.update_submodules() @@ -892,7 +902,7 @@ def test_get_merge_base(): - L{gbp.git.GitRepository.get_merge_base} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> sha1 = repo.get_merge_base('master', 'foo') >>> len(sha1) 40 @@ -908,7 +918,7 @@ def test_status(): - L{gbp.git.GitRepository.status} >>> import gbp.git, os, shutil - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> fname = os.path.join(repo.path, "test_status") >>> ret = shutil.copy(os.path.join(repo.path, ".git/HEAD"), fname) >>> list(repo.status().items()) @@ -930,7 +940,7 @@ def test_cmd_has_feature(): - L{gbp.git.GitRepository._cmd_has_feature} >>> import gbp.git - >>> repo = gbp.git.GitRepository(repo_dir) + >>> repo = gbp.git.GitRepository(dirs['repo']) >>> repo._cmd_has_feature("commit", "a") True >>> repo._cmd_has_feature("commit", "reuse-message") @@ -953,11 +963,4 @@ def test_cmd_has_feature(): True """ -def test_teardown(): - """ - Perform the teardown - - >>> context.teardown() - """ - # vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·: diff --git a/tests/test_PristineTar.py b/tests/test_PristineTar.py index 5c61cf07..74d51272 100644 --- a/tests/test_PristineTar.py +++ b/tests/test_PristineTar.py @@ -1,5 +1,4 @@ # vim: set fileencoding=utf-8 : - """ Test pristine-tar related methods in @@ -11,17 +10,26 @@ and This testcase creates this reposity: - - A repository at I{repo_dir} called I{repo} + - A repository at I{dirs['repo']} called I{repo} -@undocumented: repo_dir test_data """ +import os from . import context -import os -repo_dir = context.new_tmpdir(__name__).join('repo') test_data = os.path.join(context.projectdir, "tests/test_PristineTar_data") +dirs = {} + + +def setup_module(): + dirs['repo'] = context.new_tmpdir(__name__).join('repo') + + +def teardown_module(): + del dirs['repo'] + context.teardown() + def test_create(): """ @@ -31,7 +39,7 @@ def test_create(): - L{gbp.deb.git.DebianGitRepository.create} >>> import os, gbp.deb.git - >>> repo = gbp.deb.git.DebianGitRepository.create(repo_dir) + >>> repo = gbp.deb.git.DebianGitRepository.create(dirs['repo']) """ def test_empty_repo(): @@ -43,7 +51,7 @@ def test_empty_repo(): - L{gbp.deb.pristinetar.DebianPristineTar.has_commit} >>> import gbp.deb.git - >>> repo = gbp.deb.git.DebianGitRepository(repo_dir) + >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.has_pristine_tar_branch() False >>> repo.pristine_tar.has_commit('upstream', '1.0', 'gzip') @@ -59,7 +67,7 @@ def test_commit_dir(): - L{gbp.git.repository.GitRepository.create_branch} >>> import gbp.deb.git - >>> repo = gbp.deb.git.DebianGitRepository(repo_dir) + >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> commit = repo.commit_dir(test_data, msg="initial commit", branch=None) >>> repo.create_branch('upstream') """ @@ -72,9 +80,9 @@ def test_create_tarball(): - L{gbp.deb.git.DebianGitRepository.archive} >>> import gbp.deb.git - >>> repo = gbp.deb.git.DebianGitRepository(repo_dir) + >>> 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' % repo_dir])() + >>> gbp.command_wrappers.Command('gzip', [ '-n', '%s/../upstream_1.0.orig.tar' % dirs['repo']])() """ def test_pristine_tar_commit(): @@ -85,7 +93,7 @@ def test_pristine_tar_commit(): - L{gbp.deb.pristinetar.DebianPristineTar.commit} >>> import gbp.deb.git - >>> repo = gbp.deb.git.DebianGitRepository(repo_dir) + >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.pristine_tar.commit('../upstream_1.0.orig.tar.gz', 'upstream') """ @@ -98,7 +106,7 @@ def test_pristine_has_commit(): - L{gbp.pkg.pristinetar.PristineTar.get_commit} >>> import gbp.deb.git - >>> repo = gbp.deb.git.DebianGitRepository(repo_dir) + >>> 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') @@ -119,7 +127,7 @@ def test_pristine_tar_checkout(): - L{gbp.deb.pristinetar.DebianPristineTar.checkout} >>> import gbp.deb.git - >>> repo = gbp.deb.git.DebianGitRepository(repo_dir) + >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.pristine_tar.checkout('upstream', '1.0', 'gzip', '..') """ @@ -131,7 +139,7 @@ def test_pristine_tar_checkout_nonexistent(): - L{gbp.deb.pristinetar.DebianPristineTar.checkout} >>> import gbp.deb.git - >>> repo = gbp.deb.git.DebianGitRepository(repo_dir) + >>> repo = gbp.deb.git.DebianGitRepository(dirs['repo']) >>> repo.pristine_tar.checkout('upstream', '1.1', 'gzip', '..') Traceback (most recent call last): ... @@ -139,11 +147,5 @@ def test_pristine_tar_checkout_nonexistent(): pristine-tar: git show refs/heads/pristine-tar:upstream_1.1.orig.tar.gz.delta failed """ -def test_teardown(): - """ - Perform the teardown - - >>> context.teardown() - """ # vim:et:ts=4:sw=4:et:sts=4:ai:set list listchars=tab\:»·,trail\:·: |