From: Gary Kotton Date: Sat, 6 Oct 2012 02:56:11 +0000 (+0000) Subject: Improve unit test times X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=9aac057efd9728dc1e4134e72ffa106445d2fc97;p=openstack-build%2Fneutron-build.git Improve unit test times Revert the change using a temporary file for the database. The sqlalchemy version is updated to >=0.7.8 (this includes fixes for memory leaks). Change-Id: Ib5d128edfef0f8e0afebaf408f7834fa3de2481a --- diff --git a/quantum/db/db_base_plugin_v2.py b/quantum/db/db_base_plugin_v2.py index 474a1655c..3326f73c5 100644 --- a/quantum/db/db_base_plugin_v2.py +++ b/quantum/db/db_base_plugin_v2.py @@ -33,7 +33,6 @@ from quantum import quantum_plugin_base_v2 LOG = logging.getLogger(__name__) -TEST_DB = "quantum.test.db" AGENT_OWNER_PREFIX = 'network:' @@ -72,7 +71,7 @@ class QuantumDbPluginV2(quantum_plugin_base_v2.QuantumPluginBaseV2): # must override __init__ and setup the database # and not call into this class's __init__. # This connection is setup as memory for the tests. - db.configure_db({'sql_connection': "sqlite:///%s" % TEST_DB, + db.configure_db({'sql_connection': "sqlite:///:memory:", 'base': models_v2.model_base.BASEV2}) def _get_tenant_id_for_create(self, context, resource): diff --git a/quantum/tests/etc/quantum.conf.test b/quantum/tests/etc/quantum.conf.test index 2bf73d06c..e4871f301 100644 --- a/quantum/tests/etc/quantum.conf.test +++ b/quantum/tests/etc/quantum.conf.test @@ -21,4 +21,4 @@ api_paste_config = api-paste.ini.test rpc_backend = quantum.openstack.common.rpc.impl_fake [DATABASE] -sql_connection = 'sqlite:///quantum.test.db' \ No newline at end of file +sql_connection = 'sqlite:///:memory:' diff --git a/quantum/tests/unit/cisco/test_network_plugin.py b/quantum/tests/unit/cisco/test_network_plugin.py index d4cfa5dd2..a8ac702af 100644 --- a/quantum/tests/unit/cisco/test_network_plugin.py +++ b/quantum/tests/unit/cisco/test_network_plugin.py @@ -42,7 +42,7 @@ class CiscoNetworkPluginV2TestCase(test_db_plugin.QuantumDbPluginV2TestCase): def setUp(self): def new_init(): - db.configure_db({'sql_connection': 'sqlite:///quantum.test.db', + db.configure_db({'sql_connection': 'sqlite:///:memory:', 'base': network_models_v2.model_base.BASEV2}) with mock.patch.object(network_db_v2, diff --git a/quantum/tests/unit/ryu/test_ryu_db.py b/quantum/tests/unit/ryu/test_ryu_db.py index f7b4e9347..9c9ea74b6 100644 --- a/quantum/tests/unit/ryu/test_ryu_db.py +++ b/quantum/tests/unit/ryu/test_ryu_db.py @@ -28,7 +28,7 @@ from quantum.plugins.ryu import ofp_service_type class RyuDBTest(unittest2.TestCase): def setUp(self): - options = {"sql_connection": 'sqlite:///quantum.test.db'} + options = {"sql_connection": 'sqlite:///:memory:'} options.update({'base': models_v2.model_base.BASEV2}) reconnect_interval = cfg.CONF.DATABASE.reconnect_interval options.update({"reconnect_interval": reconnect_interval}) diff --git a/quantum/tests/unit/test_db_plugin.py b/quantum/tests/unit/test_db_plugin.py index 87789ac4e..4d43b9833 100644 --- a/quantum/tests/unit/test_db_plugin.py +++ b/quantum/tests/unit/test_db_plugin.py @@ -119,9 +119,6 @@ class QuantumDbPluginV2TestCase(unittest2.TestCase): cfg.CONF.reset() # Restore the original attribute map attributes.RESOURCE_ATTRIBUTE_MAP = self._attribute_map_bk - # Remove test database - if os.path.exists(db_base_plugin_v2.TEST_DB): - os.remove('quantum.test.db') def _req(self, method, resource, data=None, fmt='json', id=None, params=None, action=None): diff --git a/tools/pip-requires b/tools/pip-requires index 1c287266f..29e9c6459 100644 --- a/tools/pip-requires +++ b/tools/pip-requires @@ -12,5 +12,5 @@ lxml netaddr python-quantumclient>=2.0 pyudev -sqlalchemy>0.6.4 +sqlalchemy>=0.7.8 webob==1.0.8