Refactored Neutron tempest plugin directory structure

* switch from neutron.tests.tempest to neutron_tempest_plugin
* Cleaned up README.rst and setup.cfg
* Use neutron_tempest_plugin as a tempest plugin package
* Fixed gitreview
* Keeping flake8 Ignores in tox.ini as tempest plugin is
  imported from neutron codebase.

Change-Id: I42d389836e72813fdeebc797a577f4a8ac2ee603
This commit is contained in:
Chandan Kumar 2017-09-22 12:24:06 +05:30
parent 5e6198734b
commit 667d3d3260
85 changed files with 160 additions and 152 deletions

View File

@ -1,4 +1,4 @@
[gerrit]
host=review.openstack.org
port=29418
project=openstack/openstack.git
project=openstack/neutron-tempest-plugin.git

View File

@ -1,19 +1,12 @@
===============================
======================
Neutron Tempest Plugin
===============================
======================
Tempest plugin for Neutron
Tempest plugin for Neutron project.
Please fill here a long description which must be at least 3 lines wrapped on
80 cols, so that distribution package maintainers can use it in their packages.
Note that this is a hard requirement.
It contains the tempest plugin for the functional testing of Neutron Project.
* Free software: Apache license
* Documentation: http://docs.openstack.org/developer/openstack
* Source: http://git.openstack.org/cgit/openstack/openstack
* Bugs: http://bugs.launchpad.net/neutron_tempest_plugin
Features
--------
* TODO
* Documentation: http://docs.openstack.org/developer/neutron
* Source: http://git.openstack.org/cgit/openstack/neutron-tempest-plugin
* Bugs: http://bugs.launchpad.net/neutron

View File

@ -4,6 +4,6 @@ WARNING
Some files under this path were copied from tempest as part of the move of the
api tests, and they will be removed as required over time to minimize the
dependency on the tempest testing framework. While it exists, only
neutron.tests.tempest.* should be importing files from this path.
neutron.tests.tempest.config uses the global cfg.CONF instance and importing it
neutron_tempest_plugin.* should be importing files from this path.
neutron_tempest_plugin.config uses the global cfg.CONF instance and importing it
outside of the api tests has the potential to break Neutron's use of cfg.CONF.

View File

@ -12,10 +12,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from neutron.tests.tempest.common import tempest_fixtures
from neutron_tempest_plugin.common import tempest_fixtures
from tempest.lib import decorators
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class AgentManagementTestJSON(base.BaseAdminNetworkTest):

View File

@ -15,8 +15,8 @@
from neutron_lib import constants
from tempest.lib import decorators
from neutron.tests.tempest.common import utils
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin.common import utils
class DHCPAgentSchedulersTestJSON(base.BaseAdminNetworkTest):

View File

