)]}'
{"tempest/cmd/run.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"91abb7484308f6540ac30c2f23a650a183c1ffe5","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        if parsed_args.workspace:"},{"line_number":110,"context_line":"            workspace_mgr \u003d workspace.WorkspaceManager("},{"line_number":111,"context_line":"                parsed_args.workspace_path)"},{"line_number":112,"context_line":"            path \u003d workspace_mgr.get_workspace(parsed_args.workspace)"},{"line_number":113,"context_line":"            os.chdir(path)"},{"line_number":114,"context_line":"            # NOTE(mtreinish): tempest init should create a .testrepository dir"},{"line_number":115,"context_line":"            # but since workspaces can be imported let\u0027s sanity check and"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_6d440a1b","line":112,"range":{"start_line":112,"start_character":0,"end_line":112,"end_character":69},"updated":"2016-06-15 21:06:28.000000000","message":"I\u0027m not sure about this.\n\nThe workspace manager will create a workspace storage file on the fly it the specified one does not exists, so workspace_mgr will always be defined, even if I provide an invalid storage file. \n\nHowever if the name is not defined, the workspace will not be created on the fly (which I think is ok), and None will be returned by get_workspace.\nSo this will fail with:\n\n\u003e\u003e\u003e os.chdir(None)\nTraceback (most recent call last):\n  File \"\u003cstdin\u003e\", line 1, in \u003cmodule\u003e\nTypeError: coercing to Unicode: need string or buffer, NoneType found\n\nAnd I would catch the case of path is None, and return an error message to the user. \n\nPersonally I think the correct behaviour should be to not create a file on the fly when running via the run command, but that\u0027s not something I would -1 on.","commit_id":"78d701f22e5cf14ba662f8e5036cbfaf3c46d9dc"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"50aeaea5eea259b894c9ad6c9b5dc9407bcad4e4","unresolved":false,"context_lines":[{"line_number":109,"context_line":"        if parsed_args.workspace:"},{"line_number":110,"context_line":"            workspace_mgr \u003d workspace.WorkspaceManager("},{"line_number":111,"context_line":"                parsed_args.workspace_path)"},{"line_number":112,"context_line":"            path \u003d workspace_mgr.get_workspace(parsed_args.workspace)"},{"line_number":113,"context_line":"            os.chdir(path)"},{"line_number":114,"context_line":"            # NOTE(mtreinish): tempest init should create a .testrepository dir"},{"line_number":115,"context_line":"            # but since workspaces can be imported let\u0027s sanity check and"}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_ad07121c","line":112,"range":{"start_line":112,"start_character":0,"end_line":112,"end_character":69},"in_reply_to":"7aa08908_6d440a1b","updated":"2016-06-15 21:31:38.000000000","message":"Done","commit_id":"78d701f22e5cf14ba662f8e5036cbfaf3c46d9dc"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"9ed116babdf0f12ea30654bf7187ea2e903d54f2","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            # NOTE(mtreinish): tempest init should create a .testrepository dir"},{"line_number":121,"context_line":"            # but since workspaces can be imported let\u0027s sanity check and"},{"line_number":122,"context_line":"            # ensure that one is created"},{"line_number":123,"context_line":"            self._create_testrepository()        # Local execution mode"},{"line_number":124,"context_line":"        elif os.path.isfile(\u0027.testr.conf\u0027):"},{"line_number":125,"context_line":"            # If you\u0027re running in local execution mode and there is not a"},{"line_number":126,"context_line":"            # testrepository dir create one"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_fe59fbfd","line":123,"range":{"start_line":123,"start_character":49,"end_line":123,"end_character":71},"updated":"2016-06-27 08:16:32.000000000","message":"This comment was on a new line in PS4, and I think it should be there","commit_id":"08d0da223589625c660dc316c499a35ee68e1032"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"0b1d8a96daa4d48d4b205e69f20eea63d9362c57","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            # NOTE(mtreinish): tempest init should create a .testrepository dir"},{"line_number":121,"context_line":"            # but since workspaces can be imported let\u0027s sanity check and"},{"line_number":122,"context_line":"            # ensure that one is created"},{"line_number":123,"context_line":"            self._create_testrepository()        # Local execution mode"},{"line_number":124,"context_line":"        elif os.path.isfile(\u0027.testr.conf\u0027):"},{"line_number":125,"context_line":"            # If you\u0027re running in local execution mode and there is not a"},{"line_number":126,"context_line":"            # testrepository dir create one"}],"source_content_type":"text/x-python","patch_set":5,"id":"3aaa91ec_6bfac844","line":123,"range":{"start_line":123,"start_character":49,"end_line":123,"end_character":71},"in_reply_to":"3aaa91ec_fe59fbfd","updated":"2016-06-29 19:45:05.000000000","message":"Done","commit_id":"08d0da223589625c660dc316c499a35ee68e1032"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f6140224dbc14ec4f51fb979a8b3d0bb70f0dd41","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        elif os.path.isfile(\u0027.testr.conf\u0027):"},{"line_number":126,"context_line":"            # If you\u0027re running in local execution mode and there is not a"},{"line_number":127,"context_line":"            # testrepository dir create one"},{"line_number":128,"context_line":"            self._create_testrepository()"},{"line_number":129,"context_line":"        else:"},{"line_number":130,"context_line":"            print(\"No .testr.conf file was found for local execution\")"},{"line_number":131,"context_line":"            sys.exit(2)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3aaa91ec_835b5b85","line":128,"range":{"start_line":128,"start_character":12,"end_line":128,"end_character":41},"updated":"2016-06-30 21:00:43.000000000","message":"nit: line 123 and 128 can be merged into a single call at line 132, because it is called anyways if succeeding.","commit_id":"c89a951ba7e8c4f5ed98099b669d54c7131cb77b"}]}
