)]}'
{"test/unit/cli/test_ringbuilder.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e6a061f1c54064bcbe950a8fa9798b581d45133d","unresolved":false,"context_lines":[{"line_number":1902,"context_line":"            with mock.patch(\"sys.stderr\", mock_stderr):"},{"line_number":1903,"context_line":"                self.assertSystemExit(EXIT_ERROR, ringbuilder.main, argv)"},{"line_number":1904,"context_line":""},{"line_number":1905,"context_line":"        ring_invalid_re \u003d re.compile(\"all devices have been deleted\")"},{"line_number":1906,"context_line":"        self.assertTrue(ring_invalid_re.findall(mock_stdout.getvalue()))"},{"line_number":1907,"context_line":""},{"line_number":1908,"context_line":"    def test_pretend_min_part_hours_passed(self):"},{"line_number":1909,"context_line":"        self.run_srb(\"create\", 8, 3, 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f91af0f_55f3289f","line":1906,"range":{"start_line":1905,"start_character":8,"end_line":1906,"end_character":72},"updated":"2018-01-02 10:23:07.000000000","message":"I commented on this in the related change - seems like assertIn does the job and gives a more useful failure message.","commit_id":"9181935b95640ecd5ef18eaad5cb34a022c1aca2"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"e6a061f1c54064bcbe950a8fa9798b581d45133d","unresolved":false,"context_lines":[{"line_number":1897,"context_line":"                with mock.patch(\"sys.stderr\", mock_stderr):"},{"line_number":1898,"context_line":"                    self.assertSystemExit(EXIT_SUCCESS, ringbuilder.main, argv)"},{"line_number":1899,"context_line":"        # default ring file without exception"},{"line_number":1900,"context_line":"        mock_stdout \u003d six.StringIO()"},{"line_number":1901,"context_line":"        mock_stderr \u003d six.StringIO()"},{"line_number":1902,"context_line":"        argv \u003d [\"\", self.tmpfile, \"default\"]"},{"line_number":1903,"context_line":"        with mock.patch(\"sys.stdout\", mock_stdout):"},{"line_number":1904,"context_line":"            with mock.patch(\"sys.stderr\", mock_stderr):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_152b60eb","line":1901,"range":{"start_line":1900,"start_character":8,"end_line":1901,"end_character":36},"updated":"2018-01-02 10:23:07.000000000","message":"reset the mocks so there is no chance of the output from the dev removes matching the follwing pattern assertions","commit_id":"9189f51d7601254181b2458f8c3e64c74d6dfad0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e8bb0db26b6701b2f88d9ac5cf63fc92fde13e1c","unresolved":false,"context_lines":[{"line_number":1897,"context_line":"                with mock.patch(\"sys.stderr\", mock_stderr):"},{"line_number":1898,"context_line":"                    self.assertSystemExit(EXIT_SUCCESS, ringbuilder.main, argv)"},{"line_number":1899,"context_line":"        # default ring file without exception"},{"line_number":1900,"context_line":"        mock_stdout \u003d six.StringIO()"},{"line_number":1901,"context_line":"        mock_stderr \u003d six.StringIO()"},{"line_number":1902,"context_line":"        argv \u003d [\"\", self.tmpfile, \"default\"]"},{"line_number":1903,"context_line":"        with mock.patch(\"sys.stdout\", mock_stdout):"},{"line_number":1904,"context_line":"            with mock.patch(\"sys.stderr\", mock_stderr):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9f91af0f_89cc348a","line":1901,"range":{"start_line":1900,"start_character":8,"end_line":1901,"end_character":36},"in_reply_to":"9f91af0f_152b60eb","updated":"2018-01-02 19:42:47.000000000","message":"off-topic: Why are we patching out stderr but not making any assertions on it? Shouldn\u0027t we trust the test-runner to do the right thing?","commit_id":"9189f51d7601254181b2458f8c3e64c74d6dfad0"}]}
