| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
correctly regardless of how it's used.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
* Turn on absolute_import and unicode_literals everywhere, and deal with the
aftermath.
* Use 'except X as Y' everywhere.
* Make the module prologues much more consistent.
* Use '{}'.format() consistently, except for logger interface.
* Because of the problems with calling ** args with unicode keywords, hide
calls to Template.substitute() behind an API.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Add .push() and .pop() methods to the Configuration object.
Put the 'config' object in the globals of doctests.
Add some test layers for setting up the configuration and the SMTP server.
|
| |
|
|
|
|
|
|
|
|
| |
mailman.configuration -> mailman.config.config
mailman.initialize -> mailma.core.initialize
mailman.loginit -> mailman.core.logging (yay future absolute imports!)
Convert all configurations to lazr.config, though some legacy still remains,
and I haven't been able to remove Defaults.py yet. Added as_boolean() and
as_log_level() helpers for explicit type conversion. Added a schema.cfg.
|
| | |
|
| | |
|
| |
|
|
|
| |
that's part of the 'application', i.e. non-essential to the core functionality
is left in mailman.app. This division of labor is still formative.
|
| |
|
|
| |
really work yet anyway. Eradicate UserDesc.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
necessary. Finally delete DEFAULT_EMAIL_HOST and DEFAULT_URL_HOST. Now
add_domain() must be called in the confirmation file for every domain.
add_domain() itself is now pretty much just a proxy for the Domain
constructor.
Add stop() as an alias for pdb.set_trace() to the documentation doctest globs.
|
| |
|
|
|
|
|
| |
Mail-Archive.com hash calculation, not the post-id sequence number.
test_documentation now starts and stops the smtp listener, simplifing many
tests.
|
| |
|
|
|
|
|
|
|
| |
the Pipermail, Prototype, and MailArchiver plugins into separate modules.
Put the archives registry on the config object and initialize it at the right
time.
Update plugin entry points.
|
| |
|
|
| |
mailman.testing should contain any support for running the tests.
|
| |
|
|
|
|
|
|
|
|
|
| |
put the Message-ID first in the log message. Dict the MsgSafeDict class as
unnecessary now.
Fix the DEFAULT_MSG_FOOTER.
Back out an earlier unnecessary change for virgin queue pipelines.
Add a bunch of debugging to the mail Runner loops.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
including:
- MailingList.full_path -> IMailingList.data_path and implement this as a
property on the MailingList object.
- Fix the 'decorate' handler to work with the new member/user data model,
instead of the old MemberAdaptor interface.
- Fix a few problems with the smtp-direct handler, though this needs more work
and tests.
- Add some debug logging to both the test smtplistener and the SMTPServer
proxy. Fix the proxy's consumption of messages from the thread queue.
- Fix the smtplistener's calculation of the X-Peer header.
|
| |
|
|
| |
have been started, no matter what.
|
| |\ |
|
| | |
| |
| |
| |
| | |
the help for bin/testall --randomize for details), but it still better than
nothing.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
doesn't remain in a locked state, hosing other processes.
- Move a commit to the end of StockDatabase._create()
- Add an abort to the Exception clause if there's an error while dequeuing
- Add an abort to the Exception clause if there's an error while finishing
- Add a commit after _doperiodic() and _shortcircuit() is called.
- Add a commit to the end of cleaning_teardown() in test_documentation.py
This now makes all the tests pass even when all of them are run.
|
| | |
| |
| |
| | |
implementation of these to StockDatabase. Expose 'commit' to doctest globals.
|
| |\ \
| |/
|/| |
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Refactor the TestableMaster class so that doctests don't need to do all the
threading and event fiddling themselves. Hide all that in the test class.
In bin/master, add the -r/--runner option to allow overriding the set of queue
runners to start from the command line. This is much more convenient than
fiddling the config file (which is still supported), and it allows us to start
a subset of the runners from the TestableMaster class.
Refactor the calculation of queue runner shortcut names into
Configuration.add_qrunner(). This way, it's easy to share between bin/qrunner
and bin/master.
Use pkg_resource in bin/testall to create the test configuration file. We're
still using mailman.__file__ as the target to os.walk() though, so this
conversion isn't complete.
In bin/testall, update to the new convention of putting .options and
.arguments on the parser instance, so we only need to pass back one thing.
In test_documentation.py, use config.verbosity instead of
config.options.verbosity. Wind that through to bin/testall while we're at
it.
Update loginit.py so that defaults for all the logging options can be found in
a [*] section. This is better than [DEFAULT] because the latter requires
%-interpolation and still requires each sublogger to be specified explicitly.
Now we just set values in the [*] section and have them apply to all loggers.
Allow for passing bin/testall's -v and -e options to any subprocesses that get
created, e.g. via the TestableMaster. Now testall will write a logging.cfg
file with a [*] entry as appropriate.
It's DEFAULT_DATABASE_URL now, not SQLALCHEMY_ENGINE_URL.
StockDatabase._reset() requires that the store be rolled back before it's
reset. Otherwise if there are outstanding transactions, the reset will fail
with an OperationalError.
Update the LMTPRunner. Have it return a 501 error if the message has defects.
Most defective messages are spam. Make the LMTPRunner startable and
stoppable. Just because it's asyncore based doesn't mean that's not possible
<wink>.
Enable the LMTP runner in tests.
|
| |
|
|
|
|
|
|
|
|
| |
Remove an outdated comment.
Add an SMTPServer wrapper class to the test helpers module. This will be used
in tests of the outgoing queue, which actually needs to talk to an SMTP
server. Adapt the smtpd-based server to being run under thread control, and
remove some now unnecessary code.
|
| |
|