@ -16,8 +16,8 @@
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import base
from neutron.tests.tempest.api import base_security_groups as base_security
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin.api import base_security_groups as base_security
class PortSecurityAdminTests(base_security.BaseSecGroupTest,

View File

@ -16,7 +16,7 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
import testtools
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class ExternalNetworksRBACTestJSON(base.BaseAdminNetworkTest):

View File

@ -18,8 +18,8 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
import testtools
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
CONF = config.CONF

View File

@ -15,8 +15,8 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from neutron.tests.tempest.api import base
from neutron.tests.tempest import exceptions
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import exceptions
AGENT_TYPE = 'L3 agent'
AGENT_MODES = (

View File

@ -16,8 +16,8 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
class NetworksTestAdmin(base.BaseAdminNetworkTest):

View File

@ -19,8 +19,8 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
CONF = config.CONF

View File

@ -15,8 +15,8 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api.admin import test_quotas
from neutron.tests.tempest import config
from neutron_tempest_plugin.api.admin import test_quotas
from neutron_tempest_plugin import config
CONF = config.CONF

View File

@ -16,7 +16,7 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from neutron.tests.tempest.api import base_routers as base
from neutron_tempest_plugin.api import base_routers as base
class RoutersTestDVR(base.BaseRouterTest):

View File

@ -16,7 +16,7 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
import testtools
from neutron.tests.tempest.api import base_routers as base
from neutron_tempest_plugin.api import base_routers as base
class RoutersFlavorTestCase(base.BaseRouterTest):

View File

@ -13,7 +13,7 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from neutron.tests.tempest.api import base_routers as base
from neutron_tempest_plugin.api import base_routers as base
class RoutersTestHA(base.BaseRouterTest):

View File

@ -21,7 +21,7 @@ from tempest.lib import exceptions as lib_exc
from tempest import test
import testtools
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class SharedNetworksTest(base.BaseAdminNetworkTest):

View File

@ -21,11 +21,11 @@ from tempest.lib.common.utils import data_utils
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.common import constants
from neutron.tests.tempest.common import utils
from neutron.tests.tempest.api import clients
from neutron.tests.tempest import config
from neutron.tests.tempest import exceptions
from neutron_tempest_plugin.api import clients
from neutron_tempest_plugin.common import constants
from neutron_tempest_plugin.common import utils
from neutron_tempest_plugin import config
from neutron_tempest_plugin import exceptions
CONF = config.CONF

View File

@ -13,7 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class BaseRouterTest(base.BaseAdminNetworkTest):

View File

@ -15,7 +15,7 @@
from tempest.lib.common.utils import data_utils
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class BaseSecGroupTest(base.BaseNetworkTest):

View File

@ -19,8 +19,8 @@ from tempest.lib.services.identity.v2 import tenants_client
from tempest.lib.services.identity.v3 import projects_client
from tempest import manager
from neutron.tests.tempest import config
from neutron.tests.tempest.services.network.json import network_client
from neutron_tempest_plugin import config
from neutron_tempest_plugin.services.network.json import network_client
CONF = config.CONF

View File

@ -17,7 +17,7 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
ADDRESS_SCOPE_NAME = 'smoke-address-scope'

View File

@ -16,7 +16,7 @@ from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import test_address_scopes
from neutron_tempest_plugin.api import test_address_scopes
class AddressScopeTestNegative(test_address_scopes.AddressScopeTestBase):

View File

@ -16,8 +16,8 @@
import netaddr
from tempest.lib import decorators
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
class AllowedAddressPairTestJSON(base.BaseNetworkTest):

View File

@ -17,7 +17,7 @@ from neutron_lib.api.definitions import auto_allocated_topology
from oslo_config import cfg
from tempest.lib import decorators
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class TestAutoAllocatedTopology(base.BaseAdminNetworkTest):

View File

@ -18,8 +18,8 @@ from neutron_lib import constants
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
CONF = config.CONF

View File

@ -18,8 +18,8 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest.api import base_security_groups as base_security
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin.api import base_security_groups as base_security
FAKE_IP = '10.0.0.1'
FAKE_MAC = '00:25:64:e8:19:dd'

View File

@ -13,7 +13,7 @@
from tempest.lib import decorators
from tempest import test
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class ExtensionsTest(base.BaseNetworkTest):

View File

@ -16,7 +16,7 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class ExtraDHCPOptionsTestJSON(base.BaseNetworkTest):

View File

@ -15,7 +15,7 @@
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class TestFlavorsJson(base.BaseAdminNetworkTest):

View File

@ -17,8 +17,8 @@ from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
CONF = config.CONF

View File

@ -18,8 +18,8 @@ from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
CONF = config.CONF

View File

@ -16,7 +16,7 @@ from neutron_lib.db import constants as db_const
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
LONG_NAME_OK = 'x' * db_const.NAME_FIELD_SIZE

View File

@ -16,7 +16,7 @@ from neutron_lib.db import constants as db_const
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
LONG_NAME_NG = 'x' * (db_const.NAME_FIELD_SIZE + 1)

View File

@ -21,8 +21,8 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
from neutron_lib import constants as lib_constants

View File

@ -16,7 +16,7 @@ from oslo_utils import uuidutils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import test_network_ip_availability as net_ip
from neutron_tempest_plugin.api import test_network_ip_availability as net_ip
class NetworksIpAvailabilityNegativeTest(net_ip.NetworksIpAvailabilityTest):

View File

@ -17,8 +17,8 @@ from tempest.lib import decorators
from tempest import test
import testtools
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
class NetworksTestJSON(base.BaseNetworkTest):

View File

@ -14,7 +14,7 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
import testtools
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class NetworksNegativeTest(base.BaseNetworkTest):

View File

@ -16,7 +16,7 @@
from tempest.lib import decorators
from tempest import test
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class PortsTestJSON(base.BaseNetworkTest):

View File

@ -20,8 +20,8 @@ from tempest import test
import testscenarios
import testtools
from neutron.tests.tempest.common import qos_consts
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin.common import qos_consts
load_tests = testscenarios.load_tests_apply_scenarios

View File

@ -14,7 +14,7 @@ from neutron_lib.db import constants as db_const
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
LONG_NAME_NG = 'z' * (db_const.NAME_FIELD_SIZE + 1)
LONG_DESCRIPTION_NG = 'z' * (db_const.LONG_DESCRIPTION_FIELD_SIZE + 1)

View File

@ -16,9 +16,9 @@ from tempest.lib import decorators
from tempest.lib import exceptions
from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest.api import base_security_groups as bsg
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin.api import base_security_groups as bsg
from neutron_tempest_plugin import config
class TestRevisions(base.BaseAdminNetworkTest, bsg.BaseSecGroupTest):

View File

@ -18,10 +18,10 @@ from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest import test
from neutron.tests.tempest.common import utils
from neutron.tests.tempest.api import base
from neutron.tests.tempest.api import base_routers
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin.api import base_routers
from neutron_tempest_plugin.common import utils
from neutron_tempest_plugin import config
CONF = config.CONF

View File

@ -18,7 +18,7 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
import testtools
from neutron.tests.tempest.api import base_routers as base
from neutron_tempest_plugin.api import base_routers as base
class RoutersNegativeTestBase(base.BaseRouterTest):

View File

@ -16,7 +16,7 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from neutron.tests.tempest.api import base_security_groups as base
from neutron_tempest_plugin.api import base_security_groups as base
class SecGroupTest(base.BaseSecGroupTest):

View File

@ -17,7 +17,7 @@ from neutron_lib.db import constants as db_const
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import base_security_groups as base
from neutron_tempest_plugin.api import base_security_groups as base
LONG_NAME_NG = 'x' * (db_const.NAME_FIELD_SIZE + 1)

View File

@ -12,7 +12,7 @@
from tempest.lib import decorators
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class ServiceTypeManagementTest(base.BaseNetworkTest):

View File

@ -17,7 +17,7 @@ from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest import test
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
SUBNETPOOL_NAME = 'smoke-subnetpool'
SUBNET_NAME = 'smoke-subnet'

View File

@ -20,7 +20,7 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api import test_subnetpools
from neutron_tempest_plugin.api import test_subnetpools
SUBNETPOOL_NAME = 'smoke-subnetpool'

View File

@ -12,7 +12,7 @@
from tempest.lib import decorators
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class SubnetsSearchCriteriaTest(base.BaseSearchCriteriaTest):

View File

@ -14,7 +14,7 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api import base
from neutron_tempest_plugin.api import base
class TagTestJSON(base.BaseAdminNetworkTest):

View File

@ -15,10 +15,10 @@ import copy
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from neutron.tests.tempest.api import base
from neutron.tests.tempest.api import base_routers
from neutron.tests.tempest.api import base_security_groups
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin.api import base_routers
from neutron_tempest_plugin.api import base_security_groups
from neutron_tempest_plugin import config
CONF = config.CONF

View File

@ -18,8 +18,8 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
from tempest import test
from neutron.tests.tempest.api import base
from neutron.tests.tempest import config
from neutron_tempest_plugin.api import base
from neutron_tempest_plugin import config
def trunks_cleanup(client, trunks):

View File

@ -14,7 +14,7 @@
from tempest.lib import decorators
from neutron.tests.tempest.api import test_trunk
from neutron_tempest_plugin.api import test_trunk
class TestTrunkDetailsJSON(test_trunk.TrunkTestJSONBase):

View File

@ -17,7 +17,7 @@ from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
import testtools
from neutron.tests.tempest.api import test_trunk
from neutron_tempest_plugin.api import test_trunk
class TrunkTestJSON(test_trunk.TrunkTestJSONBase):

View File

@ -14,7 +14,7 @@
from tempest.lib.common import ssh
from neutron.tests.tempest import config
from neutron_tempest_plugin import config
class Client(ssh.Client):

View File

@ -18,15 +18,18 @@
"""Utilities and helper functions."""
import threading
import eventlet
import threading
import time
class classproperty(object):
def __init__(self, f):
self.func = f
def __get__(self, obj, owner):
return self.func(owner)
return self.func(owner)
class WaitTimeout(Exception):
"""Default exception coming from wait_until_true() function."""
@ -47,6 +50,7 @@ class LockWithTimer(object):
def time_to_wait(self):
return self.timestamp - time.time() + self._threshold
def wait_until_true(predicate, timeout=60, sleep=1, exception=None):
"""
Wait until callable predicate is evaluated as True

View File

@ -18,14 +18,12 @@ import os
from tempest.test_discover import plugins
import neutron
class NeutronTempestPlugin(plugins.TempestPlugin):
def load_tests(self):
base_path = os.path.split(os.path.dirname(
os.path.abspath(neutron.__file__)))[0]
test_dir = "neutron/tests/tempest"
os.path.abspath(__file__)))[0]
test_dir = "neutron_tempest_plugin"
full_test_dir = os.path.join(base_path, test_dir)
return full_test_dir, base_path

View File

@ -21,10 +21,10 @@ from tempest.lib.common.utils import data_utils
from tempest.lib.common.utils import test_utils
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest.api import base as base_api
from neutron.tests.tempest.common import ssh
from neutron.tests.tempest import config
from neutron.tests.tempest.scenario import constants
from neutron_tempest_plugin.api import base as base_api
from neutron_tempest_plugin.common import ssh
from neutron_tempest_plugin import config
from neutron_tempest_plugin.scenario import constants
CONF = config.CONF

View File

@ -14,8 +14,8 @@
# under the License.
from tempest.lib import decorators
from neutron.tests.tempest import config
from neutron.tests.tempest.scenario import base
from neutron_tempest_plugin import config
from neutron_tempest_plugin.scenario import base
CONF = config.CONF

View File

@ -15,9 +15,9 @@
from tempest.lib import decorators
from tempest import test
from neutron.tests.tempest import config
from neutron.tests.tempest.scenario import base
from neutron_lib import constants
from neutron_tempest_plugin import config
from neutron_tempest_plugin.scenario import base
CONF = config.CONF

View File

@ -21,10 +21,10 @@ from tempest import test
import testscenarios
from testscenarios.scenarios import multiply_scenarios
from neutron.tests.tempest.common import ssh
from neutron.tests.tempest import config
from neutron.tests.tempest.scenario import base
from neutron.tests.tempest.scenario import constants
from neutron_tempest_plugin.common import ssh
from neutron_tempest_plugin import config
from neutron_tempest_plugin.scenario import base
from neutron_tempest_plugin.scenario import constants
CONF = config.CONF

View File

@ -16,8 +16,8 @@
from tempest.lib import decorators
from tempest import test
from neutron.tests.tempest.scenario import base
from neutron.tests.tempest.scenario import test_dvr
from neutron_tempest_plugin.scenario import base
from neutron_tempest_plugin.scenario import test_dvr
class NetworkMigrationTestBase(base.BaseTempestTestCase,

View File

@ -14,8 +14,8 @@
from tempest.lib import decorators
from neutron.tests.tempest import config
from neutron.tests.tempest.scenario import base
from neutron_tempest_plugin import config
from neutron_tempest_plugin.scenario import base
CONF = config.CONF

View File

@ -21,14 +21,14 @@ from tempest.lib import decorators
from tempest.lib import exceptions
from tempest import test
from neutron.tests.tempest.common import utils
from neutron.tests.tempest.common import qos_consts
from neutron.tests.tempest.api import base as base_api
from neutron.tests.tempest.common import ssh
from neutron.tests.tempest import config
from neutron.tests.tempest.scenario import base
from neutron.tests.tempest.scenario import constants
from neutron.tests.tempest.scenario import exceptions as sc_exceptions
from neutron_tempest_plugin.api import base as base_api
from neutron_tempest_plugin.common import qos_consts
from neutron_tempest_plugin.common import ssh
from neutron_tempest_plugin.common import utils
from neutron_tempest_plugin import config
from neutron_tempest_plugin.scenario import base
from neutron_tempest_plugin.scenario import constants
from neutron_tempest_plugin.scenario import exceptions as sc_exceptions
CONF = config.CONF
LOG = logging.getLogger(__name__)
@ -154,9 +154,9 @@ class QoSTest(base.BaseTempestTestCase):
CONF.validation.image_ssh_user,
pkey=self.keypair['private_key'])
policy = self.os_admin.network_client.create_qos_policy(
name='test-policy',
description='test-qos-policy',
shared=True)
name='test-policy',
description='test-qos-policy',
shared=True)
policy_id = policy['policy']['id']
self.os_admin.network_client.create_bandwidth_limit_rule(
policy_id, max_kbps=constants.LIMIT_KILO_BITS_PER_SECOND,

View File

@ -20,11 +20,11 @@ from tempest.lib import decorators
from tempest import test
import testtools
from neutron.tests.tempest.common import utils
from neutron.tests.tempest.common import ssh
from neutron.tests.tempest import config
from neutron.tests.tempest.scenario import base
from neutron.tests.tempest.scenario import constants
from neutron_tempest_plugin.common import ssh
from neutron_tempest_plugin.common import utils
from neutron_tempest_plugin import config
from neutron_tempest_plugin.scenario import base
from neutron_tempest_plugin.scenario import constants
LOG = logging.getLogger(__name__)
CONF = config.CONF

View File

@ -17,7 +17,7 @@ from six.moves.urllib import parse as urlparse
from tempest.lib.common import rest_client as service_client
from tempest.lib import exceptions as lib_exc
from neutron.tests.tempest import exceptions
from neutron_tempest_plugin import exceptions
class NetworkClientJSON(service_client.RestClient):

View File

@ -1,6 +1,6 @@
[metadata]
name = openstack
summary = Tempest plugin neutron_tempest_plugin
name = neutron_tempest_plugin
summary = Tempest plugin for Neutron Project
description-file =
README.rst
author = OpenStack
@ -21,7 +21,7 @@ classifier =
[files]
packages =
neutron
neutron_tempest_plugin
[build_sphinx]
all-files = 1
@ -37,15 +37,15 @@ directory = neutron/locale
domain = neutron
[update_catalog]
domain = neutron
output_dir = neutron/locale
input_file = neutron/locale/neutron_tempest_plugin.pot
domain = neutron_tempest_plugin
output_dir = neutron_tempest_plugin/locale
input_file = neutron_tempest_plugin/locale/neutron_tempest_plugin.pot
[extract_messages]
keywords = _ gettext ngettext l_ lazy_gettext
mapping_file = babel.cfg
output_file = neutron/locale/neutron_tempest_plugin.pot
output_file = neutron_tempest_plugin/locale/neutron_tempest_plugin.pot
[entry_points]
tempest.test_plugins =
neutron_tests = neutron.tests.tempest.plugin:NeutronTempestPlugin
neutron_tests = neutron_tempest_plugin.plugin:NeutronTempestPlugin

25
tox.ini
View File

@ -32,9 +32,22 @@ commands =
commands = oslo_debug_helper {posargs}
[flake8]
# E123, E125 skipped as they are invalid PEP-8.
show-source = True
ignore = E123,E125
builtins = _
exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,build
# E125 continuation line does not distinguish itself from next logical line
# E126 continuation line over-indented for hanging indent
# E128 continuation line under-indented for visual indent
# E129 visually indented line with same indent as next logical line
# E265 block comment should start with '# '
# H404 multi line docstring should start with a summary
# H405 multi line docstring summary not separated with an empty line
# N530 direct neutron imports not allowed
# TODO(ihrachys) figure out what to do with N534 and N536
# N534 Untranslated exception message
# N536 Use assertIsNone rather than assertEqual to check for None values
ignore = E125,E126,E128,E129,E265,H404,H405,N530,N534,N536
# H106: Don't put vim configuration in source files
# H203: Use assertIs(Not)None to check for None
# H904: Delay string interpolations at logging calls
enable-extensions=H106,H203,H904
show-source = true
exclude = ./.*,build,dist,doc
import-order-style = pep8