This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2009年07月14日 18:39 by gnofi, last changed 2022年04月11日 14:56 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| mailcap.txt | gnofi, 2010年10月04日 01:27 | Sample mailcap file used in test_mailcap.py | ||
| test_mailcap.py | gnofi, 2010年10月04日 01:39 | Trunk version of test for mailcap module (Corrected) | ||
| test_mailcap.py | gnofi, 2010年10月04日 01:40 | py3k version of test for mailcap module (Corrected) | ||
| Messages (17) | |||
|---|---|---|---|
| msg90516 - (view) | Author: Gregory Nofi (gnofi) | Date: 2009年07月14日 18:39 | |
There is currently no test_mailcap or any other standalone unit test for the mailcap module. The only existing test is a self-test at the end of the module. I would like to be assigned to work on this patch. (Why am I assigning myself to write tests for a small, older module? I'm a complete noob to the Python-Dev community and I'm getting my feet wet with this. Let me know if you have any advice or if I'm doing something wrong.) |
|||
| msg90517 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2009年07月14日 19:04 | |
Welcome! Please read the material at http://www.python.org/dev if you haven't already, especially the dev FAQ. At the moment the case can't be assigned to you in the tracker interface, but your claiming it in the text is sufficient. Please write the tests and create a diff-patch as outlined in the FAQ. Then upload it here for review. If you need advice, #python-dev on Freenode is a good place to get it. |
|||
| msg90519 - (view) | Author: Martin v. Löwis (loewis) * (Python committer) | Date: 2009年07月14日 20:15 | |
Please also identify yourself with your full name. |
|||
| msg97289 - (view) | Author: Gregory Nofi (gnofi) | Date: 2010年01月06日 01:56 | |
Attached is a new file for testing the mailcap module in Python 2.7. Writing the test was a little tricky because the existence and contents of the .mailcap file(s) will vary depending on the system or user. Therefore, the test mostly uses its own version of .mailcap, which I will also submit to this issue. This is the first patch I've ever submitted to Python Core Development. Any feedback is appreciated. |
|||
| msg97290 - (view) | Author: Gregory Nofi (gnofi) | Date: 2010年01月06日 02:00 | |
This is a sample .mailcap I created for the test. It should also go in the Lib/test directory. It begins with a period due to a mailcap file naming convention (see RFC 1524). Is it OK that the file will be semi-hidden? |
|||
| msg103933 - (view) | Author: Gregory Nofi (gnofi) | Date: 2010年04月22日 00:50 | |
Submitting Python 3 version of test. Note that it currently fails due to Issue8496. It should use the same .mailcap file I submitted earlier. |
|||
| msg115735 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2010年09月06日 20:23 | |
Thanks for contributing this; sorry it took so long to get a review. Overall the tests look good (I didn't work through the logic of each test that looks up data; I'm trusting you on that part :) Here are some comments: 1) In test_listmailcapfiles, you can use test.support.EnvironmentVarGuard and inside the test set the value of MAILCAPS. That way you can test both cases (set and not set). 2) I notice that the listmailcapfiles docstring is inaccurate (it actually lists the *possible* locations of mailcap files, and applies only to unix). You could file a doc bug for that, but it is not an API method so it isn't a huge deal. 3) In test_lookup I think it might be better to hardcode the expected value rather than computing it. It would make it clearer what the test was expecting, and remove any chance that you are just repeating the algorithm that the code itself is using to compute the value. 4) Your use of EnvironmentVarGuard in GetcapsTest is not technically correct, though it does happen to work. You should really be doing self.env = test.support.EnvironmentVarGuard().__enter__() to mimic the 'with' protocol. It is a detail of the implementation that __enter__ returns self. 5) Why conditionalize your test on the existence of a system mailcap file? You want a controlled environment for testing, so it is better, IMO, to just use your test mailcap file. This will simplify your tests. Or you could add a second test method that also does the simple checks if and only if one of the possible system mailcap files does exist, if your goal is to test that part of the code path. (In that case you should skip the test with an appropriate message if no system mailcap files are found). 6) I don't see any reason why the test file needs to be named ".mailcap", you can specify its filename in any test where you need it. It would indeed be better not to have a test file with a leading '.'. Current convention would be to create a directory named 'mailcaptestdata' and put your test data files in there, but since you have only one it would in fact be OK to just put it directly in the test directory if you can come up with a clear name for it. Alternatively you could group those tests that need it into a single test case and use the new setUpClass to create it from an embedded string and tearDownClass to delete it afterward. Thanks again for working on this. |
|||
| msg117937 - (view) | Author: Gregory Nofi (gnofi) | Date: 2010年10月04日 01:27 | |
Replacing .mailcap with mailcap.txt. Same content, but with more conventional file name. |
|||
| msg117938 - (view) | Author: Gregory Nofi (gnofi) | Date: 2010年10月04日 01:39 | |
r.david.murray: Thanks a lot for your feedback! I've implemented those suggestions and they helped located a bug. (See case 9923.) |
|||
| msg142667 - (view) | Author: Anthony Briggs (anthonyb) | Date: 2011年08月22日 04:24 | |
Added ncoghlan to the nosy list - we're reviewing/fixing unit test coverage as part of the sprints at PyconAU. Thanks Gnofi! |
|||
| msg142680 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2011年08月22日 06:06 | |
New changeset 69cb66ab61cc by Nick Coghlan in branch 'default': Add unit tests for the mailcap module. Patch by Gregory Nofi (closes #6484) http://hg.python.org/cpython/rev/69cb66ab61cc |
|||
| msg142767 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2011年08月22日 22:39 | |
New changeset a1bb07d67a24 by Ezio Melotti in branch 'default': #6484: refactor a bit the tests. http://hg.python.org/cpython/rev/a1bb07d67a24 |
|||
| msg142811 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2011年08月23日 12:16 | |
The buildbots are reporting a test failure on Windows: ====================================================================== FAIL: test_listmailcapfiles (test.test_mailcap.HelperFunctionTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "D:\cygwin\home\db3l\buildarea3円.x.bolen-windows\build\lib\test\test_mailcap.py", line 74, in test_listmailcapfiles self.assertEqual(env_mailcaps, mcfiles) AssertionError: Lists differ: ['/testdir1/.mailcap', '/testd... != ['/testdir1/.mailcap;/testdir2... First differing element 0: /testdir1/.mailcap /testdir1/.mailcap;/testdir2/mailcap First list contains 1 additional elements. First extra element 1: /testdir2/mailcap - ['/testdir1/.mailcap', '/testdir2/mailcap'] ? ^^^^ + ['/testdir1/.mailcap;/testdir2/mailcap'] ? ^ There's a discrepancy between the test (uses os.pathsep) and the mailcap module (hardcoded to use ':' on all platforms). I suspect the test is actually right and the module is wrong, but I don't know enough about mailcap to be sure. Anyone else? |
|||
| msg142823 - (view) | Author: Gregory Nofi (gnofi) | Date: 2011年08月23日 13:40 | |
There's a bug for that test failure: #9923. I submitted a patch with it. Committing that should fix the failure. |
|||
| msg142827 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2011年08月23日 13:53 | |
Ah, cheers - closing this one again. /me wanders off to meta-tracker to ask for a list of "dependency of" and "superseder of" issues in the issue header... |
|||
| msg168396 - (view) | Author: Petri Lehtinen (petri.lehtinen) * (Python committer) | Date: 2012年08月16日 18:06 | |
Any reason why this hasn't been backported to 3.2 or 2.7? |
|||
| msg168397 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2012年08月16日 18:11 | |
There are divided opinions about the advisability of backporting tests that are not part of a bug fix. In this case, there is also the fact that it includes a test that fails without a bug fix that was not backported. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:56:50 | admin | set | github: 50733 |
| 2012年08月16日 18:11:36 | r.david.murray | set | messages: + msg168397 |
| 2012年08月16日 18:06:48 | petri.lehtinen | set | nosy:
+ petri.lehtinen messages: + msg168396 |
| 2011年08月23日 13:53:01 | ncoghlan | set | status: open -> closed messages: + msg142827 |
| 2011年08月23日 13:40:50 | gnofi | set | messages: + msg142823 |
| 2011年08月23日 12:16:17 | ncoghlan | set | status: closed -> open messages: + msg142811 |
| 2011年08月22日 22:39:33 | python-dev | set | messages: + msg142767 |
| 2011年08月22日 06:06:01 | python-dev | set | status: open -> closed nosy: + python-dev messages: + msg142680 resolution: fixed stage: patch review -> resolved |
| 2011年08月22日 04:24:50 | anthonyb | set | messages: + msg142667 |
| 2011年08月22日 04:21:27 | anthonyb | set | nosy:
+ ncoghlan, anthonyb versions: + Python 3.3, - Python 3.2 |
| 2011年05月07日 15:27:49 | eric.araujo | link | issue9923 dependencies |
| 2010年10月04日 01:40:23 | gnofi | set | files: + test_mailcap.py |
| 2010年10月04日 01:39:23 | gnofi | set | files:
+ test_mailcap.py messages: + msg117938 |
| 2010年10月04日 01:30:02 | gnofi | set | files: - test_mailcap.py |
| 2010年10月04日 01:29:55 | gnofi | set | files: - test_mailcap.py |
| 2010年10月04日 01:27:13 | gnofi | set | files:
+ mailcap.txt messages: + msg117937 |
| 2010年10月04日 01:19:32 | gnofi | set | files: - .mailcap |
| 2010年09月06日 20:23:54 | r.david.murray | set | messages: + msg115735 |
| 2010年04月22日 12:31:10 | vstinner | set | nosy:
+ vstinner |
| 2010年04月22日 12:28:53 | pitrou | set | priority: low -> normal nosy: + ezio.melotti stage: test needed -> patch review versions: - Python 2.7 |
| 2010年04月22日 00:53:39 | gnofi | set | files: - test_mailcap.py |
| 2010年04月22日 00:53:32 | gnofi | set | files: + test_mailcap.py |
| 2010年04月22日 00:50:35 | gnofi | set | files:
+ test_mailcap.py messages: + msg103933 |
| 2010年01月06日 02:00:43 | gnofi | set | files:
+ .mailcap messages: + msg97290 |
| 2010年01月06日 01:56:12 | gnofi | set | files:
+ test_mailcap.py messages: + msg97289 |
| 2009年07月14日 20:15:52 | loewis | set | nosy:
+ loewis messages: + msg90519 |
| 2009年07月14日 19:04:41 | r.david.murray | set | priority: low nosy: + r.david.murray messages: + msg90517 stage: test needed |
| 2009年07月14日 18:39:06 | gnofi | create | |