)]}'
{"run_tests.sh":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"0cb9c36224c846bb6803eff377393a930b0e2879","unresolved":false,"context_lines":[{"line_number":23,"context_line":"rm -rf .tox"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# Install python2 for Ubuntu 16.04,CentOS 7 and openSUSE Leap 42.1"},{"line_number":26,"context_line":"if which apt-get \u0026\u003e/dev/null \u0026\u0026 ! which zypper \u0026\u003e/dev/null; then"},{"line_number":27,"context_line":"     sudo apt-get update \u0026\u0026 sudo apt-get install -y python-dev"},{"line_number":28,"context_line":"elif which yum \u0026\u003e/dev/null; then"},{"line_number":29,"context_line":"     sudo yum install -y python-devel"}],"source_content_type":"text/x-sh","patch_set":3,"id":"ffe62b97_e4d5b944","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":58},"updated":"2017-03-27 17:54:13.000000000","message":"nit: you could do zypper first, then the others to avoid this extra condition, but it doesn\u0027t matter too much","commit_id":"8146dc9fab53415c75433b0cd30905a3501bade6"},{"author":{"_account_id":23163,"name":"Markos Chandras (hwoarang)","email":"markos@chandras.me","username":"mchandras"},"change_message_id":"16e6cb2e3cfa1ebba19368de5a0cd1d3acec7a83","unresolved":false,"context_lines":[{"line_number":23,"context_line":"rm -rf .tox"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"# Install python2 for Ubuntu 16.04,CentOS 7 and openSUSE Leap 42.1"},{"line_number":26,"context_line":"if which apt-get \u0026\u003e/dev/null \u0026\u0026 ! which zypper \u0026\u003e/dev/null; then"},{"line_number":27,"context_line":"     sudo apt-get update \u0026\u0026 sudo apt-get install -y python-dev"},{"line_number":28,"context_line":"elif which yum \u0026\u003e/dev/null; then"},{"line_number":29,"context_line":"     sudo yum install -y python-devel"}],"source_content_type":"text/x-sh","patch_set":3,"id":"ffe62b97_15d9d07d","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":58},"in_reply_to":"ffe62b97_e4d5b944","updated":"2017-03-28 08:56:48.000000000","message":"It\u0027s a bit tricky because on Ubuntu and on SUSE you may have both apt-get and zypper installed. So by simply doing \u0027which zypper\u0027 first, there is a chance you actually run zypper on Ubuntu which may not be what you want. I believe it might actually be better to get all that information from the /etc/os-release file...","commit_id":"8146dc9fab53415c75433b0cd30905a3501bade6"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"0cb9c36224c846bb6803eff377393a930b0e2879","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    fi"},{"line_number":72,"context_line":"fi"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# run through each tox env and execute the test"},{"line_number":75,"context_line":"for tox_env in $(awk -F\u003d \u0027/envlist/ {print $2}\u0027 tox.ini | sed \u0027s/,/ /g\u0027); do"},{"line_number":76,"context_line":"    if [ \"${tox_env}\" !\u003d \"ansible-functional\" ]; then"},{"line_number":77,"context_line":"        tox -e ${tox_env}"},{"line_number":78,"context_line":"    elif [ \"${tox_env}\" \u003d\u003d \"ansible-functional\" ]; then"},{"line_number":79,"context_line":"        if ${FUNCTIONAL_TEST}; then"},{"line_number":80,"context_line":"            tox -e ${tox_env}"},{"line_number":81,"context_line":"        fi"},{"line_number":82,"context_line":"    fi"},{"line_number":83,"context_line":"done"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"# vim: set ts\u003d4 sw\u003d4 expandtab:"}],"source_content_type":"text/x-sh","patch_set":3,"id":"ffe62b97_c4287535","line":83,"range":{"start_line":74,"start_character":0,"end_line":83,"end_character":4},"updated":"2017-03-27 17:54:13.000000000","message":"aside: it may be time to be rid of this terrible construct and allow a CLI option, with a default or something","commit_id":"8146dc9fab53415c75433b0cd30905a3501bade6"},{"author":{"_account_id":23163,"name":"Markos Chandras (hwoarang)","email":"markos@chandras.me","username":"mchandras"},"change_message_id":"a6442ab5b708f13de41c15d3e727296ed4b259a1","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    fi"},{"line_number":72,"context_line":"fi"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# run through each tox env and execute the test"},{"line_number":75,"context_line":"for tox_env in $(awk -F\u003d \u0027/envlist/ {print $2}\u0027 tox.ini | sed \u0027s/,/ /g\u0027); do"},{"line_number":76,"context_line":"    if [ \"${tox_env}\" !\u003d \"ansible-functional\" ]; then"},{"line_number":77,"context_line":"        tox -e ${tox_env}"},{"line_number":78,"context_line":"    elif [ \"${tox_env}\" \u003d\u003d \"ansible-functional\" ]; then"},{"line_number":79,"context_line":"        if ${FUNCTIONAL_TEST}; then"},{"line_number":80,"context_line":"            tox -e ${tox_env}"},{"line_number":81,"context_line":"        fi"},{"line_number":82,"context_line":"    fi"},{"line_number":83,"context_line":"done"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"# vim: set ts\u003d4 sw\u003d4 expandtab:"}],"source_content_type":"text/x-sh","patch_set":3,"id":"ffe62b97_ca962294","line":83,"range":{"start_line":74,"start_character":0,"end_line":83,"end_character":4},"in_reply_to":"ffe62b97_c4287535","updated":"2017-03-28 09:29:06.000000000","message":"I can work on a simplified version of that but I was wondering if \u0027ansible-functional\u0027 is correct or it should be \u0027functional\u0027 instead. There is currently no ansible-functional profile but that may be defined somewhere else...","commit_id":"8146dc9fab53415c75433b0cd30905a3501bade6"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"7ea1f5cac0efbb1f139f3237de6d167d9aa16272","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    fi"},{"line_number":72,"context_line":"fi"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# run through each tox env and execute the test"},{"line_number":75,"context_line":"for tox_env in $(awk -F\u003d \u0027/envlist/ {print $2}\u0027 tox.ini | sed \u0027s/,/ /g\u0027); do"},{"line_number":76,"context_line":"    if [ \"${tox_env}\" !\u003d \"ansible-functional\" ]; then"},{"line_number":77,"context_line":"        tox -e ${tox_env}"},{"line_number":78,"context_line":"    elif [ \"${tox_env}\" \u003d\u003d \"ansible-functional\" ]; then"},{"line_number":79,"context_line":"        if ${FUNCTIONAL_TEST}; then"},{"line_number":80,"context_line":"            tox -e ${tox_env}"},{"line_number":81,"context_line":"        fi"},{"line_number":82,"context_line":"    fi"},{"line_number":83,"context_line":"done"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"# vim: set ts\u003d4 sw\u003d4 expandtab:"}],"source_content_type":"text/x-sh","patch_set":3,"id":"ffe62b97_8a025a0a","line":83,"range":{"start_line":74,"start_character":0,"end_line":83,"end_character":4},"in_reply_to":"ffe62b97_ca962294","updated":"2017-03-28 09:43:33.000000000","message":"Yeah, it\u0027s a legacy thing. They used to be called that.\n\nI would think that it\u0027d be great if we could pass a CLI option to decide which test to run, but if \u0027all\u0027 is selected then it should just run through the envlist sequentially. The default if no CLI input is provided should be to run \u0027all\u0027. We can then ditch the FUNCTIONAL_TEST var.","commit_id":"8146dc9fab53415c75433b0cd30905a3501bade6"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c6a33832ac183cf99496d4031816b0e3c7a2cfea","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"# Execute only functional tests if desirable"},{"line_number":86,"context_line":"if [[ \"${1}\" \u003d\u003d \"functional\" ]]; then"},{"line_number":87,"context_line":"    # Make sure there is a functional env to execute"},{"line_number":88,"context_line":"    if ! tox -l | grep -q functional; then"},{"line_number":89,"context_line":"        echo \"Functional test requested but tox.ini\""},{"line_number":90,"context_line":"        echo \"does not define such environment.\""},{"line_number":91,"context_line":"        exit 1"},{"line_number":92,"context_line":"    fi"},{"line_number":93,"context_line":"    tox -e functional"},{"line_number":94,"context_line":"else"},{"line_number":95,"context_line":"# All tox tests"}],"source_content_type":"text/x-sh","patch_set":6,"id":"ffe62b97_ac11b654","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":6},"updated":"2017-03-28 11:30:21.000000000","message":"Can we make this generic? ie something along the lines of:\n\nif ! grep ${1} tox.ini; then\n  ... there is no such tox env\nelse\n  tox -e ${1}\nfi\n\nWe should probably check whether ${1} is defined before doing that.","commit_id":"316dffd8ac893d82f6e800a4fc0d160ec6f0ac72"},{"author":{"_account_id":23163,"name":"Markos Chandras (hwoarang)","email":"markos@chandras.me","username":"mchandras"},"change_message_id":"8854465d6eac2634102c2bad3daf4219a6c37cfb","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"# Execute only functional tests if desirable"},{"line_number":86,"context_line":"if [[ \"${1}\" \u003d\u003d \"functional\" ]]; then"},{"line_number":87,"context_line":"    # Make sure there is a functional env to execute"},{"line_number":88,"context_line":"    if ! tox -l | grep -q functional; then"},{"line_number":89,"context_line":"        echo \"Functional test requested but tox.ini\""},{"line_number":90,"context_line":"        echo \"does not define such environment.\""},{"line_number":91,"context_line":"        exit 1"},{"line_number":92,"context_line":"    fi"},{"line_number":93,"context_line":"    tox -e functional"},{"line_number":94,"context_line":"else"},{"line_number":95,"context_line":"# All tox tests"}],"source_content_type":"text/x-sh","patch_set":6,"id":"ffe62b97_4837af4e","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":6},"in_reply_to":"ffe62b97_ac11b654","updated":"2017-03-28 14:07:03.000000000","message":"Fixed in a slightly different way. There is not reason to check if the env exists. Tox is pretty good at telling you that ;)\n\n# tox -e foobar1\nERROR: unknown environment \u0027foobar1","commit_id":"316dffd8ac893d82f6e800a4fc0d160ec6f0ac72"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c393e3f8a10421c7cb6e54901f6726acfbc09e4f","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    esac"},{"line_number":83,"context_line":"fi"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"# Test only a specific environment or all of them"},{"line_number":86,"context_line":"tox -e ${1:-ALL}"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"# vim: set ts\u003d4 sw\u003d4 expandtab:"}],"source_content_type":"text/x-sh","patch_set":7,"id":"ffe62b97_23cdac65","line":86,"range":{"start_line":85,"start_character":0,"end_line":86,"end_character":16},"updated":"2017-03-28 14:25:22.000000000","message":"Hmm, unfortunately this then tests every env defined in tox.ini, which is not what we want. We want to either run the env provided as a parameter, or go through the envlist.\n\nSo if ${1} is defined, run tox -e ${1}, else run tox\n\nAFAIK just running \u0027tox\u0027 will execute the envlist.","commit_id":"d075d0cc7434082fc2bf9c7a2a97779f5f5824a9"},{"author":{"_account_id":2799,"name":"Andy McCrae","email":"andy.mccrae@googlemail.com","username":"andrew-mccrae"},"change_message_id":"abc4f5063ebd4c03a5255ff966a12b00b37ba759","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    *suse*)"},{"line_number":28,"context_line":"        # Need to pull libffi and python-pyOpenSSL early"},{"line_number":29,"context_line":"        # because we install ndg-httpsclient from pip"},{"line_number":30,"context_line":"        sudo zypper -n in python-devel libffi-devel python-pyOpenSSL"},{"line_number":31,"context_line":"        ;;"},{"line_number":32,"context_line":"    centos)"},{"line_number":33,"context_line":"        sudo yum install -y python-devel"}],"source_content_type":"text/x-sh","patch_set":8,"id":"ffe62b97_dfe4343f","line":30,"range":{"start_line":30,"start_character":59,"end_line":30,"end_character":68},"updated":"2017-03-30 12:22:56.000000000","message":"you  may also need lsb-release here i think - OpenSUSE doesn\u0027t seem to come with it by default, and bindep needs it later otherwise it just errors out.","commit_id":"bcc4a5f6a2faf4eaa14f51a513785b0736ade547"},{"author":{"_account_id":2799,"name":"Andy McCrae","email":"andy.mccrae@googlemail.com","username":"andrew-mccrae"},"change_message_id":"c4750553a9d36d51c3264c2926c63f423b7f3161","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    *suse*)"},{"line_number":28,"context_line":"        # Need to pull libffi and python-pyOpenSSL early"},{"line_number":29,"context_line":"        # because we install ndg-httpsclient from pip"},{"line_number":30,"context_line":"        sudo zypper -n in python-devel libffi-devel python-pyOpenSSL"},{"line_number":31,"context_line":"        ;;"},{"line_number":32,"context_line":"    centos)"},{"line_number":33,"context_line":"        sudo yum install -y python-devel"}],"source_content_type":"text/x-sh","patch_set":8,"id":"ffe62b97_627c6b72","line":30,"range":{"start_line":30,"start_character":59,"end_line":30,"end_character":68},"in_reply_to":"ffe62b97_7f09a893","updated":"2017-03-30 12:41:55.000000000","message":"Yeah, it is - but centos and ubuntu seem to come with it by default, and OpenSUSE doesnt (or at least not on my install which was 42.1)","commit_id":"bcc4a5f6a2faf4eaa14f51a513785b0736ade547"},{"author":{"_account_id":23163,"name":"Markos Chandras (hwoarang)","email":"markos@chandras.me","username":"mchandras"},"change_message_id":"9f59d1fc8e54f03098ae6638622e4136a610008b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    *suse*)"},{"line_number":28,"context_line":"        # Need to pull libffi and python-pyOpenSSL early"},{"line_number":29,"context_line":"        # because we install ndg-httpsclient from pip"},{"line_number":30,"context_line":"        sudo zypper -n in python-devel libffi-devel python-pyOpenSSL"},{"line_number":31,"context_line":"        ;;"},{"line_number":32,"context_line":"    centos)"},{"line_number":33,"context_line":"        sudo yum install -y python-devel"}],"source_content_type":"text/x-sh","patch_set":8,"id":"ffe62b97_7f09a893","line":30,"range":{"start_line":30,"start_character":59,"end_line":30,"end_character":68},"in_reply_to":"ffe62b97_dfe4343f","updated":"2017-03-30 12:29:08.000000000","message":"hmm but lsb-release is needed by all distros right? And it wasn\u0027t there before either.","commit_id":"bcc4a5f6a2faf4eaa14f51a513785b0736ade547"},{"author":{"_account_id":2799,"name":"Andy McCrae","email":"andy.mccrae@googlemail.com","username":"andrew-mccrae"},"change_message_id":"2638bd44362be6ab7c48155c36b3804aa7e5fe17","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        sudo zypper -n in python-devel lsb-release libffi-devel python-pyOpenSSL"},{"line_number":31,"context_line":"        ;;"},{"line_number":32,"context_line":"    centos)"},{"line_number":33,"context_line":"        sudo yum install -y python-devel lsb-release"},{"line_number":34,"context_line":"        ;;"},{"line_number":35,"context_line":"    ubuntu|debian)"},{"line_number":36,"context_line":"        sudo apt-get update \u0026\u0026 sudo apt-get install -y python-dev lsb-release"}],"source_content_type":"text/x-sh","patch_set":9,"id":"ffe62b97_c2a7b7a7","line":33,"range":{"start_line":33,"start_character":45,"end_line":33,"end_character":52},"updated":"2017-03-30 12:46:39.000000000","message":"On RHEL/CentOS I believe it\u0027s:\n\n# rpm -qvf /usr/bin/lsb_release\nredhat-lsb-core","commit_id":"4ed8e214c14e421eb0ab469e65d2881e58920edf"}]}
