)]}'
{"tools/regression_tester.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"9815d8d4bc32df501168c46efdf29115d1dffe89","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    obj \u003d subprocess.Popen(cmd, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE,"},{"line_number":18,"context_line":"                           shell\u003dTrue)"},{"line_number":19,"context_line":"    obj.wait()"},{"line_number":20,"context_line":"    if obj.returncode is not 0 and not fail_ok:"},{"line_number":21,"context_line":"        print \"The above command terminated with an error.\""},{"line_number":22,"context_line":"        sys.exit(obj.returncode)"},{"line_number":23,"context_line":"    return obj.stdout.read()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAOn%2F%2F3Z0%3D","line":20,"updated":"2013-04-16 17:17:31.000000000","message":"I think !\u003d would be better than \u0027is not\u0027 for the returncode comparison since it is an int and not a boolean value.","commit_id":"f1c9f4d874a1af69a2411239487ee18ab7867f20"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"18c8c7356a0d8a07a9fee408a4318e25cd51550c","unresolved":false,"context_lines":[{"line_number":6,"context_line":"modified tests without bug fix."},{"line_number":7,"context_line":"\"\"\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"import optparse"},{"line_number":10,"context_line":"import string"},{"line_number":11,"context_line":"import subprocess"},{"line_number":12,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F3I4%3D","line":9,"updated":"2013-04-16 23:13:18.000000000","message":"Would you kill me if I suggested using oslo.config here?","commit_id":"509e822ea0ca8050698a32909b464625b57f1e4a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"4dc26a4bd84cc8c6ede85be0f98d146d38534db2","unresolved":false,"context_lines":[{"line_number":6,"context_line":"modified tests without bug fix."},{"line_number":7,"context_line":"\"\"\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"import optparse"},{"line_number":10,"context_line":"import string"},{"line_number":11,"context_line":"import subprocess"},{"line_number":12,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F2Uo%3D","line":9,"in_reply_to":"AAAAOn%2F%2F3H0%3D","updated":"2013-04-17 22:06:48.000000000","message":"The benefit of making this use oslo.config (uniformity), IMHO is lost due to the added need to run this in a venv (or require user to install oslo.config on host), since optparse is standard in python but oslo.config is not.","commit_id":"509e822ea0ca8050698a32909b464625b57f1e4a"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"891373661763755a4582df01afdb7a1036d53af8","unresolved":false,"context_lines":[{"line_number":6,"context_line":"modified tests without bug fix."},{"line_number":7,"context_line":"\"\"\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"import optparse"},{"line_number":10,"context_line":"import string"},{"line_number":11,"context_line":"import subprocess"},{"line_number":12,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F3IM%3D","line":9,"in_reply_to":"AAAAOn%2F%2F3I4%3D","updated":"2013-04-16 23:15:19.000000000","message":"I wouldn\u0027t.  I\u0027d rather see that used than adding this ...","commit_id":"509e822ea0ca8050698a32909b464625b57f1e4a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"d26ee0399b56caa7db12b1d00f9a5996b6c09fef","unresolved":false,"context_lines":[{"line_number":6,"context_line":"modified tests without bug fix."},{"line_number":7,"context_line":"\"\"\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"import optparse"},{"line_number":10,"context_line":"import string"},{"line_number":11,"context_line":"import subprocess"},{"line_number":12,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F3H0%3D","line":9,"in_reply_to":"AAAAOn%2F%2F3IM%3D","updated":"2013-04-17 18:24:05.000000000","message":"sure, I\u0027ll update.  I initially just figured oslo.config is overkill being I don\u0027t have any config file, just a command line option.","commit_id":"509e822ea0ca8050698a32909b464625b57f1e4a"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"4dc26a4bd84cc8c6ede85be0f98d146d38534db2","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        expect_failure \u003d \"\""},{"line_number":58,"context_line":"    else:"},{"line_number":59,"context_line":"        # run new tests, expect them to fail"},{"line_number":60,"context_line":"        expect_failure \u003d run((\"tox -epy27 %s 2\u003e\u00261\" % string.join(test_list)),"},{"line_number":61,"context_line":"                             fail_ok\u003dTrue)"},{"line_number":62,"context_line":"        if \"FAILED (id\u003d\" in expect_failure:"},{"line_number":63,"context_line":"            test_works \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2F2Us%3D","line":60,"updated":"2013-04-17 22:06:48.000000000","message":"already calls out to tox","commit_id":"509e822ea0ca8050698a32909b464625b57f1e4a"}]}
