Make unittests work with testr
This commit is contained in:
parent
99caa52b01
commit
8617ea36bf
|
@ -25,6 +25,7 @@ pip-log.txt
|
||||||
pip-delete-this-directory.txt
|
pip-delete-this-directory.txt
|
||||||
|
|
||||||
# Unit test / coverage reports
|
# Unit test / coverage reports
|
||||||
|
.testrepository/
|
||||||
.tox/
|
.tox/
|
||||||
.coverage
|
.coverage
|
||||||
.cache
|
.cache
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
[DEFAULT]
|
||||||
|
test_command=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
|
||||||
|
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
|
||||||
|
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-160} \
|
||||||
|
${PYTHON:-python} -m subunit.run discover -t ./ ./tests $LISTOPT $IDOPTION
|
||||||
|
|
||||||
|
test_id_option=--load-list $IDFILE
|
||||||
|
test_list_option=--list
|
|
@ -18,7 +18,6 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
from git_upstream.main import main
|
from git_upstream.main import main
|
||||||
from sys import argv
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main(argv)
|
return(main())
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
|
|
||||||
from git_upstream.errors import GitUpstreamError
|
from git_upstream.errors import GitUpstreamError
|
||||||
from git_upstream.log import LogDedentMixin
|
from git_upstream.log import LogDedentMixin
|
||||||
|
from git_upstream.lib import note
|
||||||
from git_upstream.lib.utils import GitMixin
|
from git_upstream.lib.utils import GitMixin
|
||||||
from git_upstream.lib.searchers import CommitMessageSearcher
|
from git_upstream.lib.searchers import CommitMessageSearcher
|
||||||
from git_upstream import subcommand, log
|
from git_upstream import subcommand, log
|
||||||
|
|
|
@ -28,6 +28,7 @@ from git_upstream.errors import GitUpstreamError
|
||||||
import git_upstream.log as log
|
import git_upstream.log as log
|
||||||
import git_upstream.version
|
import git_upstream.version
|
||||||
from git_upstream.lib import utils
|
from git_upstream.lib import utils
|
||||||
|
from git_upstream.lib import note
|
||||||
|
|
||||||
import subcommand
|
import subcommand
|
||||||
import argparse
|
import argparse
|
||||||
|
@ -97,11 +98,11 @@ def help(parser, args, commands=None):
|
||||||
parser.print_help()
|
parser.print_help()
|
||||||
|
|
||||||
|
|
||||||
def main(argv):
|
def main():
|
||||||
(cmds, parser) = get_parser()
|
(cmds, parser) = get_parser()
|
||||||
|
|
||||||
if not argv:
|
if not sys.argv:
|
||||||
help(parser, argv)
|
help(parser, sys.argv)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if argparse_loaded:
|
if argparse_loaded:
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
# Copyright 2010-2011 OpenStack Foundation
|
||||||
|
# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
import git
|
||||||
|
import fixtures
|
||||||
|
import testtools
|
||||||
|
|
||||||
|
|
||||||
|
class DiveDir(fixtures.Fixture):
|
||||||
|
"""Dive into given directory and return back on cleanup.
|
||||||
|
|
||||||
|
:ivar path: The target directory.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def __init__(self, path):
|
||||||
|
self.path = path
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(DiveDir, self).setUp()
|
||||||
|
self.addCleanup(os.chdir, os.getcwd())
|
||||||
|
os.chdir(self.path)
|
||||||
|
|
||||||
|
|
||||||
|
class GitRepo(fixtures.Fixture):
|
||||||
|
"""Create a copy git repo in which to operate."""
|
||||||
|
|
||||||
|
def __init__(self, repo):
|
||||||
|
self.repo = repo
|
||||||
|
self.path = ''
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(GitRepo, self).setUp()
|
||||||
|
tempdir = fixtures.TempDir()
|
||||||
|
self.addCleanup(tempdir.cleanUp)
|
||||||
|
tempdir.setUp()
|
||||||
|
self.path = os.path.join(tempdir.path, 'git')
|
||||||
|
self.repo.clone(self.path)
|
||||||
|
|
||||||
|
|
||||||
|
class BaseTestCase(testtools.TestCase):
|
||||||
|
"""Base Test Case for all tests."""
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(BaseTestCase, self).setUp()
|
||||||
|
|
||||||
|
repo_path = self.useFixture(GitRepo(git.Repo('.'))).path
|
||||||
|
self.useFixture(DiveDir(repo_path))
|
||||||
|
repo = git.Repo('.')
|
||||||
|
repo.git.config('user.email', 'user@example.com')
|
||||||
|
repo.git.config('user.name', 'Example User')
|
|
@ -9,13 +9,14 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
"""Tests the drop module"""
|
"""Tests the drop module"""
|
||||||
import testtools
|
from tests import base
|
||||||
|
|
||||||
from git_upstream.commands import drop as d
|
from git_upstream.commands import drop as d
|
||||||
from git import repo as r
|
from git import repo as r
|
||||||
from git import GitCommandError
|
from git import GitCommandError
|
||||||
|
|
||||||
|
|
||||||
class TestDrop(testtools.TestCase):
|
class TestDrop(base.BaseTestCase):
|
||||||
"""Test case for Drop class"""
|
"""Test case for Drop class"""
|
||||||
|
|
||||||
first_commit = "bd6b9eefe961abe8c15cb5dc6905b92e14714a4e"
|
first_commit = "bd6b9eefe961abe8c15cb5dc6905b92e14714a4e"
|
||||||
|
|
|
@ -10,13 +10,14 @@
|
||||||
|
|
||||||
"""Tests the supersede module"""
|
"""Tests the supersede module"""
|
||||||
|
|
||||||
import testtools
|
from tests import base
|
||||||
|
|
||||||
from git_upstream.commands import supersede as s
|
from git_upstream.commands import supersede as s
|
||||||
from git import repo as r
|
from git import repo as r
|
||||||
from git import GitCommandError
|
from git import GitCommandError
|
||||||
|
|
||||||
|
|
||||||
class TestSupersede(testtools.TestCase):
|
class TestSupersede(base.BaseTestCase):
|
||||||
"""Test case for Supersede class"""
|
"""Test case for Supersede class"""
|
||||||
|
|
||||||
first_commit = "bd6b9eefe961abe8c15cb5dc6905b92e14714a4e"
|
first_commit = "bd6b9eefe961abe8c15cb5dc6905b92e14714a4e"
|
||||||
|
@ -26,6 +27,7 @@ class TestSupersede(testtools.TestCase):
|
||||||
second_change_ids = ("Iebd1f5aa789dcd9574a00bb8837e4596bf55fa88",
|
second_change_ids = ("Iebd1f5aa789dcd9574a00bb8837e4596bf55fa88",
|
||||||
"I4ab003213c40b0375283a15e2967d11e0351feb1")
|
"I4ab003213c40b0375283a15e2967d11e0351feb1")
|
||||||
invalid_change_ids = ("this_is_an_invalid_change_id",)
|
invalid_change_ids = ("this_is_an_invalid_change_id",)
|
||||||
|
|
||||||
change_ids_branch = "master"
|
change_ids_branch = "master"
|
||||||
invalid_change_ids_branch = "this_is_an_invalid_change_ids_branch"
|
invalid_change_ids_branch = "this_is_an_invalid_change_ids_branch"
|
||||||
note_ref = 'refs/notes/upstream-merge'
|
note_ref = 'refs/notes/upstream-merge'
|
||||||
|
|
Loading…
Reference in New Issue