Opened 5 years ago

Last modified 5 years ago

#6426 defect new

test_mail.py failure

Reported by: rodney757 Owned by: rodney757
Priority: normal Milestone:
Component: mail Keywords:
Cc: Jonathan Lange Branch:
Author:

Description

Upon running the test suite, twisted.mail.test.test_mail.ProcessAliasTestCase.test_processAlias is failing.

This is on OSX 10.7.5

=============================================================================== [ERROR] Traceback (most recent call last):

File "/Users/rjewing/Documents/Programming Projects/src/Twisted/twisted/mail/test/test_mail.py", line 1937, in _cbProcessAlias

lines = file('process.alias.out').readlines()

exceptions.IOError: [Errno 2] No such file or directory: 'process.alias.out'

twisted.mail.test.test_mail.ProcessAliasTestCase.test_processAlias


Attachments (2)

fix.patch (491 bytes) - added by rodney757 5 years ago.
fix.2.patch (741 bytes) - added by rodney757 5 years ago.
added news file

Download all attachments as: .zip

Change History (10)

comment:1 Changed 5 years ago by DefaultCC Plugin

Cc: Jonathan Lange added

comment:2 Changed 5 years ago by Jean-Paul Calderone

Component: trialmail
Owner: set to rodney757

Thanks for reporting this. The test passes on my Linux machine, as well as on all the supported-platform builders - which includes an OS X 10.6 machine and an OS X 10.8 machine.

Offhand, I don't see why OS X 10.7 would be special here. I do see that the test uses some terrible shell script that probably has a bunch of weird corner cases. I wonder if you have an unusual filesystem configuration or unusual shell or environment settings that might change the behavior of that script.

It would probably be good to just write the script as a more predictable Python program. However, it would certainly be nice to understand the failure before changing anything.

rodney757, I wonder if there's any more debugging you can do to dig up more information or figure out why it fails.

Also, changing the component to "mail" because this is a failure of a Twisted Mail test. *All* of Twisted's tests use and are run by trial, so that's not the criterion we use to select the "trial" component. :)

comment:3 Changed 5 years ago by rodney757

I would be more then happy to try and debug some more, if someone was willing to help me. I'm new to OS and Twisted and am not quite sure what I would be looking for.

comment:4 Changed 5 years ago by Jean-Paul Calderone

It seems the problem is the space in the path. ProcessAlias wants to treat a space as separating a program name from its arguments. Probably some sort of quoting support is necessary.

comment:5 Changed 5 years ago by rodney757

Status: newassigned

Changed 5 years ago by rodney757

Attachment: fix.patch added

Changed 5 years ago by rodney757

Attachment: fix.2.patch added

added news file

comment:6 Changed 5 years ago by rodney757

Keywords: review added
Owner: rodney757 deleted
Status: assignednew

comment:7 Changed 5 years ago by Tom Prince

Keywords: review removed
Owner: set to rodney757

This change seems too extreme. This means that only paths, not a command and arguments are supported. I think something like shell quoting would be the correct thing to do here. One question I have is what do other programs that read alias files do with | aliases. We probably want to be compatible with that behaviour.

comment:8 Changed 5 years ago by Jean-Paul Calderone

postfix seems to document its behavior fairly well:

http://www.postfix.org/aliases.5.html

Other implementations aren't as forthcoming. Following postfix's lead seems fine. We should document our behavior better, regardless.

Note: See TracTickets for help on using tickets.