)]}'
{".stestr.conf":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"f251c45ce19ac25bef6759a7edfc5eb4ee0fb79b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"test_path\u003d${TESTS_DIR:-./virtualbmc/tests/unit/}"},{"line_number":3,"context_line":"top_dir\u003d./"}],"source_content_type":"text/plain","patch_set":4,"id":"5f7c97a3_29ad7983","line":1,"updated":"2018-06-11 10:01:37.000000000","message":"Should we drop .testr.conf?","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"a01685717ee9a7283c0546ac5569425271f0bd63","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT]"},{"line_number":2,"context_line":"test_path\u003d${TESTS_DIR:-./virtualbmc/tests/unit/}"},{"line_number":3,"context_line":"top_dir\u003d./"}],"source_content_type":"text/plain","patch_set":4,"id":"5f7c97a3_c16483b5","line":1,"in_reply_to":"5f7c97a3_29ad7983","updated":"2018-06-14 12:49:40.000000000","message":"Done","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"}],"test-requirements.txt":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"66a12fe1cfbe1052e829f58d66902e8fe5aa1319","unresolved":false,"context_lines":[{"line_number":7,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":8,"context_line":"doc8\u003e\u003d0.6.0 # Apache-2.0"},{"line_number":9,"context_line":"python-subunit\u003e\u003d1.0.0 # Apache-2.0/BSD"},{"line_number":10,"context_line":"sphinx!\u003d1.6.6,!\u003d1.6.7,\u003e\u003d1.6.5 # BSD"},{"line_number":11,"context_line":"openstackdocstheme\u003e\u003d1.18.1 # Apache-2.0"},{"line_number":12,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":13,"context_line":"testrepository\u003e\u003d0.0.18 # Apache-2.0/BSD"}],"source_content_type":"text/plain","patch_set":3,"id":"5f7c97a3_5867d8eb","line":10,"updated":"2018-06-05 14:12:41.000000000","message":"Why is this changed?","commit_id":"69f8af5effaae3948a1088480ee66d540fa828d8"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"a01685717ee9a7283c0546ac5569425271f0bd63","unresolved":false,"context_lines":[{"line_number":7,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":8,"context_line":"doc8\u003e\u003d0.6.0 # Apache-2.0"},{"line_number":9,"context_line":"python-subunit\u003e\u003d1.0.0 # Apache-2.0/BSD"},{"line_number":10,"context_line":"sphinx!\u003d1.6.6,!\u003d1.6.7,\u003e\u003d1.6.5 # BSD"},{"line_number":11,"context_line":"openstackdocstheme\u003e\u003d1.18.1 # Apache-2.0"},{"line_number":12,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":13,"context_line":"testrepository\u003e\u003d0.0.18 # Apache-2.0/BSD"}],"source_content_type":"text/plain","patch_set":3,"id":"5f7c97a3_ec484b5d","line":10,"in_reply_to":"5f7c97a3_5867d8eb","updated":"2018-06-14 12:49:40.000000000","message":"It was changed because requirements gate was failing.","commit_id":"69f8af5effaae3948a1088480ee66d540fa828d8"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"f251c45ce19ac25bef6759a7edfc5eb4ee0fb79b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":8,"context_line":"doc8\u003e\u003d0.6.0 # Apache-2.0"},{"line_number":9,"context_line":"python-subunit\u003e\u003d1.0.0 # Apache-2.0/BSD"},{"line_number":10,"context_line":"sphinx!\u003d1.6.6,!\u003d1.6.7,\u003e\u003d1.6.5 # BSD"},{"line_number":11,"context_line":"openstackdocstheme\u003e\u003d1.18.1 # Apache-2.0"},{"line_number":12,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":13,"context_line":"testrepository\u003e\u003d0.0.18 # Apache-2.0/BSD"}],"source_content_type":"text/plain","patch_set":4,"id":"5f7c97a3_89e12dd3","line":10,"updated":"2018-06-11 10:01:37.000000000","message":"Is this change related to the stestr migration?","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"a01685717ee9a7283c0546ac5569425271f0bd63","unresolved":false,"context_lines":[{"line_number":7,"context_line":"coverage!\u003d4.4,\u003e\u003d4.0 # Apache-2.0"},{"line_number":8,"context_line":"doc8\u003e\u003d0.6.0 # Apache-2.0"},{"line_number":9,"context_line":"python-subunit\u003e\u003d1.0.0 # Apache-2.0/BSD"},{"line_number":10,"context_line":"sphinx!\u003d1.6.6,!\u003d1.6.7,\u003e\u003d1.6.5 # BSD"},{"line_number":11,"context_line":"openstackdocstheme\u003e\u003d1.18.1 # Apache-2.0"},{"line_number":12,"context_line":"oslotest\u003e\u003d3.2.0 # Apache-2.0"},{"line_number":13,"context_line":"testrepository\u003e\u003d0.0.18 # Apache-2.0/BSD"}],"source_content_type":"text/plain","patch_set":4,"id":"5f7c97a3_210bf7d4","line":10,"in_reply_to":"5f7c97a3_89e12dd3","updated":"2018-06-14 12:49:40.000000000","message":"Yes the requirements gate was failing because the sphinx requirements was different.","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"}],"tox.ini":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"66a12fe1cfbe1052e829f58d66902e8fe5aa1319","unresolved":false,"context_lines":[{"line_number":7,"context_line":"usedevelop \u003d True"},{"line_number":8,"context_line":"whitelist_externals \u003d "},{"line_number":9,"context_line":"  find"},{"line_number":10,"context_line":"  bash"},{"line_number":11,"context_line":"setenv \u003d VIRTUAL_ENV\u003d{envdir}"},{"line_number":12,"context_line":"         PYTHONDONTWRITEBYTECODE \u003d 1"},{"line_number":13,"context_line":"         LANGUAGE\u003den_US"}],"source_content_type":"text/x-properties","patch_set":3,"id":"5f7c97a3_986d70ce","line":10,"updated":"2018-06-05 14:12:41.000000000","message":"Why do we need these?","commit_id":"69f8af5effaae3948a1088480ee66d540fa828d8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"66a12fe1cfbe1052e829f58d66902e8fe5aa1319","unresolved":false,"context_lines":[{"line_number":34,"context_line":"[testenv:cover]"},{"line_number":35,"context_line":"setenv \u003d {[testenv]setenv}"},{"line_number":36,"context_line":"         PYTHON\u003dcoverage run --source virutalbmc --parallel-mode"},{"line_number":37,"context_line":"commands \u003d "},{"line_number":38,"context_line":"  stestr run {posargs}"},{"line_number":39,"context_line":"  coverage combine"},{"line_number":40,"context_line":"  coverage html -d cover"}],"source_content_type":"text/x-properties","patch_set":3,"id":"5f7c97a3_b872acac","line":37,"updated":"2018-06-05 14:12:41.000000000","message":"nit: trailing space","commit_id":"69f8af5effaae3948a1088480ee66d540fa828d8"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"f251c45ce19ac25bef6759a7edfc5eb4ee0fb79b","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[testenv:cover]"},{"line_number":32,"context_line":"setenv \u003d {[testenv]setenv}"},{"line_number":33,"context_line":"         PYTHON\u003dcoverage run --source virutalbmc --parallel-mode"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  stestr run {posargs}"},{"line_number":36,"context_line":"  coverage combine"}],"source_content_type":"text/x-properties","patch_set":4,"id":"5f7c97a3_a9ee69b2","line":33,"range":{"start_line":33,"start_character":38,"end_line":33,"end_character":48},"updated":"2018-06-11 10:01:37.000000000","message":"typo?","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"9a4f2a51ea9aecbb0aecd5b0d262290016e98cae","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[testenv:cover]"},{"line_number":32,"context_line":"setenv \u003d {[testenv]setenv}"},{"line_number":33,"context_line":"         PYTHON\u003dcoverage run --source virutalbmc --parallel-mode"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  stestr run {posargs}"},{"line_number":36,"context_line":"  coverage combine"}],"source_content_type":"text/x-properties","patch_set":4,"id":"5f7c97a3_01ccbb5e","line":33,"range":{"start_line":33,"start_character":38,"end_line":33,"end_character":48},"in_reply_to":"5f7c97a3_01e27b01","updated":"2018-06-14 12:59:49.000000000","message":"Whoops good catch","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"ca266a22f3a701335229364a0ff0acfeb3e8dcad","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[testenv:cover]"},{"line_number":32,"context_line":"setenv \u003d {[testenv]setenv}"},{"line_number":33,"context_line":"         PYTHON\u003dcoverage run --source virutalbmc --parallel-mode"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  stestr run {posargs}"},{"line_number":36,"context_line":"  coverage combine"}],"source_content_type":"text/x-properties","patch_set":4,"id":"5f7c97a3_01e27b01","line":33,"range":{"start_line":33,"start_character":38,"end_line":33,"end_character":48},"in_reply_to":"5f7c97a3_a1fe27ac","updated":"2018-06-14 12:56:47.000000000","message":"\u0027virutal\u0027 -\u003e \u0027virtual\u0027 I believe","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"a01685717ee9a7283c0546ac5569425271f0bd63","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"[testenv:cover]"},{"line_number":32,"context_line":"setenv \u003d {[testenv]setenv}"},{"line_number":33,"context_line":"         PYTHON\u003dcoverage run --source virutalbmc --parallel-mode"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  stestr run {posargs}"},{"line_number":36,"context_line":"  coverage combine"}],"source_content_type":"text/x-properties","patch_set":4,"id":"5f7c97a3_a1fe27ac","line":33,"range":{"start_line":33,"start_character":38,"end_line":33,"end_character":48},"in_reply_to":"5f7c97a3_a9ee69b2","updated":"2018-06-14 12:49:40.000000000","message":"no","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"f251c45ce19ac25bef6759a7edfc5eb4ee0fb79b","unresolved":false,"context_lines":[{"line_number":33,"context_line":"         PYTHON\u003dcoverage run --source virutalbmc --parallel-mode"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  stestr run {posargs}"},{"line_number":36,"context_line":"  coverage combine"},{"line_number":37,"context_line":"  coverage html -d cover"},{"line_number":38,"context_line":"  coverage xml -o cover/coverage.xml"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-properties","patch_set":4,"id":"5f7c97a3_a91c29c2","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":10},"updated":"2018-06-11 10:01:37.000000000","message":"Do we exclude the tests from coverage? Perhaps via a command-line option or .coveragerc file?","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"a01685717ee9a7283c0546ac5569425271f0bd63","unresolved":false,"context_lines":[{"line_number":33,"context_line":"         PYTHON\u003dcoverage run --source virutalbmc --parallel-mode"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  stestr run {posargs}"},{"line_number":36,"context_line":"  coverage combine"},{"line_number":37,"context_line":"  coverage html -d cover"},{"line_number":38,"context_line":"  coverage xml -o cover/coverage.xml"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-properties","patch_set":4,"id":"5f7c97a3_c1f9e3c4","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":10},"in_reply_to":"5f7c97a3_a91c29c2","updated":"2018-06-14 12:49:40.000000000","message":"Not that i see.","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"ca266a22f3a701335229364a0ff0acfeb3e8dcad","unresolved":false,"context_lines":[{"line_number":33,"context_line":"         PYTHON\u003dcoverage run --source virutalbmc --parallel-mode"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  stestr run {posargs}"},{"line_number":36,"context_line":"  coverage combine"},{"line_number":37,"context_line":"  coverage html -d cover"},{"line_number":38,"context_line":"  coverage xml -o cover/coverage.xml"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-properties","patch_set":4,"id":"5f7c97a3_e1941f46","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":10},"in_reply_to":"5f7c97a3_c1f9e3c4","updated":"2018-06-14 12:56:47.000000000","message":"Should we exclude the tests from coverage then?\n\nTo my understanding, it does not make much sense to compute coverage over the tests because we typically do not have tests covering the tests. Therefore tests coverage tends to be zero. Being averaged over the whole codebase, zero tests coverage effectifely downs the coverage stats for the project.","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"},{"author":{"_account_id":24,"name":"Chuck Short","email":"charles.short@windriver.com","username":"zulcss"},"change_message_id":"9a4f2a51ea9aecbb0aecd5b0d262290016e98cae","unresolved":false,"context_lines":[{"line_number":33,"context_line":"         PYTHON\u003dcoverage run --source virutalbmc --parallel-mode"},{"line_number":34,"context_line":"commands \u003d"},{"line_number":35,"context_line":"  stestr run {posargs}"},{"line_number":36,"context_line":"  coverage combine"},{"line_number":37,"context_line":"  coverage html -d cover"},{"line_number":38,"context_line":"  coverage xml -o cover/coverage.xml"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-properties","patch_set":4,"id":"5f7c97a3_c1d1e3f9","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":10},"in_reply_to":"5f7c97a3_e1941f46","updated":"2018-06-14 12:59:49.000000000","message":"Done","commit_id":"587479deec3b7eb60f8b99d9456206e5210891e2"}]}
