Created by Barry Warsaw and last modified
Get this branch:
bzr branch lp:~barry/mailman/bug-971013
Only Barry Warsaw can upload to this branch. If you are Barry Warsaw please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Barry Warsaw
GNU Mailman

Recent revisions

7168. By Barry Warsaw

And now, working for PostgreSQL.

7167. By Barry Warsaw

Working for SQLite:

include_list_post_header -> allow_list_posts

Also add a bunch more migration tests.

7166. By Barry Warsaw

The final bit of refactoring puts the specifics of making a temporary database
into the hands of the database modules, by using ZCA adapters.

7165. By Barry Warsaw

Fix resetting PostgreSQL databases, thus making the full test suite pass with

7164. By Barry Warsaw

Add a temporary database factory so we can remove more cruft from the
individual database classes themselves. This does mean that the temporary
factory must know something special about the sqlite and postgresql databases,
but I think that's an acceptable trade-off.

This should make the test code cleaner, and allow me to write better support
for temporary PostgreSQL databases.

7163. By Barry Warsaw

The version component is no longer necessary.

7162. By Barry Warsaw

Refactor a slightly better way of indicating which tables should be reset by
the testing framework.

7161. By Barry Warsaw

Refactor to better handling the difference between a testing database and a
production database.

- Add an IDatabaseFactory interface with two named utility implementations.
  The initialization subsystem will either ask for the 'testing' or
  'production' factory utility depending on whether we're in the test suite or
  not. The testing factory returns an IDatabase that can be _reset().

- initialize_2() now takes an optional `testing` argument, defaulting to
  False. The test ConfigLayer will pass in True.

- Remove _reset() from the base database class.

- The ModelMeta now adds a PRESERVE attribute to database classes. This
  defaults to False, meaning by default the test framework will reset the
  table. The Version table is preserved because it records the schema

- Because of the above, we no longer need to support pre_reset() and
  post_reset() on migrations.

Also, bin/mailman should allow the standard configuration file search
algorithm to be used except when -C/--config is given.

7160. By Barry Warsaw

A few more tweaks to get PostgreSQL working.
- store.rollback() is better than store.execute('ABORT;')
- We need to do a commit after the migrations are loaded.

7159. By Barry Warsaw

One more refactoring.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.