)]}'
{".testr.conf":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"3b349019d7ac0e6b02c1f07871ba6c2f25ebacd5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT] "},{"line_number":2,"context_line":"test_command\u003dOS_STDOUT_CAPTURE\u003d1 OS_STDERR_CAPTURE\u003d1 OS_TEST_TIMEOUT\u003d60 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./nova/tests} $LISTOPT $IDOPTION "},{"line_number":3,"context_line":"test_id_option\u003d--load-list $IDFILE "},{"line_number":4,"context_line":"test_list_option\u003d--list"}],"source_content_type":"text/plain","patch_set":1,"id":"fa1b9901_ca46c84e","line":2,"updated":"2015-08-19 18:06:48.000000000","message":"nit: trailing whitespace\n\nAlso why would the default be nova?\n\nShouldn\u0027t the default be:\n ironic_python_agent/tests?","commit_id":"56a672974bf13c60e8f5e4a8065ee877a5a6bc90"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"d1f6d2a85d8d62fac6198e955e9bdde28f3ce4cf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[DEFAULT] "},{"line_number":2,"context_line":"test_command\u003dOS_STDOUT_CAPTURE\u003d1 OS_STDERR_CAPTURE\u003d1 OS_TEST_TIMEOUT\u003d60 ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./nova/tests} $LISTOPT $IDOPTION "},{"line_number":3,"context_line":"test_id_option\u003d--load-list $IDFILE "},{"line_number":4,"context_line":"test_list_option\u003d--list"}],"source_content_type":"text/plain","patch_set":1,"id":"fa1b9901_ea970c46","line":2,"in_reply_to":"fa1b9901_ca46c84e","updated":"2015-08-19 18:09:14.000000000","message":"Or probably:\n ./ironic_python_agent/tests/unit\n\nOr whatever is the correct value :)","commit_id":"56a672974bf13c60e8f5e4a8065ee877a5a6bc90"}],"tox.ini":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"3b349019d7ac0e6b02c1f07871ba6c2f25ebacd5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"deps \u003d -r{toxinidir}/requirements.txt"},{"line_number":31,"context_line":"       -r{toxinidir}/test-requirements.txt"},{"line_number":32,"context_line":"commands \u003d"},{"line_number":33,"context_line":"  python setup.py testr --slowest --testr-args\u003d\u0027{posargs:}\u0027    "},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"[testenv:pep8]"},{"line_number":36,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":1,"id":"fa1b9901_ca5d6816","line":33,"updated":"2015-08-19 18:06:48.000000000","message":"nit: trailing whitespace","commit_id":"56a672974bf13c60e8f5e4a8065ee877a5a6bc90"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"1fc3793be61c770ea054f941495ed36f93b84522","unresolved":false,"context_lines":[{"line_number":23,"context_line":"[testenv:functional]"},{"line_number":24,"context_line":"usedevelop \u003d True"},{"line_number":25,"context_line":"install_command \u003d pip install -U --force-reinstall {opts} {packages}"},{"line_number":26,"context_line":"setenv \u003d "},{"line_number":27,"context_line":"  VIRTUAL_ENV\u003d{envdir}"},{"line_number":28,"context_line":"  OS_TEST_PATH\u003d./ironic_python_agent/tests/functional"},{"line_number":29,"context_line":"  LANGUAGE\u003den_US"}],"source_content_type":"text/x-properties","patch_set":3,"id":"fa1b9901_aa7fd4a9","line":26,"updated":"2015-08-19 18:19:09.000000000","message":"nit: trailing whitespace","commit_id":"48e4164c7ca423c4dc4d2de529b58291b2ebd2b9"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"1fc3793be61c770ea054f941495ed36f93b84522","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  LANGUAGE\u003den_US"},{"line_number":30,"context_line":"  TEST_PORT\u003d9999"},{"line_number":31,"context_line":"  IPA_WAIT_TIME\u003d5"},{"line_number":32,"context_line":"deps \u003d "},{"line_number":33,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":34,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":35,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":3,"id":"fa1b9901_6a4c5c9e","line":32,"updated":"2015-08-19 18:19:09.000000000","message":"nit: trailing whitespace","commit_id":"48e4164c7ca423c4dc4d2de529b58291b2ebd2b9"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"d4fa1278a1551e61c7169ea9ea64c1b74ecc5e49","unresolved":false,"context_lines":[{"line_number":20,"context_line":"[tox:jenkins]"},{"line_number":21,"context_line":"downloadcache \u003d ~/cache/pip"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[testenv:functional]"},{"line_number":24,"context_line":"usedevelop \u003d True"},{"line_number":25,"context_line":"install_command \u003d pip install -U --force-reinstall {opts} {packages}"},{"line_number":26,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":4,"id":"fa1b9901_05fcb1b6","line":23,"updated":"2015-08-19 18:28:25.000000000","message":"I wonder if there should be \u0027func27\u0027 \u0027func34\u0027?\n\nThoughts?","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"2e2ff45d0719a1cd50e2735fed88131debd31c29","unresolved":false,"context_lines":[{"line_number":20,"context_line":"[tox:jenkins]"},{"line_number":21,"context_line":"downloadcache \u003d ~/cache/pip"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[testenv:functional]"},{"line_number":24,"context_line":"usedevelop \u003d True"},{"line_number":25,"context_line":"install_command \u003d pip install -U --force-reinstall {opts} {packages}"},{"line_number":26,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":4,"id":"fa1b9901_e572dd10","line":23,"in_reply_to":"fa1b9901_05fcb1b6","updated":"2015-08-19 18:35:12.000000000","message":"(copying from IRC)\n\ni think unittesting in py34 and py27 should cover \"does this\ncode run under either\". functional is \"when i call the api, does this side effect happen\nand i get a proper api response\"..if different versions of python break that, we\u0027ve\nfailed our unittesting (IMO)","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"5ad4aabe1b97f6391b8b68b4a145cbacba6d70d6","unresolved":false,"context_lines":[{"line_number":20,"context_line":"[tox:jenkins]"},{"line_number":21,"context_line":"downloadcache \u003d ~/cache/pip"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[testenv:functional]"},{"line_number":24,"context_line":"usedevelop \u003d True"},{"line_number":25,"context_line":"install_command \u003d pip install -U --force-reinstall {opts} {packages}"},{"line_number":26,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":4,"id":"da20952f_a9012d08","line":23,"in_reply_to":"fa1b9901_1823b757","updated":"2015-08-28 17:23:14.000000000","message":"I went off nova, which uses \"functional\". I like func better though.","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f5022d4663000b229c5ee77318eb6058c1cf7802","unresolved":false,"context_lines":[{"line_number":20,"context_line":"[tox:jenkins]"},{"line_number":21,"context_line":"downloadcache \u003d ~/cache/pip"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[testenv:functional]"},{"line_number":24,"context_line":"usedevelop \u003d True"},{"line_number":25,"context_line":"install_command \u003d pip install -U --force-reinstall {opts} {packages}"},{"line_number":26,"context_line":"setenv \u003d"}],"source_content_type":"text/x-properties","patch_set":4,"id":"fa1b9901_1823b757","line":23,"in_reply_to":"fa1b9901_e572dd10","updated":"2015-08-19 19:59:58.000000000","message":"nit: I would prefer \"func\" and \"func3\" as it\u0027s what we use in inspector :) but tastes differ..","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"edc11fceaef960dab026a7b62f889c1c787269dc","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[testenv:functional]"},{"line_number":24,"context_line":"usedevelop \u003d True"},{"line_number":25,"context_line":"install_command \u003d pip install -U --force-reinstall {opts} {packages}"},{"line_number":26,"context_line":"setenv \u003d"},{"line_number":27,"context_line":"  VIRTUAL_ENV\u003d{envdir}"},{"line_number":28,"context_line":"  OS_TEST_PATH\u003d./ironic_python_agent/tests/functional"}],"source_content_type":"text/x-properties","patch_set":4,"id":"fa1b9901_9edfaf0c","line":25,"updated":"2015-08-19 20:56:35.000000000","message":"why do we want --force-reinstall?","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":5660,"name":"Kurt Taylor","email":"kurt.r.taylor@gmail.com","username":"krtaylor"},"change_message_id":"58ce7da14d1668056725eba2c6de830c11a5232f","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[testenv:functional]"},{"line_number":24,"context_line":"usedevelop \u003d True"},{"line_number":25,"context_line":"install_command \u003d pip install -U --force-reinstall {opts} {packages}"},{"line_number":26,"context_line":"setenv \u003d"},{"line_number":27,"context_line":"  VIRTUAL_ENV\u003d{envdir}"},{"line_number":28,"context_line":"  OS_TEST_PATH\u003d./ironic_python_agent/tests/functional"}],"source_content_type":"text/x-properties","patch_set":4,"id":"fa1b9901_e8792d83","line":25,"in_reply_to":"fa1b9901_9edfaf0c","updated":"2015-08-20 12:30:26.000000000","message":"force-reinstall ensures repeatability because it forces pip to install any alternate versions","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"5ad4aabe1b97f6391b8b68b4a145cbacba6d70d6","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"[testenv:functional]"},{"line_number":24,"context_line":"usedevelop \u003d True"},{"line_number":25,"context_line":"install_command \u003d pip install -U --force-reinstall {opts} {packages}"},{"line_number":26,"context_line":"setenv \u003d"},{"line_number":27,"context_line":"  VIRTUAL_ENV\u003d{envdir}"},{"line_number":28,"context_line":"  OS_TEST_PATH\u003d./ironic_python_agent/tests/functional"}],"source_content_type":"text/x-properties","patch_set":4,"id":"da20952f_a92a8d8e","line":25,"in_reply_to":"fa1b9901_e8792d83","updated":"2015-08-28 17:23:14.000000000","message":"I\u0027m going to drop this, as install is part of testenv already. We can add --force-reinstall up there if we need.","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f5022d4663000b229c5ee77318eb6058c1cf7802","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  TEST_PORT\u003d9999"},{"line_number":31,"context_line":"  IPA_WAIT_TIME\u003d5"},{"line_number":32,"context_line":"deps \u003d"},{"line_number":33,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":34,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":35,"context_line":"commands \u003d"},{"line_number":36,"context_line":"  python setup.py testr --slowest --testr-args\u003d\u0027{posargs:}\u0027"}],"source_content_type":"text/x-properties","patch_set":4,"id":"fa1b9901_98d5871d","line":33,"updated":"2015-08-19 19:59:58.000000000","message":"nit: putting requirements.txt here is redundant","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"5ad4aabe1b97f6391b8b68b4a145cbacba6d70d6","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  TEST_PORT\u003d9999"},{"line_number":31,"context_line":"  IPA_WAIT_TIME\u003d5"},{"line_number":32,"context_line":"deps \u003d"},{"line_number":33,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":34,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":35,"context_line":"commands \u003d"},{"line_number":36,"context_line":"  python setup.py testr --slowest --testr-args\u003d\u0027{posargs:}\u0027"}],"source_content_type":"text/x-properties","patch_set":4,"id":"da20952f_2c0c4b3a","line":33,"in_reply_to":"fa1b9901_718ce8d9","updated":"2015-08-28 17:23:14.000000000","message":"Totally reasonable.","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"516b5774b2c091e27509315901411648f87f23e5","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  TEST_PORT\u003d9999"},{"line_number":31,"context_line":"  IPA_WAIT_TIME\u003d5"},{"line_number":32,"context_line":"deps \u003d"},{"line_number":33,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":34,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":35,"context_line":"commands \u003d"},{"line_number":36,"context_line":"  python setup.py testr --slowest --testr-args\u003d\u0027{posargs:}\u0027"}],"source_content_type":"text/x-properties","patch_set":4,"id":"fa1b9901_718ce8d9","line":33,"in_reply_to":"fa1b9901_98d5871d","updated":"2015-08-21 13:26:12.000000000","message":"+1. I\u0027m going to be that guy and make you remove it... not a fan of cruft. \u003e.\u003e","commit_id":"9b6af704991274bb81ab930a8164bd68384bf85e"},{"author":{"_account_id":13636,"name":"aarefiev","display_name":"Anton","email":"arefyevanton@gmail.com","username":"aarefiev"},"change_message_id":"91ea5d76372f35f9dfce7cf3811f2f038682cf88","unresolved":false,"context_lines":[{"line_number":28,"context_line":"  TEST_PORT\u003d9999"},{"line_number":29,"context_line":"  IPA_WAIT_TIME\u003d5"},{"line_number":30,"context_line":"commands \u003d"},{"line_number":31,"context_line":"  python setup.py testr --slowest --testr-args\u003d\u0027{posargs:}\u0027"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"[testenv:pep8]"},{"line_number":34,"context_line":"commands \u003d"}],"source_content_type":"text/x-properties","patch_set":5,"id":"da20952f_fe8835c7","line":31,"updated":"2015-08-28 19:42:57.000000000","message":"looks like this commands is redundant","commit_id":"662dbac865b2aca32af79d738efe50af5ca39728"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"56d70208aec6620a0582d2975e67cc5d0078ab77","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  VIRTUAL_ENV\u003d{envdir}"},{"line_number":11,"context_line":"  OS_TEST_PATH\u003d./ironic_python_agent/tests/unit"},{"line_number":12,"context_line":"deps \u003d"},{"line_number":13,"context_line":"  -r{toxinidir}/requirements.txt"},{"line_number":14,"context_line":"  -r{toxinidir}/test-requirements.txt"},{"line_number":15,"context_line":"commands \u003d"},{"line_number":16,"context_line":"  python setup.py testr --slowest --testr-args\u003d\u0027{posargs:}\u0027"}],"source_content_type":"text/x-properties","patch_set":6,"id":"da20952f_81f2596e","line":13,"updated":"2015-09-02 06:38:24.000000000","message":"nit: this is redundant","commit_id":"508b7b67e23004338c421444234d282ce87ff6d1"}]}
