The use of the builtin unittest test loader was silently dropping tests
that couldn't be imported.
This change also drops the retargetable path from discovery in the api
path due to a previously-masked configuration problem, and fixes an
invalid import in a functional testing fixture module.
Fullstack tests are also disabled temporarily pending a fix for #
1446261.
Change-Id: Ie44e45c117bd864538e7919dfcf499091fde7752
Related-Bug: #
1440834
Related-Bug: #
1443480
Closes-Bug: #
1446405
-# 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 unittest
-
-
-# Allow the retargetable and tempest api tests to be executed as part
-# of the same job by ensuring that tests from both paths are discovered.
-
-
-def _discover(loader, path, pattern):
- return loader.discover(path, pattern=pattern, top_level_dir=".")
-
-
-def load_tests(_, tests, pattern):
- suite = unittest.TestSuite()
- suite.addTests(tests)
-
- loader = unittest.loader.TestLoader()
- suite.addTests(_discover(loader, "./neutron/tests/api", pattern))
- suite.addTests(_discover(loader,
- "./neutron/tests/retargetable",
- pattern))
-
- return suite
import netaddr
import six
+from neutron.agent.common import ovs_lib
from neutron.agent.linux import bridge_lib
from neutron.agent.linux import ip_lib
-from neutron.agent.linux import ovs_lib
from neutron.common import constants as n_const
from neutron.openstack.common import uuidutils
from neutron.tests import base as tests_base
discovery.
"""
-import unittest
-
-
-def _discover(loader, path, pattern):
- return loader.discover(path, pattern=pattern, top_level_dir=".")
-
-
-def load_tests(_, tests, pattern):
- suite = unittest.TestSuite()
- suite.addTests(tests)
-
- loader = unittest.loader.TestLoader()
- suite.addTests(_discover(loader, "./neutron/tests/functional", pattern))
- suite.addTests(_discover(loader, "./neutron/tests/fullstack", pattern))
- suite.addTests(_discover(loader, "./neutron/tests/retargetable",
- pattern))
-
- return suite
+import os.path
+
+
+def load_tests(loader, tests, pattern):
+ this_dir = os.path.dirname(__file__)
+ parent_dir = os.path.dirname(this_dir)
+ target_dirs = [
+ this_dir,
+ os.path.join(parent_dir, 'retargetable'),
+ ]
+ for start_dir in target_dirs:
+ new_tests = loader.discover(start_dir=start_dir, pattern=pattern)
+ tests.addTests(new_tests)
+ return tests