Skip to content

Better db isolation control - #54

Open
tdivis wants to merge 4 commits into
Almad:masterfrom
tdivis:better_db_isolation_control
Open

Better db isolation control#54
tdivis wants to merge 4 commits into
Almad:masterfrom
tdivis:better_db_isolation_control

Conversation

@tdivis

@tdivis tdivis commented Apr 6, 2012

Copy link
Copy Markdown
  • reworked internal implementation of how (or rather when) database creation, transaction begin/rollback, flush and fixtures loading are made so that minimum of these time-consuming operations are made, and developer now have better control when those operations are (or are not) done.
  • database isolation control now works for packages and modules too (i.e. if you want db flush after each TestCase or test function in the module, you just put database_flush = True at the beginning of the module)
  • added tests for testing features mentioned above

tdivis added 4 commits March 18, 2012 16:52
 * Fixed some unresolved imports and undefined variables
 * Removed lot of unused imports and variables, removed some re-imports
 * PEP8-ify white spaces, removed trailing spaces, blank lines are blank etc.
 * Added some false positive error/warning disabling for pylint and pydev
 * Did some refactoring to remove code duplication
 * Fixed lot of object's attributes were not defined in __init__
 * Refactored some variable names to code be more readable
 * Removed some variables redefinitions (either build-ins and few locals)
Check for required_sane_plugins, called from is_skipped() in startTest
was causing errors because not all plugins were enabled at that time
(startTest methods of all plugins are called sequentially), so enable_test
had to be moved to beforeTest plugin method.

This was revealed by failing test testproject.test.test_database.TestFixturesLoadedProperly.test_model_loaded, which now passes.
 * reworked internal implementation of how (or rather when) database creation, transaction begin/rollback, flush and fixtures loading are made so that minimum of these time-consuming operations are made, and developer now have better control when those operations are (or are not) done.
 * database isolation control now works for packages and modules too (i.e. if you want db flush after each TestCase or test function in the module, you just put database_flush = True at the beginning of the module)
 * added tests for testing features mentioned above
… failing tests after running tests with --persist-test-database parameter 2 times)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant