)]}'
{"id":"openstack%2Fpython-swiftclient~76461","triplet_id":"openstack%2Fpython-swiftclient~master~I82b48b232b54bf88034dc40fedf27fc276c62ec3","project":"openstack/python-swiftclient","branch":"master","topic":"assertEqual","hashtags":[],"change_id":"I82b48b232b54bf88034dc40fedf27fc276c62ec3","subject":"Fix the parameter order of assertEqual in swiftclient test","status":"ABANDONED","created":"2014-02-26 08:15:09.000000000","updated":"2014-03-26 23:44:41.000000000","total_comment_count":14,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"e174f6110eb870784fa8ec9751f2f8f37a8038b9","_number":76461,"virtual_id_number":76461,"owner":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"all":[{"value":1,"date":"2014-03-26 05:20:20.000000000","_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"rejected":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":3,"name":"Jenkins","username":"jenkins"},{"value":0,"date":"2014-03-04 15:38:31.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"value":0,"date":"2014-02-27 21:41:12.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},{"value":0,"permitted_voting_range":{"min":-2,"max":2},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":-2,"date":"2014-03-26 15:27:07.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"value":1,"date":"2014-03-26 00:56:11.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"value":1,"date":"2014-02-27 10:31:19.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},{"value":0,"date":"2014-03-04 08:14:52.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"date":"2014-02-27 16:01:35.000000000","_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"date":"2014-02-27 21:41:12.000000000","_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"value":0,"date":"2014-03-26 15:27:07.000000000","permitted_voting_range":{"min":-1,"max":1},"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},{"value":0,"permitted_voting_range":{"min":-1,"max":0},"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":3,"name":"Jenkins","username":"jenkins"},{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2014-02-26 08:44:38.000000000","updated_by":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"reviewer":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"state":"REVIEWER"},{"updated":"2014-02-27 10:31:19.000000000","updated_by":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"reviewer":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"state":"REVIEWER"},{"updated":"2014-02-27 16:01:35.000000000","updated_by":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"reviewer":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"state":"REVIEWER"},{"updated":"2014-02-27 21:41:12.000000000","updated_by":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"reviewer":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"state":"REVIEWER"},{"updated":"2014-03-26 00:56:11.000000000","updated_by":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"reviewer":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"state":"REVIEWER"},{"updated":"2014-03-26 05:20:20.000000000","updated_by":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"reviewer":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"state":"REVIEWER"},{"updated":"2014-03-26 15:27:07.000000000","updated_by":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"reviewer":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"state":"REVIEWER"}],"messages":[{"id":"0f47e70d6c61f197aba9ef1ab8d9fcecf29b9b9b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-02-26 08:15:09.000000000","message":"Patch Set 1:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":1},{"id":"b6be592eb6372729c88a6b7abfed364ea249df1d","author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"date":"2014-02-26 08:44:38.000000000","message":"Patch Set 1: (11 inline comments)\n\nSince you\u0027re already working on this, you might change some asserts to use some of the testtools improvements, please see my comments.\n\nAnd if anyone is wondering like me about the order:\nPython documentation doesn\u0027t make a strong argument about ordering, however testtools adds \u0027actual\u0027 and \u0027reference\u0027 to the output on long args. Run this example to see it in action:\n\n import testtools\n import unittest\n\n class DumbTest(testtools.TestCase):\n     def test_nonsense(self):\n         r \u003d \"r\" * 100\n         a \u003d \"a\" * 100\n         self.assertEqual(r, a)\n\n if __name__ \u003d\u003d \u0027__main__\u0027:\n     unittest.main()","accounts_in_message":[],"_revision_number":1},{"id":"f0200300ffadf697d431d797239671b5986e5d5c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-02-26 09:09:51.000000000","message":"Patch Set 1: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/61/76461/1/check/gate-python-swiftclient-pep8/6db0271 : FAILURE in 47s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/61/76461/1/check/gate-python-swiftclient-docs/bcac04c/doc/build/html/ : SUCCESS in 1m 04s\n- gate-python-swiftclient-python26 http://logs.openstack.org/61/76461/1/check/gate-python-swiftclient-python26/3f271c2 : SUCCESS in 42s\n- gate-python-swiftclient-python27 http://logs.openstack.org/61/76461/1/check/gate-python-swiftclient-python27/b8b327c : SUCCESS in 37s\n- gate-python-swiftclient-python33 http://logs.openstack.org/61/76461/1/check/gate-python-swiftclient-python33/188a262 : FAILURE in 3m 06s (non-voting)\n- gate-python-swiftclient-pypy http://logs.openstack.org/61/76461/1/check/gate-python-swiftclient-pypy/2adb41a : SUCCESS in 1m 50s\n- check-swift-dsvm-functional http://logs.openstack.org/61/76461/1/check/check-swift-dsvm-functional/7d62d2e : SUCCESS in 14m 21s\n- check-tempest-dsvm-full http://logs.openstack.org/61/76461/1/check/check-tempest-dsvm-full/89904ef : SUCCESS in 54m 39s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/61/76461/1/check/check-tempest-dsvm-postgres-full/93dd07f : SUCCESS in 47m 04s\n- check-tempest-dsvm-neutron http://logs.openstack.org/61/76461/1/check/check-tempest-dsvm-neutron/902107e : SUCCESS in 34m 50s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/61/76461/1/check/check-tempest-dsvm-neutron-full/2e2625b : SUCCESS in 40m 48s (non-voting)\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/61/76461/1/check/gate-tempest-dsvm-large-ops/cd59b8f : SUCCESS in 15m 57s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/61/76461/1/check/gate-tempest-dsvm-neutron-large-ops/23cb6f0 : SUCCESS in 18m 54s\n- check-grenade-dsvm http://logs.openstack.org/61/76461/1/check/check-grenade-dsvm/d47b480 : SUCCESS in 41m 46s\n","accounts_in_message":[],"_revision_number":1},{"id":"abfcaa04fd582acdd58604efbf9d19944bbdda6b","author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"date":"2014-02-27 04:58:40.000000000","message":"Patch Set 1: Work In Progress","accounts_in_message":[],"_revision_number":1},{"id":"a49123f0701c9647681d9d7264f538b8e92fb1bb","author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"date":"2014-02-27 05:12:34.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"bacb3074ce682d337dc00f20b93dfc3a7d33f4f3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-02-27 05:12:35.000000000","message":"Patch Set 2:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":2},{"id":"a95f42a70e5cbf9103a4e1e86131ca74269e5137","author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"date":"2014-02-27 05:12:46.000000000","message":"Patch Set 1: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":1},{"id":"79babf07ba33db11be9fb3a06bcb30ef0bee4f5b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-02-27 06:14:15.000000000","message":"Patch Set 2: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/61/76461/2/check/gate-python-swiftclient-pep8/0034ec9 : SUCCESS in 33s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/61/76461/2/check/gate-python-swiftclient-docs/252fa1a/doc/build/html/ : SUCCESS in 1m 09s\n- gate-python-swiftclient-python26 http://logs.openstack.org/61/76461/2/check/gate-python-swiftclient-python26/9e343b9 : SUCCESS in 52s\n- gate-python-swiftclient-python27 http://logs.openstack.org/61/76461/2/check/gate-python-swiftclient-python27/20e95c6 : SUCCESS in 1m 17s\n- gate-python-swiftclient-requirements http://logs.openstack.org/61/76461/2/check/gate-python-swiftclient-requirements/f0fc416 : Incompatible requirement found; see https://wiki.openstack.org/wiki/Requirements in 24s\n- gate-python-swiftclient-python33 http://logs.openstack.org/61/76461/2/check/gate-python-swiftclient-python33/5d1043a : FAILURE in 3m 53s (non-voting)\n- gate-python-swiftclient-pypy http://logs.openstack.org/61/76461/2/check/gate-python-swiftclient-pypy/ee8adf0 : SUCCESS in 1m 49s\n- check-swift-dsvm-functional http://logs.openstack.org/61/76461/2/check/check-swift-dsvm-functional/809773d : SUCCESS in 14m 53s\n- check-tempest-dsvm-full http://logs.openstack.org/61/76461/2/check/check-tempest-dsvm-full/9368c3f : SUCCESS in 54m 07s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/61/76461/2/check/check-tempest-dsvm-postgres-full/ee3d02b : SUCCESS in 51m 32s\n- check-tempest-dsvm-neutron http://logs.openstack.org/61/76461/2/check/check-tempest-dsvm-neutron/b81fc86 : SUCCESS in 38m 08s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/61/76461/2/check/check-tempest-dsvm-neutron-full/cc5b5d2 : SUCCESS in 51m 13s (non-voting)\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/61/76461/2/check/gate-tempest-dsvm-large-ops/1656e61 : SUCCESS in 17m 15s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/61/76461/2/check/gate-tempest-dsvm-neutron-large-ops/a1e0764 : SUCCESS in 16m 00s\n- check-grenade-dsvm http://logs.openstack.org/61/76461/2/check/check-grenade-dsvm/d28b392 : SUCCESS in 28m 50s\n","accounts_in_message":[],"_revision_number":2},{"id":"1d9936721cbd4386466ccda361d59c38be8da813","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-02-27 06:37:58.000000000","message":"Patch Set 2: I would prefer that you didn\u0027t merge this\n\n(1 inline comment)\n\nLooks like a forgotten debug fix in requirements perhaps?","accounts_in_message":[],"_revision_number":2},{"id":"fa16de988adbcb795a13831b453fdd34eb957bb5","author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"date":"2014-02-27 06:54:37.000000000","message":"Patch Set 2: Work In Progress","accounts_in_message":[],"_revision_number":2},{"id":"c2684752d4b90108b8985b2c2bb2db7bad46ec8a","author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"date":"2014-02-27 06:55:51.000000000","message":"Patch Set 2: (1 inline comment)\n\n","accounts_in_message":[],"_revision_number":2},{"id":"e1d17d406386a371c000062bd08444ad1f34bd07","author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"date":"2014-02-27 06:57:13.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"7f104466461d0225fe1ce9c11212227c25c8ed84","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-02-27 06:57:14.000000000","message":"Patch Set 3:\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"2e02e09a6a96f557b9675a29a37f4e280aec737c","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-02-27 07:59:53.000000000","message":"Patch Set 3: Works for me\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-pep8/ad88609 : SUCCESS in 50s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/61/76461/3/check/gate-python-swiftclient-docs/a11c9de/doc/build/html/ : SUCCESS in 1m 05s\n- gate-python-swiftclient-python26 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python26/3319c8d : SUCCESS in 1m 24s\n- gate-python-swiftclient-python27 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python27/c2222d8 : SUCCESS in 1m 02s\n- gate-python-swiftclient-python33 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python33/16d136a : FAILURE in 2m 43s (non-voting)\n- gate-python-swiftclient-pypy http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-pypy/d433b84 : SUCCESS in 1m 51s\n- check-swift-dsvm-functional http://logs.openstack.org/61/76461/3/check/check-swift-dsvm-functional/f44d8f1 : SUCCESS in 17m 52s\n- check-tempest-dsvm-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-full/23167a1 : SUCCESS in 40m 17s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-postgres-full/ac63206 : SUCCESS in 39m 11s\n- check-tempest-dsvm-neutron http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-neutron/decb62d : SUCCESS in 28m 54s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-neutron-full/698e082 : SUCCESS in 50m 16s (non-voting)\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/61/76461/3/check/gate-tempest-dsvm-large-ops/dbfddb2 : SUCCESS in 14m 13s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/61/76461/3/check/gate-tempest-dsvm-neutron-large-ops/0c11307 : SUCCESS in 12m 39s\n- check-grenade-dsvm http://logs.openstack.org/61/76461/3/check/check-grenade-dsvm/45c87ec : SUCCESS in 29m 08s\n","accounts_in_message":[],"_revision_number":3},{"id":"c177722f559c7f6e1d4c0f859e40a8ada3869cb3","author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"date":"2014-02-27 10:31:19.000000000","message":"Patch Set 3: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":3},{"id":"4df065becef299cfed0b30f71ff8c0292df8c687","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-02-27 16:01:35.000000000","message":"Patch Set 3: Do not merge\n\nMy investigation into this matter revealed that the root cause is likely to be a bug in testtools. I\u0027m putting -2 on this while I\u0027m egaging the testtools upstream about it.","accounts_in_message":[],"_revision_number":3},{"id":"28850aa7dd9be056e6aeaaa5a2bee90e710a5e39","author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"date":"2014-02-27 21:41:12.000000000","message":"Patch Set 3:\n\nI guess testtools disagreed: https://github.com/testing-cabal/testtools/issues/80\n\nWhen I started writing Python, I was used to writing tests like this in Perl\n\n  ok(actual, expected)\n\nand that was sweet because the expected was often a large static value (e.g. multi-line hash or list or whatever).\n\nI very quickly noticed that unittest.TestCase.assertEqual gives better failure messages if you feed it\n\n  self.assertEqual(expected, actual)\n\nso I just switched how I write tests (most of the time; I\u0027m sure I forget sometimes because it really is suboptimal).\n\nAnyway, apparently at lest one testtools dev thinks it\u0027s actually *supposed* to be expected-then-actual, and the unittest code in Python 2.7 standard lib (and 2.6?) behaves that way, so...  why not just feed the assert arguments in the order which generates more useful failure messages?\n\nAlternatively, we could implement our own thin subclass of unittest.TestCase and override assertEqual/assertEquals and reverse the order of args there.\n\n*shrugs*","accounts_in_message":[],"_revision_number":3},{"id":"60cbe3a0595b6ce7d3076030f605217f98b97d90","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-02-27 22:30:56.000000000","message":"Patch Set 3: I would prefer that you didn\u0027t merge this\n\nDo you agree that docs for unittests specify actual,expected?","accounts_in_message":[],"_revision_number":3},{"id":"43f021c6ed61b1e4f6aa8c32b5c7b7463b62eba9","author":{"_account_id":2696,"name":"Darrell Bishop","email":"dbishop@nvidia.com","username":"darrellb"},"date":"2014-02-27 23:58:41.000000000","message":"Patch Set 3:\n\nI think you\u0027re right about the docs.  Maybe file an upstream issue suggesting a doc change and see if they at least think docs and the implementation should match? ;)\n\nFWIW, Python 2.7.3 unittest.TestCase only calls the args\n\n  assertEqual(self, first, second, msg\u003dNone)\n\nand now that I test it, the message just says something like\n\n  *** AssertionError: \u0027got\u0027 !\u003d \u0027expected\u0027\n\nwhich reminded me of what *actually* made me notice the backwards ordering.  For a diff like assertDictEqual gives you, you would expect the \"+\" lines to be actual content.  See how this is confusing:\n\n  (Pdb) self.assertDictEqual({\u0027abc\u0027: \u0027i got 8\u0027}, {\u0027abc\u0027: \u0027i expected 9\u0027})\n  *** AssertionError: {\u0027abc\u0027: \u0027i got 8\u0027} !\u003d {\u0027abc\u0027: \u0027i expected 9\u0027}\n  - {\u0027abc\u0027: \u0027i got 8\u0027}\n  + {\u0027abc\u0027: \u0027i expected 9\u0027}\n\n...but IIRC, assertDictEqual isn\u0027t in Python 2.6\u0027s unittest, so we can\u0027t use it in OpenStack anyway...\n\n*shrugs*","accounts_in_message":[],"_revision_number":3},{"id":"8df98625109c4567235c6421fd5cd13020faebd1","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-04 08:14:52.000000000","message":"Patch Set 3: No score\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"5c954f14477e2e034d7c708113b9647d8daca6d5","author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"date":"2014-03-04 08:14:52.000000000","message":"Patch Set 3:\n\nHi, Pate and Darrell,\n\nAs a result, do you think the incorrect point on swiftclient is not the parameter order but the description of unittest?\nIf yes, this should be changed (or abandoned and make new patch), because  the parameter on some parts are described as \"expected, actual\".\n\nI think one rule should be applied to all the same situation. Completely opposite Rule confuses people.\nIn other words, I think the order should be as \"expected, actual\",\n\nWhat do you think?","accounts_in_message":[],"_revision_number":3},{"id":"e25f54f383e7f2e8f60a9c6a40d3e364a08d4dae","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-04 09:17:34.000000000","message":"Patch Set 3: Works for me\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-pep8/c267830 : SUCCESS in 32s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/61/76461/3/check/gate-python-swiftclient-docs/0a0b4e7/doc/build/html/ : SUCCESS in 57s\n- gate-python-swiftclient-python26 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python26/b4b60d1 : SUCCESS in 58s\n- gate-python-swiftclient-python27 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python27/265847a : SUCCESS in 1m 01s\n- gate-python-swiftclient-python33 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python33/c2e107e : FAILURE in 4m 51s (non-voting)\n- gate-python-swiftclient-pypy http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-pypy/977bdee : SUCCESS in 1m 49s\n- check-swift-dsvm-functional http://logs.openstack.org/61/76461/3/check/check-swift-dsvm-functional/adb4549 : SUCCESS in 11m 45s\n- check-tempest-dsvm-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-full/c343632 : SUCCESS in 46m 37s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-postgres-full/ce31e43 : SUCCESS in 48m 57s\n- check-tempest-dsvm-neutron http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-neutron/1536124 : SUCCESS in 35m 04s\n- check-tempest-dsvm-neutron-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-neutron-full/5e22139 : SUCCESS in 1h 02m 40s (non-voting)\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/61/76461/3/check/gate-tempest-dsvm-large-ops/03324ba : SUCCESS in 17m 14s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/61/76461/3/check/gate-tempest-dsvm-neutron-large-ops/c55383d : SUCCESS in 14m 50s\n- check-grenade-dsvm http://logs.openstack.org/61/76461/3/check/check-grenade-dsvm/3ad354e : SUCCESS in 32m 29s\n","accounts_in_message":[],"_revision_number":3},{"id":"0b46157f1b7b8e0789efac97ece09a8b1377eed9","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-03-04 15:38:31.000000000","message":"Patch Set 3: No score\n\nThe problem turned out the be in the testtools package. Its developers reversed the order from unittest and documented it the docstring. In my opinion, this is a gross mishandling, because testtools is supposed to be compatible with unittest and historic practices. So, the question is rather if we will stay with testtools forever.\n\nI\u0027m going to take my vote back, because I decided that I do not care all that much. A change like this would be -2 unacceptable in the core Swift, which uses unittest, but it\u0027s not that important in swiftlient. Just pointless busywork thanks to gratious incompatibility in a random package.","accounts_in_message":[],"_revision_number":3},{"id":"69f749e1b145020c4ff30fb25f128f585bd0a0b3","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-26 00:56:11.000000000","message":"Patch Set 3: No score\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"eb9b8308df8a0a57bcec7966af8436c64b26697d","author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"date":"2014-03-26 00:56:11.000000000","message":"Patch Set 3: Looks good to me, but someone else must approve\n\n","accounts_in_message":[],"_revision_number":3},{"id":"81f9b1ae71a485ba367b0d19f8a11da0381ae4f1","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-26 02:20:18.000000000","message":"Patch Set 3: Doesn\u0027t seem to work\n\nBuild failed.  For information on how to proceed, see https://wiki.openstack.org/wiki/GerritJenkinsGit#Test_Failures\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-pep8/fee0586 : FAILURE in 4s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/61/76461/3/check/gate-python-swiftclient-docs/2e96adc/doc/build/html/ : SUCCESS in 1m 23s\n- gate-python-swiftclient-python26 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python26/027a51c : SUCCESS in 38s\n- gate-python-swiftclient-python27 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python27/acc292e : SUCCESS in 37s\n- check-grenade-dsvm http://logs.openstack.org/61/76461/3/check/check-grenade-dsvm/584680d : SUCCESS in 29m 53s\n- check-tempest-dsvm-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-full/7a38f39 : SUCCESS in 47m 58s\n- check-tempest-dsvm-neutron http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-neutron/fb023de : SUCCESS in 47m 25s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-neutron-heat-slow/752cc49 : SUCCESS in 25m 13s\n- gate-python-swiftclient-python33 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python33/a04b475 : FAILURE in 3m 28s (non-voting)\n- gate-python-swiftclient-pypy http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-pypy/58b78d2 : SUCCESS in 1m 51s (non-voting)\n- check-swift-dsvm-functional http://logs.openstack.org/61/76461/3/check/check-swift-dsvm-functional/8b46e84 : SUCCESS in 14m 42s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-postgres-full/9cd343b : SUCCESS in 51m 40s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/61/76461/3/check/gate-tempest-dsvm-large-ops/a9a2c78 : SUCCESS in 16m 15s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/61/76461/3/check/gate-tempest-dsvm-neutron-large-ops/68d5168 : SUCCESS in 19m 18s\n\n","accounts_in_message":[],"_revision_number":3},{"id":"6ede63894ecb65d8bdbbda47bef07e62d11c071d","author":{"_account_id":8871,"name":"Elastic Recheck","username":"elasticrecheck"},"date":"2014-03-26 02:20:41.000000000","message":"Patch Set 3:\n\nI noticed jenkins failed, I think you hit bug(s):\n\n- gate-python-swiftclient-pep8: https://bugs.launchpad.net/bugs/1270382\n\nWe don\u0027t automatically recheck or reverify, so please consider\ndoing that manually if someone hasn\u0027t already. For a code review\nwhich is not yet approved, you can recheck by leaving a code\nreview comment with just the text:\n\n    recheck bug 1270382\nFor bug details see: http://status.openstack.org/elastic-recheck/","accounts_in_message":[],"_revision_number":3},{"id":"c1d6a4868f7f250096a9d53d7fa48c2999cf531b","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-26 04:08:22.000000000","message":"Patch Set 3: No score\n\nStarting check jobs.\nhttp://status.openstack.org/zuul/","accounts_in_message":[],"_revision_number":3},{"id":"5dc1ac9d7cee1737613a938b0e90e2042ca6ff01","author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"date":"2014-03-26 04:08:22.000000000","message":"Patch Set 3:\n\nrecheck bug 1270382","accounts_in_message":[],"_revision_number":3},{"id":"6479c48e2210df4c88f05d2fb054b9ef7e110291","author":{"_account_id":3,"name":"Jenkins","username":"jenkins"},"date":"2014-03-26 05:20:20.000000000","message":"Patch Set 3: Works for me\n\nBuild succeeded.\n\n- gate-python-swiftclient-pep8 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-pep8/57bd421 : SUCCESS in 1m 14s\n- gate-python-swiftclient-docs http://docs-draft.openstack.org/61/76461/3/check/gate-python-swiftclient-docs/b078478/doc/build/html/ : SUCCESS in 1m 14s\n- gate-python-swiftclient-python26 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python26/7005956 : SUCCESS in 32s\n- gate-python-swiftclient-python27 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python27/01f1691 : SUCCESS in 44s\n- check-grenade-dsvm http://logs.openstack.org/61/76461/3/check/check-grenade-dsvm/f4644d4 : SUCCESS in 31m 59s\n- check-tempest-dsvm-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-full/838ce3c : SUCCESS in 44m 03s\n- check-tempest-dsvm-neutron http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-neutron/73994b6 : SUCCESS in 46m 24s\n- check-tempest-dsvm-neutron-heat-slow http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-neutron-heat-slow/aa8b933 : SUCCESS in 23m 59s\n- gate-python-swiftclient-python33 http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-python33/dee6fa0 : FAILURE in 3m 14s (non-voting)\n- gate-python-swiftclient-pypy http://logs.openstack.org/61/76461/3/check/gate-python-swiftclient-pypy/894ceba : SUCCESS in 1m 29s (non-voting)\n- check-swift-dsvm-functional http://logs.openstack.org/61/76461/3/check/check-swift-dsvm-functional/174d6f0 : SUCCESS in 14m 33s\n- check-tempest-dsvm-postgres-full http://logs.openstack.org/61/76461/3/check/check-tempest-dsvm-postgres-full/ab2885f : SUCCESS in 46m 29s\n- gate-tempest-dsvm-large-ops http://logs.openstack.org/61/76461/3/check/gate-tempest-dsvm-large-ops/feb4ca0 : SUCCESS in 15m 28s\n- gate-tempest-dsvm-neutron-large-ops http://logs.openstack.org/61/76461/3/check/gate-tempest-dsvm-neutron-large-ops/e3dee7c : SUCCESS in 22m 51s\n\n","accounts_in_message":[],"_revision_number":3},{"id":"4587bd172ec80c37a19f4955cbcfda6d62eb945e","author":{"_account_id":330,"name":"John Dickinson","email":"me@not.mn","username":"notmyname"},"date":"2014-03-26 15:27:07.000000000","message":"Patch Set 3: Do not merge\n\nI agree with Zaitcev. This is code churn that\u0027s not needed. Let\u0027s not spend our time here.","accounts_in_message":[],"_revision_number":3},{"id":"11cac0159e2abcbf2905717874d7532874874a30","author":{"_account_id":597,"name":"Pete Zaitcev","email":"zaitcev@kotori.zaitcev.us","username":"zaitcev"},"date":"2014-03-26 16:39:21.000000000","message":"Patch Set 3:\n\nRoot of the problem is the split between unittest and testtools: they mandate arguments in opposite order (see my communications with the developers of testtools). If we go back to unittest, then current code is correct.","accounts_in_message":[],"_revision_number":3},{"id":"bb111a83eaa560484693898db8d4049abb6defab","author":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"date":"2014-03-26 23:44:41.000000000","message":"Patch Set 3: Abandoned","accounts_in_message":[],"_revision_number":3}],"current_revision_number":3,"current_revision":"2fd5f17b978b5a3eb8384e1076a0cab1e97d2add","revisions":{"3745d4e3d4c2515438367b301678f3c02315e70d":{"kind":"REWORK","_number":1,"created":"2014-02-26 08:15:09.000000000","uploader":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"ref":"refs/changes/61/76461/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/61/76461/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/1"}}},"commit":{"parents":[{"commit":"f4e057923c8b880b3d25486a72830d938085cd64","subject":"Merge \"Remove useless statement\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/f4e057923c8b880b3d25486a72830d938085cd64"}]}],"author":{"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","date":"2014-02-26 08:13:20.000000000","tz":540},"committer":{"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","date":"2014-02-26 08:14:30.000000000","tz":540},"subject":"Fix the parameter order of assertEqual in swiftclient test","message":"Fix the parameter order of assertEqual in swiftclient test\n\nOn assertEqual, the order of parameters should be (expected, observed).\nBut, some part of swiftclient test were written with invalid order.\nThis patch fixes this problem.\n\nChange-Id: I82b48b232b54bf88034dc40fedf27fc276c62ec3\nPartially-bug: #1277104\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/3745d4e3d4c2515438367b301678f3c02315e70d"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/3745d4e3d4c2515438367b301678f3c02315e70d"}]},"branch":"refs/heads/master"},"a4cc6a5a998f9563a1c552fb9f699909dfeb626e":{"kind":"REWORK","_number":2,"created":"2014-02-27 05:12:34.000000000","uploader":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"ref":"refs/changes/61/76461/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/61/76461/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/2"}}},"commit":{"parents":[{"commit":"f4e057923c8b880b3d25486a72830d938085cd64","subject":"Merge \"Remove useless statement\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/f4e057923c8b880b3d25486a72830d938085cd64"}]}],"author":{"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","date":"2014-02-26 08:13:20.000000000","tz":540},"committer":{"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","date":"2014-02-27 05:11:32.000000000","tz":540},"subject":"Fix the parameter order of assertEqual in swiftclient test","message":"Fix the parameter order of assertEqual in swiftclient test\n\nOn assertEqual, the order of parameters should be (expected, observed).\nBut, some part of swiftclient test were written with invalid order.\nThis patch fixes this problem.\n\nChange-Id: I82b48b232b54bf88034dc40fedf27fc276c62ec3\nPartially-bug: #1277104\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/a4cc6a5a998f9563a1c552fb9f699909dfeb626e"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/a4cc6a5a998f9563a1c552fb9f699909dfeb626e"}]},"branch":"refs/heads/master"},"2fd5f17b978b5a3eb8384e1076a0cab1e97d2add":{"kind":"REWORK","_number":3,"created":"2014-02-27 06:57:13.000000000","uploader":{"_account_id":9533,"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","username":"EiichiAikawa"},"ref":"refs/changes/61/76461/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/python-swiftclient","ref":"refs/changes/61/76461/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/python-swiftclient refs/changes/61/76461/3"}}},"commit":{"parents":[{"commit":"f4e057923c8b880b3d25486a72830d938085cd64","subject":"Merge \"Remove useless statement\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/f4e057923c8b880b3d25486a72830d938085cd64"}]}],"author":{"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","date":"2014-02-26 08:13:20.000000000","tz":540},"committer":{"name":"Eiichi Aikawa","email":"aikawa@mxk.nes.nec.co.jp","date":"2014-02-27 06:56:20.000000000","tz":540},"subject":"Fix the parameter order of assertEqual in swiftclient test","message":"Fix the parameter order of assertEqual in swiftclient test\n\nOn assertEqual, the order of parameters should be (expected, observed).\nBut, some part of swiftclient test were written with invalid order.\nThis patch fixes this problem.\n\nChange-Id: I82b48b232b54bf88034dc40fedf27fc276c62ec3\nPartially-bug: #1277104\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/2fd5f17b978b5a3eb8384e1076a0cab1e97d2add"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/python-swiftclient/commit/2fd5f17b978b5a3eb8384e1076a0cab1e97d2add"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[],"submit_requirements":[]}
