Starting Work Early

Initial scheduling

As my exams conflict with my GSoC schedule- specifically milestone 1- I decided to work on the first two weeks of the project early. The first two weeks involve correcting ensuring proper state setup, and fixing worker database connections to MySQL, PostgreSQL, and SQLite.

Major changes done

Fixing proper state setup was done a month ago when I initially passed the setup function and its arguments from runtests.py to the test runner method run_tests. This ensured that spawned workers would retain initial settings specified by the user and fixed AppRegistry issues since the AppRegistry is uninitialized in spawned processes.

Next was fixing worker database connections. For PostgreSQL, MySQL, and on-disk SQLite databases, this amounts to saving the names of the created databases in a test_names variables and passing it to workers. For in-memory databases SQLite databases, database name isn’t important as these in-memory databases are saved on-disk then restored to in-memory databases during each worker’s initialization.

Concluding remarks

I am getting a lot of inconsistent and indeterminate failures though on SQLite. Not sure yet what’s causing these failures, but they seem to appear randomly. I’ll try to run the test runner with –bisect and –pair to see what happens.