)]}'
{"novaclient/tests/unit/v2/test_shell.py":[{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"e446e404be19d2689a48a164ff5d0cf0790eb69b","unresolved":false,"context_lines":[{"line_number":2519,"context_line":"                                 novaclient.API_MAX_VERSION.ver_minor + 1))"},{"line_number":2520,"context_line":""},{"line_number":2521,"context_line":"        versions_covered \u003d set()"},{"line_number":2522,"context_line":"        for key, values in api_versions._SUBSTITUTIONS.iteritems():"},{"line_number":2523,"context_line":"            for value in values:"},{"line_number":2524,"context_line":"                if value.start_version.ver_major \u003d\u003d 2:"},{"line_number":2525,"context_line":"                    versions_covered |\u003d set([value.start_version.ver_minor])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_f9af2f7b","line":2522,"updated":"2015-10-02 18:48:04.000000000","message":"Python 3 compatibility: use items() instead.","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"99cb8396487b0baaa78f11f1839530f778b5f013","unresolved":false,"context_lines":[{"line_number":2519,"context_line":"                                 novaclient.API_MAX_VERSION.ver_minor + 1))"},{"line_number":2520,"context_line":""},{"line_number":2521,"context_line":"        versions_covered \u003d set()"},{"line_number":2522,"context_line":"        for key, values in api_versions._SUBSTITUTIONS.iteritems():"},{"line_number":2523,"context_line":"            for value in values:"},{"line_number":2524,"context_line":"                if value.start_version.ver_major \u003d\u003d 2:"},{"line_number":2525,"context_line":"                    versions_covered |\u003d set([value.start_version.ver_minor])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_0b264868","line":2522,"in_reply_to":"9a1a9d01_f9af2f7b","updated":"2015-10-02 20:07:07.000000000","message":"Will do.","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"e446e404be19d2689a48a164ff5d0cf0790eb69b","unresolved":false,"context_lines":[{"line_number":2522,"context_line":"        for key, values in api_versions._SUBSTITUTIONS.iteritems():"},{"line_number":2523,"context_line":"            for value in values:"},{"line_number":2524,"context_line":"                if value.start_version.ver_major \u003d\u003d 2:"},{"line_number":2525,"context_line":"                    versions_covered |\u003d set([value.start_version.ver_minor])"},{"line_number":2526,"context_line":""},{"line_number":2527,"context_line":"        versions_not_covered \u003d versions_supported - versions_covered"},{"line_number":2528,"context_line":"        unaccounted_for \u003d versions_not_covered - exclusions"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_391287b5","line":2525,"updated":"2015-10-02 18:48:04.000000000","message":"Yes, this works, but is there a need to create the set in order to add it to the \u0027versions_covered\u0027 set? I think that\n\n    versions_covered.add(value.start_version.ver_minor)\n\nwould be much more readable.","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"99cb8396487b0baaa78f11f1839530f778b5f013","unresolved":false,"context_lines":[{"line_number":2522,"context_line":"        for key, values in api_versions._SUBSTITUTIONS.iteritems():"},{"line_number":2523,"context_line":"            for value in values:"},{"line_number":2524,"context_line":"                if value.start_version.ver_major \u003d\u003d 2:"},{"line_number":2525,"context_line":"                    versions_covered |\u003d set([value.start_version.ver_minor])"},{"line_number":2526,"context_line":""},{"line_number":2527,"context_line":"        versions_not_covered \u003d versions_supported - versions_covered"},{"line_number":2528,"context_line":"        unaccounted_for \u003d versions_not_covered - exclusions"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_2b29cc37","line":2525,"in_reply_to":"9a1a9d01_391287b5","updated":"2015-10-02 20:07:07.000000000","message":"Sure.","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"35cc2895b62cfce09c5d66cdfb57900fe4f5915d","unresolved":false,"context_lines":[{"line_number":2529,"context_line":""},{"line_number":2530,"context_line":"        failure_msg \u003d (\u0027Minor versions %s have been skipped.  Please do not \u0027"},{"line_number":2531,"context_line":"                       \u0027raise API_MAX_VERSION without adding support or \u0027"},{"line_number":2532,"context_line":"                       \u0027excluding them.\u0027 % unaccounted_for)"},{"line_number":2533,"context_line":"        self.assertEqual(set([]), unaccounted_for, failure_msg)"},{"line_number":2534,"context_line":""},{"line_number":2535,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_f90baf7b","line":2532,"updated":"2015-10-02 18:45:27.000000000","message":"femtonit: may I suggest sorting unaccounted_for?","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"99cb8396487b0baaa78f11f1839530f778b5f013","unresolved":false,"context_lines":[{"line_number":2529,"context_line":""},{"line_number":2530,"context_line":"        failure_msg \u003d (\u0027Minor versions %s have been skipped.  Please do not \u0027"},{"line_number":2531,"context_line":"                       \u0027raise API_MAX_VERSION without adding support or \u0027"},{"line_number":2532,"context_line":"                       \u0027excluding them.\u0027 % unaccounted_for)"},{"line_number":2533,"context_line":"        self.assertEqual(set([]), unaccounted_for, failure_msg)"},{"line_number":2534,"context_line":""},{"line_number":2535,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_cb20504c","line":2532,"in_reply_to":"9a1a9d01_f90baf7b","updated":"2015-10-02 20:07:07.000000000","message":"Can do.","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"e446e404be19d2689a48a164ff5d0cf0790eb69b","unresolved":false,"context_lines":[{"line_number":2530,"context_line":"        failure_msg \u003d (\u0027Minor versions %s have been skipped.  Please do not \u0027"},{"line_number":2531,"context_line":"                       \u0027raise API_MAX_VERSION without adding support or \u0027"},{"line_number":2532,"context_line":"                       \u0027excluding them.\u0027 % unaccounted_for)"},{"line_number":2533,"context_line":"        self.assertEqual(set([]), unaccounted_for, failure_msg)"},{"line_number":2534,"context_line":""},{"line_number":2535,"context_line":""},{"line_number":2536,"context_line":"class ShellTestV11(ShellTest):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_794ebfc2","line":2533,"updated":"2015-10-02 18:48:04.000000000","message":"No need to create an empty set here - just assert that \u0027unaccounted_for\u0027 is boolean False.","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"6b42faa4b30a8df4078bb7057ec4c73d9a60c79f","unresolved":false,"context_lines":[{"line_number":2530,"context_line":"        failure_msg \u003d (\u0027Minor versions %s have been skipped.  Please do not \u0027"},{"line_number":2531,"context_line":"                       \u0027raise API_MAX_VERSION without adding support or \u0027"},{"line_number":2532,"context_line":"                       \u0027excluding them.\u0027 % unaccounted_for)"},{"line_number":2533,"context_line":"        self.assertEqual(set([]), unaccounted_for, failure_msg)"},{"line_number":2534,"context_line":""},{"line_number":2535,"context_line":""},{"line_number":2536,"context_line":"class ShellTestV11(ShellTest):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_e05d26ed","line":2533,"in_reply_to":"9a1a9d01_2be0ecf9","updated":"2015-10-03 12:44:32.000000000","message":"assertFalse() will check the boolean values, and bool(set()), or even bool(set([])), evaluates to False.","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"99cb8396487b0baaa78f11f1839530f778b5f013","unresolved":false,"context_lines":[{"line_number":2530,"context_line":"        failure_msg \u003d (\u0027Minor versions %s have been skipped.  Please do not \u0027"},{"line_number":2531,"context_line":"                       \u0027raise API_MAX_VERSION without adding support or \u0027"},{"line_number":2532,"context_line":"                       \u0027excluding them.\u0027 % unaccounted_for)"},{"line_number":2533,"context_line":"        self.assertEqual(set([]), unaccounted_for, failure_msg)"},{"line_number":2534,"context_line":""},{"line_number":2535,"context_line":""},{"line_number":2536,"context_line":"class ShellTestV11(ShellTest):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_2be0ecf9","line":2533,"in_reply_to":"9a1a9d01_794ebfc2","updated":"2015-10-02 20:07:07.000000000","message":"I\u0027m not sure what you\u0027re suggesting here.  set([]) !\u003d False so I don\u0027t expect that assertFalse would work, if that\u0027s what you\u0027re saying.","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"f4e8490afe0ea3bcec83b93aa13b9304437a0eb1","unresolved":false,"context_lines":[{"line_number":2530,"context_line":"        failure_msg \u003d (\u0027Minor versions %s have been skipped.  Please do not \u0027"},{"line_number":2531,"context_line":"                       \u0027raise API_MAX_VERSION without adding support or \u0027"},{"line_number":2532,"context_line":"                       \u0027excluding them.\u0027 % unaccounted_for)"},{"line_number":2533,"context_line":"        self.assertEqual(set([]), unaccounted_for, failure_msg)"},{"line_number":2534,"context_line":""},{"line_number":2535,"context_line":""},{"line_number":2536,"context_line":"class ShellTestV11(ShellTest):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a1a9d01_d3769e3d","line":2533,"in_reply_to":"9a1a9d01_e05d26ed","updated":"2015-10-05 13:45:49.000000000","message":"Gotcha.  I hadn\u0027t considered casting to a bool.  I can make this change if I end up respinning.","commit_id":"8ec5e8ee098f39643ff9061352d0c70d7969e263"}]}
