)]}'
{"functions.sh":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"88f02f3c1b55a6cd0b2643f8a8c465437a3a867e","unresolved":false,"context_lines":[{"line_number":283,"context_line":"# GIT_BASE or https://git.openstack.org, for example in order to use"},{"line_number":284,"context_line":"# a particular repositories for a third party CI, then supply that using"},{"line_number":285,"context_line":"# variable OVERRIDE_${PROJECT}_GIT_BASE instead."},{"line_number":286,"context_line":"# (e.g. OVERRIDE_TEMPEST_GIT_BASE\u003dhttp://foo.bar.com)"},{"line_number":287,"context_line":"#"},{"line_number":288,"context_line":"function setup_project {"},{"line_number":289,"context_line":"    local project\u003d$1"}],"source_content_type":"text/x-sh","patch_set":1,"id":"da86d52c_2ecc0b6a","line":286,"updated":"2015-02-04 01:34:22.000000000","message":"can you use example.com ?","commit_id":"0b6f05740cda9c43f95d489e10863d14a194fd6f"},{"author":{"_account_id":8344,"name":"fumihiko kakuma","email":"kakuma@valinux.co.jp","username":"kakuma"},"change_message_id":"01776868e7978273cab6b5451e694072f7020c32","unresolved":false,"context_lines":[{"line_number":283,"context_line":"# GIT_BASE or https://git.openstack.org, for example in order to use"},{"line_number":284,"context_line":"# a particular repositories for a third party CI, then supply that using"},{"line_number":285,"context_line":"# variable OVERRIDE_${PROJECT}_GIT_BASE instead."},{"line_number":286,"context_line":"# (e.g. OVERRIDE_TEMPEST_GIT_BASE\u003dhttp://foo.bar.com)"},{"line_number":287,"context_line":"#"},{"line_number":288,"context_line":"function setup_project {"},{"line_number":289,"context_line":"    local project\u003d$1"}],"source_content_type":"text/x-sh","patch_set":1,"id":"da86d52c_2c406933","line":286,"in_reply_to":"da86d52c_2ecc0b6a","updated":"2015-02-04 22:58:10.000000000","message":"Done","commit_id":"0b6f05740cda9c43f95d489e10863d14a194fd6f"}],"test-functions.sh":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"88f02f3c1b55a6cd0b2643f8a8c465437a3a867e","unresolved":false,"context_lines":[{"line_number":243,"context_line":""},{"line_number":244,"context_line":"function test_multi_git_base_project_override {"},{"line_number":245,"context_line":"    # osrg/ryu              https://github.com"},{"line_number":246,"context_line":"    # test/devstack-gate    https://foo.bar.com"},{"line_number":247,"context_line":"    # openstack/keystone    https://git.openstack.org"},{"line_number":248,"context_line":"    # openstack/glance      http://tarballs.openstack.org"},{"line_number":249,"context_line":"    for aar_var in $LOCAL_AAR_VARS; do"}],"source_content_type":"text/x-sh","patch_set":1,"id":"da86d52c_ee6bd3ee","line":246,"updated":"2015-02-04 01:34:22.000000000","message":"example.com please","commit_id":"0b6f05740cda9c43f95d489e10863d14a194fd6f"},{"author":{"_account_id":8344,"name":"fumihiko kakuma","email":"kakuma@valinux.co.jp","username":"kakuma"},"change_message_id":"01776868e7978273cab6b5451e694072f7020c32","unresolved":false,"context_lines":[{"line_number":243,"context_line":""},{"line_number":244,"context_line":"function test_multi_git_base_project_override {"},{"line_number":245,"context_line":"    # osrg/ryu              https://github.com"},{"line_number":246,"context_line":"    # test/devstack-gate    https://foo.bar.com"},{"line_number":247,"context_line":"    # openstack/keystone    https://git.openstack.org"},{"line_number":248,"context_line":"    # openstack/glance      http://tarballs.openstack.org"},{"line_number":249,"context_line":"    for aar_var in $LOCAL_AAR_VARS; do"}],"source_content_type":"text/x-sh","patch_set":1,"id":"da86d52c_2c6789ea","line":246,"in_reply_to":"da86d52c_ee6bd3ee","updated":"2015-02-04 22:58:10.000000000","message":"Done","commit_id":"0b6f05740cda9c43f95d489e10863d14a194fd6f"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"88f02f3c1b55a6cd0b2643f8a8c465437a3a867e","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    local OVERRIDE_RYU_GIT_BASE\u003d\u0027https://github.com\u0027"},{"line_number":260,"context_line":"    setup_project \"osrg/ryu\" $ZUUL_BRANCH"},{"line_number":261,"context_line":"    local OVERRIDE_DEVSTACK_GATE_GIT_BASE\u003d\u0027https://foo.bar.com\u0027"},{"line_number":262,"context_line":"    setup_project \"test/devstack-gate\" $ZUUL_BRANCH"},{"line_number":263,"context_line":"    setup_project \"openstack/keystone\" $ZUUL_BRANCH"},{"line_number":264,"context_line":"    local GIT_BASE\u003d\"http://tarballs.openstack.org\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"da86d52c_0e7107e0","line":261,"updated":"2015-02-04 01:34:22.000000000","message":"ditto","commit_id":"0b6f05740cda9c43f95d489e10863d14a194fd6f"},{"author":{"_account_id":8344,"name":"fumihiko kakuma","email":"kakuma@valinux.co.jp","username":"kakuma"},"change_message_id":"01776868e7978273cab6b5451e694072f7020c32","unresolved":false,"context_lines":[{"line_number":258,"context_line":""},{"line_number":259,"context_line":"    local OVERRIDE_RYU_GIT_BASE\u003d\u0027https://github.com\u0027"},{"line_number":260,"context_line":"    setup_project \"osrg/ryu\" $ZUUL_BRANCH"},{"line_number":261,"context_line":"    local OVERRIDE_DEVSTACK_GATE_GIT_BASE\u003d\u0027https://foo.bar.com\u0027"},{"line_number":262,"context_line":"    setup_project \"test/devstack-gate\" $ZUUL_BRANCH"},{"line_number":263,"context_line":"    setup_project \"openstack/keystone\" $ZUUL_BRANCH"},{"line_number":264,"context_line":"    local GIT_BASE\u003d\"http://tarballs.openstack.org\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"da86d52c_4c603dcf","line":261,"in_reply_to":"da86d52c_0e7107e0","updated":"2015-02-04 22:58:10.000000000","message":"Done","commit_id":"0b6f05740cda9c43f95d489e10863d14a194fd6f"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"ef8e108b91b1a125491d458058fe793d439c7c87","unresolved":false,"context_lines":[{"line_number":123,"context_line":"    # devstack-gate  master  ZA"},{"line_number":124,"context_line":"    for aar_var in $LOCAL_AAR_VARS; do"},{"line_number":125,"context_line":"        eval `echo \"declare -A $aar_var\"`"},{"line_number":126,"context_line":"    done"},{"line_number":127,"context_line":"    local ZUUL_PROJECT\u003d\u0027openstack-infra/devstack-gate\u0027"},{"line_number":128,"context_line":"    local ZUUL_BRANCH\u003d\u0027master\u0027"},{"line_number":129,"context_line":"    local ZUUL_REF\u003d\u0027refs/zuul/master/ZA\u0027"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3afb71cf_03ec65f1","line":126,"updated":"2015-06-10 12:41:45.000000000","message":"I\u0027m fine with the functional changes, but these seem really weird test changes. \n\nCan you just extract the declare stanzas into a setup_arrays function, which will get called each time. They are globals, so there is no reason to loop inline in the test functions.","commit_id":"448f76862c9b2af3385724469018dc9ad86f4e1f"},{"author":{"_account_id":8344,"name":"fumihiko kakuma","email":"kakuma@valinux.co.jp","username":"kakuma"},"change_message_id":"c048dcbe661f10137b05064c1bdaa9898bcd871d","unresolved":false,"context_lines":[{"line_number":123,"context_line":"    # devstack-gate  master  ZA"},{"line_number":124,"context_line":"    for aar_var in $LOCAL_AAR_VARS; do"},{"line_number":125,"context_line":"        eval `echo \"declare -A $aar_var\"`"},{"line_number":126,"context_line":"    done"},{"line_number":127,"context_line":"    local ZUUL_PROJECT\u003d\u0027openstack-infra/devstack-gate\u0027"},{"line_number":128,"context_line":"    local ZUUL_BRANCH\u003d\u0027master\u0027"},{"line_number":129,"context_line":"    local ZUUL_REF\u003d\u0027refs/zuul/master/ZA\u0027"}],"source_content_type":"text/x-sh","patch_set":5,"id":"1af86dd1_ac0e67e3","line":126,"in_reply_to":"3afb71cf_03ec65f1","updated":"2015-06-11 22:49:15.000000000","message":"Thank you for review.\nI tried to add the setup_arrays function, but it doesn\u0027t work well.\nI show the example to the following.\n\n$ cat test_aar.sh\n#!/bin/bash -x\n\nfunction setup_arrays {\n    declare -A AAR1\n}\n\nfunction test {\n    setup_arrays\n    AAR1[a]+\u003d\u0027 A\u0027\n    AAR1[b]+\u003d\u0027 B\u0027\n    declare -p AAR1\n\n    declare -A AAR2\n    AAR2[a]+\u003d\u0027 A\u0027\n    AAR2[b]+\u003d\u0027 B\u0027\n    declare -p AAR2\n}\n\ntest\n$ ./test_aar.sh\n+ test\n+ setup_arrays\n+ declare -A AAR1\n+ AAR1[a]+\u003d\u0027 A\u0027\n+ AAR1[b]+\u003d\u0027 B\u0027\n+ declare -p AAR1\ndeclare -a AAR1\u003d\u0027([0]\u003d\" A B\")\u0027\n+ declare -A AAR2\n+ AAR2[a]+\u003d\u0027 A\u0027\n+ AAR2[b]+\u003d\u0027 B\u0027\n+ declare -p AAR2\ndeclare -A AAR2\u003d\u0027([a]\u003d\" A\" [b]\u003d\" B\" )\u0027\n$","commit_id":"448f76862c9b2af3385724469018dc9ad86f4e1f"}]}
