)]}'
{"openstackclient/tests/test_shell.py":[{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d7a7635b17735e291e04739868c33ea1213bb055","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        The argv argument to initialize_app() is the remainder from parsing"},{"line_number":172,"context_line":"        global options declared in both cliff.app and"},{"line_number":173,"context_line":"        openstackclient.OpenStackShell build_option_parser().  Any global"},{"line_number":174,"context_line":"        options passed on the commad line should not be in argv but in"},{"line_number":175,"context_line":"        _shell.options."},{"line_number":176,"context_line":"        \"\"\""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_dc77fed2","line":174,"updated":"2015-06-02 04:51:23.000000000","message":"command*","commit_id":"c4c78ee52b89baad92359dfa79832f96385a648e"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"5d28615f82c49cb40a17c9a7f3f2307f81d92e1f","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            for k in default_args.keys():"},{"line_number":187,"context_line":"                self.assertEqual("},{"line_number":188,"context_line":"                    default_args[k],"},{"line_number":189,"context_line":"                    vars(_shell.options)[k],"},{"line_number":190,"context_line":"                )"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def _assert_cloud_config_arg(self, cmd_options, default_args):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_f2865ab8","line":189,"updated":"2015-06-02 11:51:38.000000000","message":"I hate table driven anything because typically it is nightmarish to debug problems.  I don\u0027t really even understand what this code is doing, but won\u0027t this assert print something cryptic like \u0027True is not equal to False\u0027?  Wouldn\u0027t this benefit a lot to use the 3rd param to assertEqual and put a message with some useful string that includes the key?","commit_id":"c4c78ee52b89baad92359dfa79832f96385a648e"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"157eb581fb44ec57e7778f25c3a38894df8a635d","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            for k in default_args.keys():"},{"line_number":187,"context_line":"                self.assertEqual("},{"line_number":188,"context_line":"                    default_args[k],"},{"line_number":189,"context_line":"                    vars(_shell.options)[k],"},{"line_number":190,"context_line":"                )"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"    def _assert_cloud_config_arg(self, cmd_options, default_args):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_bee4293b","line":189,"in_reply_to":"5afe65bd_f2865ab8","updated":"2015-06-02 13:24:07.000000000","message":"Good sugestion, I forgot about that.\n\nIn this case I think the pain of table-driven is worth the gain over replacing all that hard-coded boilerplate code.","commit_id":"c4c78ee52b89baad92359dfa79832f96385a648e"},{"author":{"_account_id":8736,"name":"Terry Howe","email":"terrylhowe@gmail.com","username":"terrylhowe"},"change_message_id":"5d28615f82c49cb40a17c9a7f3f2307f81d92e1f","unresolved":false,"context_lines":[{"line_number":209,"context_line":"            for k in default_args.keys():"},{"line_number":210,"context_line":"                self.assertEqual("},{"line_number":211,"context_line":"                    default_args[k],"},{"line_number":212,"context_line":"                    vars(opts)[k],"},{"line_number":213,"context_line":"                )"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _assert_token_auth(self, cmd_options, default_args):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_12b1f68f","line":212,"updated":"2015-06-02 11:51:38.000000000","message":"Same here.","commit_id":"c4c78ee52b89baad92359dfa79832f96385a648e"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"157eb581fb44ec57e7778f25c3a38894df8a635d","unresolved":false,"context_lines":[{"line_number":209,"context_line":"            for k in default_args.keys():"},{"line_number":210,"context_line":"                self.assertEqual("},{"line_number":211,"context_line":"                    default_args[k],"},{"line_number":212,"context_line":"                    vars(opts)[k],"},{"line_number":213,"context_line":"                )"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    def _assert_token_auth(self, cmd_options, default_args):"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_9edded16","line":212,"in_reply_to":"5afe65bd_12b1f68f","updated":"2015-06-02 13:24:07.000000000","message":"Done","commit_id":"c4c78ee52b89baad92359dfa79832f96385a648e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d7a7635b17735e291e04739868c33ea1213bb055","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            }"},{"line_number":315,"context_line":"            self._assert_initialize_app_arg(cmd, kwargs)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def _test_options_get_one(self, test_opts):"},{"line_number":318,"context_line":"        for opt in test_opts.keys():"},{"line_number":319,"context_line":"            if not test_opts[opt][1]:"},{"line_number":320,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_5c4aee84","line":317,"updated":"2015-06-02 04:51:23.000000000","message":"..._get_one_cloud()?","commit_id":"c4c78ee52b89baad92359dfa79832f96385a648e"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"157eb581fb44ec57e7778f25c3a38894df8a635d","unresolved":false,"context_lines":[{"line_number":314,"context_line":"            }"},{"line_number":315,"context_line":"            self._assert_initialize_app_arg(cmd, kwargs)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"    def _test_options_get_one(self, test_opts):"},{"line_number":318,"context_line":"        for opt in test_opts.keys():"},{"line_number":319,"context_line":"            if not test_opts[opt][1]:"},{"line_number":320,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_78948936","line":317,"in_reply_to":"5afe65bd_5c4aee84","updated":"2015-06-02 13:24:07.000000000","message":"Done","commit_id":"c4c78ee52b89baad92359dfa79832f96385a648e"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"d7a7635b17735e291e04739868c33ea1213bb055","unresolved":false,"context_lines":[{"line_number":342,"context_line":"            os.environ \u003d env.copy()"},{"line_number":343,"context_line":"            self._assert_initialize_app_arg(\"\", kwargs)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    def _test_env_get_one(self, test_opts):"},{"line_number":346,"context_line":"        for opt in test_opts.keys():"},{"line_number":347,"context_line":"            if not test_opts[opt][2]:"},{"line_number":348,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_7c7ecaaf","line":345,"updated":"2015-06-02 04:51:23.000000000","message":"..._get_one_cloud()?","commit_id":"c4c78ee52b89baad92359dfa79832f96385a648e"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"157eb581fb44ec57e7778f25c3a38894df8a635d","unresolved":false,"context_lines":[{"line_number":342,"context_line":"            os.environ \u003d env.copy()"},{"line_number":343,"context_line":"            self._assert_initialize_app_arg(\"\", kwargs)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    def _test_env_get_one(self, test_opts):"},{"line_number":346,"context_line":"        for opt in test_opts.keys():"},{"line_number":347,"context_line":"            if not test_opts[opt][2]:"},{"line_number":348,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_5899cd6d","line":345,"in_reply_to":"5afe65bd_7c7ecaaf","updated":"2015-06-02 13:24:07.000000000","message":"Done","commit_id":"c4c78ee52b89baad92359dfa79832f96385a648e"}]}
