)]}'
{"functions.sh":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"12f72b4e7c2676b55a90f2085074fb4c04c72196","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    if [ -z \"$base_branch\" ]; then"},{"line_number":322,"context_line":"        echo \"ERROR: setup_workspace: base_branch is an empty string!\" \u003e\u00262"},{"line_number":323,"context_line":"        return 1"},{"line_number":324,"context_line":"    fi"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    fix_disk_layout"},{"line_number":327,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"baada198_362bdb96","line":324,"updated":"2014-07-29 18:05:07.000000000","message":"This should be unittested. See https://git.openstack.org/cgit/openstack-infra/devstack-gate/tree/test-functions.sh","commit_id":"f77f5d3cf6561617f911cd1f88e7543751b2039f"}],"test-functions.sh":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"1fef3f0d02483b491329c30a34927e94c5cde038","unresolved":false,"context_lines":[{"line_number":99,"context_line":"    fi"},{"line_number":100,"context_line":"}"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"function assert_raises {"},{"line_number":103,"context_line":"    local lineno\u003d`caller 0 | awk \u0027{print $1}\u0027`"},{"line_number":104,"context_line":"    local function\u003d`caller 0 | awk \u0027{print $2}\u0027`"},{"line_number":105,"context_line":"    eval \"$@\" \u0026\u003e/dev/null"}],"source_content_type":"text/x-sh","patch_set":2,"id":"5a890539_561c0578","line":102,"updated":"2014-11-18 20:45:57.000000000","message":"just a minor quibble about this name, from an intrinsic documentation point of view.  \"raise\" suggests to me exceptions which aren\u0027t invovled.  what about assert_exit_nonzero?","commit_id":"0a87ef43de688919d726d30c9b997c3196054900"}]}
