![]() The test in mgmt.test_datastores.TestDatastoreVersion.test_version_index is failing because of concurrency race problems. Executing in sequence the delete method would delete one of the datastore versions and while executing another test for index method, the setup method would recreate the deleted object so that queries work correctly. But because of delete and index methods running concurrently on different threads, the delete is deleting the object during the execution of setup/index method on another thread because of which the object query is failing. As a fix, did two things, 1. Since 'test_vr1' is only used by delete method, shifted the query of test_vr1 to delete method. 2. Updated the mocked method used in test_version_index from models.Datastore.load to models.DatastoreVersion.load_by_uuid the former is not needed in test_version_index, the not-useful mock got left, probably, while the code for index method was updated. Change-Id: I816b602579892588d3179a0dc08b9fc5668f1e5b Closes-Bug: #1492130 |
||
---|---|---|
apidocs | ||
contrib | ||
devstack | ||
doc | ||
etc | ||
tools | ||
trove | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
babel.cfg | ||
doc-test.conf | ||
generate_examples.py | ||
requirements.txt | ||
run_tests.py | ||
run_tests.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.rst
Trove
Trove is Database as a Service for OpenStack.
Usage for integration testing
If you'd like to start up a fake Trove API daemon for integration testing with your own tool, run:
$ ./tools/start-fake-mode.sh
Stop the server with:
$ ./tools/stop-fake-mode.sh
Tests
To run all tests and PEP8, run tox, like so:
$ tox
To run just the tests for Python 2.7, run:
$ tox -epy27
To run just PEP8, run:
$ tox -epep8
To generate a coverage report,run:
$ tox -ecover
(note: on some boxes, the results may not be accurate unless you run it twice)
If you want to run only the tests in one file you can use testtools e.g.
$ python -m testtools.run trove.tests.unittests.python.module.path