)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"d3e094c6ea0b7125f861b0d941d11c39472e4161","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Have call_until_true() return the result from the called func"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Instead of only returning True when the called function returns a"},{"line_number":10,"context_line":"true-ish value, return the result from the called function."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If the called function never returns a true-ish value, then still return"},{"line_number":13,"context_line":"False."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a22e58a_0ecaef4f","line":10,"updated":"2017-03-14 07:10:13.000000000","message":"So, why do we need this feature? Do you have a concrete usage, example or patch of this?","commit_id":"cbbccd4fb34e539aeb239a888eff89659e081079"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"05a3f0c08871656d2f9c3905ace88648a02343c0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Have call_until_true() return the result from the called func"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Instead of only returning True when the called function returns a"},{"line_number":10,"context_line":"true-ish value, return the result from the called function."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"If the called function never returns a true-ish value, then still return"},{"line_number":13,"context_line":"False."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a22e58a_390e0935","line":10,"in_reply_to":"5a22e58a_0ecaef4f","updated":"2017-03-14 12:49:33.000000000","message":"Because it leads to ugly hacks like this:\n\nhttps://review.openstack.org/#/c/423556/85/ironic_tempest_plugin/tests/scenario/baremetal_standalone_manager.py@152","commit_id":"cbbccd4fb34e539aeb239a888eff89659e081079"}],"tempest/lib/common/utils/test_utils.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"659ee4f05ed61d4b9f4153b1df9901ebd4e53e30","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    while now \u003c timeout:"},{"line_number":105,"context_line":"        result \u003d func()"},{"line_number":106,"context_line":"        if result:"},{"line_number":107,"context_line":"            return result"},{"line_number":108,"context_line":"        time.sleep(sleep_for)"},{"line_number":109,"context_line":"        now \u003d time.time()"},{"line_number":110,"context_line":"    return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a1ff146_7581678f","line":107,"updated":"2017-03-14 19:00:18.000000000","message":"This is a big api incompatible change. That function used to return a boolean and now it would return either a boolean or something else.\n\nI understand the reason for this change, but it\u0027s a risky change. It will break all code that used to use that function like this \"if call_until_true(...) is True:\"","commit_id":"471d9262da25c32f5552619478d67c680ce5cbed"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"32d072efcddd8966f3e3d4e8065dfa4ac55d4636","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    while now \u003c timeout:"},{"line_number":105,"context_line":"        result \u003d func()"},{"line_number":106,"context_line":"        if result:"},{"line_number":107,"context_line":"            return result"},{"line_number":108,"context_line":"        time.sleep(sleep_for)"},{"line_number":109,"context_line":"        now \u003d time.time()"},{"line_number":110,"context_line":"    return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a1ff146_f0dc8548","line":107,"in_reply_to":"3a1ff146_10aa01d5","updated":"2017-03-14 19:16:10.000000000","message":"I failed to find anything from perusing:\n\nhttp://codesearch.openstack.org/?q\u003dcall_until_true()\u0026i\u003dnope\u0026files\u003d\u0026repos\u003d\n\nthat would break because of this change. But I could have missed something.\n\n3 uses of assertTrue, but the called functions return True.","commit_id":"471d9262da25c32f5552619478d67c680ce5cbed"},{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"c8477c7558e1dde6bdd5a119828ae48430ebc667","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    while now \u003c timeout:"},{"line_number":105,"context_line":"        result \u003d func()"},{"line_number":106,"context_line":"        if result:"},{"line_number":107,"context_line":"            return result"},{"line_number":108,"context_line":"        time.sleep(sleep_for)"},{"line_number":109,"context_line":"        now \u003d time.time()"},{"line_number":110,"context_line":"    return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a1ff146_10aa01d5","line":107,"in_reply_to":"3a1ff146_7581678f","updated":"2017-03-14 19:09:29.000000000","message":"Do you have any examples of that?","commit_id":"471d9262da25c32f5552619478d67c680ce5cbed"}]}
