)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"ebc02979c72204e453f4af0b08fc0790007e5960","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2017-01-24 17:15:21 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"pci: Validate behavior of empty devname"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If205014db1608b31755798d525185a3cf70d8126"},{"line_number":10,"context_line":"Related-bug: #1466451"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f231b9d_0d7b22f5","line":8,"updated":"2017-06-14 17:17:12.000000000","message":"This commit message is sparse. I like the idea of adding test coverage but what is it testing? What is the current behavior?\n\nThe related bug says \"Nova compute should fail to start when specifying an empty string for devname when using physical_network or when not specifying devname,address or product_id/vendor_id.\"","commit_id":"1e239ace47ec83511910c5effe18f5c1fbe2a0c6"}],"nova/tests/unit/pci/test_devspec.py":[{"author":{"_account_id":9569,"name":"Sergey Nikitin","email":"nikitinserv@gmail.com","username":"snikitin"},"change_message_id":"dcb68d24c28f18830c1c6e159db062c63c0ab314","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        pci_info \u003d {\"devname\": \"\", \"physical_network\": \"hr_net\"}"},{"line_number":156,"context_line":"        pci \u003d devspec.PciDeviceSpec(pci_info)"},{"line_number":157,"context_line":"        for field in [\u0027domain\u0027, \u0027bus\u0027, \u0027slot\u0027, \u0027func\u0027]:"},{"line_number":158,"context_line":"            self.assertEqual(getattr(pci.address, field), \u0027*\u0027)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    @mock.patch(\u0027nova.pci.utils.get_function_by_ifname\u0027,"},{"line_number":161,"context_line":"        return_value \u003d (\"0000:0a:00.0\", True))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_55ecb3f2","line":158,"range":{"start_line":158,"start_character":29,"end_line":158,"end_character":61},"updated":"2017-01-06 12:04:46.000000000","message":"Could you swap these attrs pelase? In this case value \u0027*\u0027 will be expected value and we will got a valid error message in case of failure.\n\n self.assertEqual(\u0027*\u0027, getattr(pci.address, field))\n\nhttp://testtools.readthedocs.io/en/latest/api.html#testtools.TestCase.assertEqual","commit_id":"cc8214e6775efb6dac71a0a8a4f5ea27beb0a45d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7dbc560ae881644eebc0c53754d5b80569c5f834","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        pci_info \u003d {\"devname\": \"\", \"physical_network\": \"hr_net\"}"},{"line_number":156,"context_line":"        pci \u003d devspec.PciDeviceSpec(pci_info)"},{"line_number":157,"context_line":"        for field in [\u0027domain\u0027, \u0027bus\u0027, \u0027slot\u0027, \u0027func\u0027]:"},{"line_number":158,"context_line":"            self.assertEqual(getattr(pci.address, field), \u0027*\u0027)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    @mock.patch(\u0027nova.pci.utils.get_function_by_ifname\u0027,"},{"line_number":161,"context_line":"        return_value \u003d (\"0000:0a:00.0\", True))"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a3905b3_67a1e493","line":158,"range":{"start_line":158,"start_character":29,"end_line":158,"end_character":61},"in_reply_to":"ba5201f7_55ecb3f2","updated":"2017-01-24 13:22:55.000000000","message":"Sure thing","commit_id":"cc8214e6775efb6dac71a0a8a4f5ea27beb0a45d"}]}
