Title: use new unittest features
Type: enhancement Stage: resolved
Components: Tests Versions: Python 3.5
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: berker.peksag Nosy List: BreamoreBoy, benjamin.peterson, berker.peksag, bethard, denversc, eric.araujo, eric.smith, ezio.melotti, python-dev, r.david.murray, raduv, sandro.tosi, serhiy.storchaka
Priority: normal Keywords: patch

Created on 2010-08-10 02:53 by denversc, last changed 2014-07-06 06:34 by berker.peksag. This issue is now closed.

File name Uploaded Description Edit denversc, 2010-08-10 02:55 Suggested Patch review raduv, 2012-05-21 07:39 review
issue9554_v2.diff berker.peksag, 2014-07-01 02:34 review
issue9554_v3.diff berker.peksag, 2014-07-04 11:05 review
issue9554_v4.diff berker.peksag, 2014-07-05 14:52 review
Messages (12)
msg113505 - (view) Author: Denver Coneybeare (denversc) * Date: 2010-08-10 02:53
Some of the unit testing code in could be modified to take advantage of the new unittest features in Python 2.7 and 3.x.  My suggested changes are attached in the patch file

One big one is that assertEquals() now prints a "diff" when multi-line strings compare unequal, so the manual "diffing" logic from the unit tests can be removed.  Also, assertIsNone() is slightly better than assertEquals(None, x).  Finally, there is a tiny fix where parse_args() was expected to throw ArgumentParserError but the test would not fail if it threw no exceptions.
msg113513 - (view) Author: Steven Bethard (bethard) * (Python committer) Date: 2010-08-10 09:37
These all look like good changes to me. (I looked at the patch, but haven't tried applying it though.)
msg125314 - (view) Author: Sandro Tosi (sandro.tosi) * (Python committer) Date: 2011-01-04 13:24
Hi, I've applied the patch and it goes fine (except for some offsets and the fact it was generated inside Lib/test) and the tests are still all ok. I'd suggest to apply it.
msg161233 - (view) Author: Radu Voicilas (raduv) Date: 2012-05-20 21:40
The patch is still valid - it applies ok. The only issues as mentioned by sandro.tosi are offsets and that it was generated inside Lib/

It would be worth having these changes applied.
msg161247 - (view) Author: Éric Araujo (eric.araujo) * (Python committer) Date: 2012-05-21 06:21
Another one:

         except ArgumentParserError:
             err = sys.exc_info()[1]

This reeks of single-codebase-for-2.x-and-3.x and could probably be replaced by assertRaises or at least a regular
msg161249 - (view) Author: Radu Voicilas (raduv) Date: 2012-05-21 07:39
Hi Eric, Denver's patch should apply correctly from the root. Also, I've made the changes you mention:

try: except: assert

has been replaced by:

with self.assertRaises()
msg179048 - (view) Author: Serhiy Storchaka (serhiy.storchaka) * (Python committer) Date: 2013-01-04 17:23
See also issue16510.
msg221910 - (view) Author: Mark Lawrence (BreamoreBoy) * Date: 2014-06-29 22:32
Latest patch LGTM so can we have a commit review please.
msg222002 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2014-07-01 02:34
Updated patch to use assertRaisesRegex in test_invalid_action, test_multiple_dest
msg222277 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2014-07-04 11:05
Updated patch.
msg222396 - (view) Author: Roundup Robot (python-dev) Date: 2014-07-06 06:33
New changeset f240ca6345c8 by Berker Peksag in branch 'default':
Issue #9554: Use modern unittest features in test_argparse.
msg222397 - (view) Author: Berker Peksag (berker.peksag) * (Python committer) Date: 2014-07-06 06:34
Thanks Denver and Radu. And thanks for the review, Ezio.
Date User Action Args
2014-07-06 06:34:49berker.peksagsetstatus: open -> closed
messages: + msg222397

assignee: berker.peksag
resolution: fixed
stage: commit review -> resolved
2014-07-06 06:33:18python-devsetnosy: + python-dev
messages: + msg222396
2014-07-05 16:06:06ezio.melottisetnosy: + ezio.melotti
2014-07-05 14:52:10berker.peksagsetfiles: + issue9554_v4.diff
2014-07-04 11:05:15berker.peksagsetfiles: + issue9554_v3.diff
type: behavior -> enhancement
messages: + msg222277
2014-07-01 02:34:29berker.peksagsetfiles: + issue9554_v2.diff

messages: + msg222002
2014-06-30 03:34:49berker.peksagsetnosy: + berker.peksag

versions: + Python 3.5, - Python 3.4
2014-06-29 22:32:42BreamoreBoysetnosy: + BreamoreBoy
messages: + msg221910
2013-01-04 17:23:28serhiy.storchakasetnosy: + serhiy.storchaka

messages: + msg179048
versions: + Python 3.4, - Python 3.3
2012-05-21 07:39:20raduvsetfiles: +

messages: + msg161249
2012-05-21 06:21:04eric.araujosetnosy: + eric.araujo
messages: + msg161247
2012-05-20 21:40:20raduvsetnosy: + raduv
messages: + msg161233
2011-01-04 14:15:18pitrousetnosy: + r.david.murray
2011-01-04 13:24:04sandro.tosisetnosy: + sandro.tosi

messages: + msg125314
stage: commit review
2010-08-10 09:37:08bethardsetmessages: + msg113513
2010-08-10 02:55:15denverscsetfiles: +
2010-08-10 02:54:48denverscsetfiles: -
2010-08-10 02:53:45denversccreate