DatabaseShutdownRollbackTest(): Fix wrong documentation, add test which demonstrates how to fix the breakage
- The documentation was wrong by stating that it is a db4o bug that ObjectContainer.close() does commit(). It is documented, intended behavior. The fact that it is a problem for us is due to our misuse of db4o: We should use ObjectServer.openClient() for obtaining a separate ObjectContainer for each transaction. This is demonstrated by the new test_WillNotFail().
- This test now serves as a safeguard to ensure that someone takes care of fixing the wrong usage of db4o in WOT in case I run into a truck.
- The safeguard of the always breaking test will allow merging the fix-database-leakage branch to master: The branch fixes as much as it can with the current WOT architecture. The architecture should be changed to use multiple ObjectContainers as demonstrated in the new test_WillNotFail(). However this is significant refactoring so it should have its own branch. Therefore, I want to merge fix-database-leakage soon.
Merge branch 'fix-database-leakage' of https://github.com/freenet/plugin-WoT-staging into fix-database-leakage