)]}'
{"tests/t_client.sh.in":[{"author":{"_account_id":1000053,"name":"razvanc","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"1f22e9c8b0ffc5919514db3f0e95bdf5a64b4148","unresolved":true,"context_lines":[{"line_number":384,"context_line":"        sleep 1  # Wait for OpenVPN to initialize and have had time to write the pid file"},{"line_number":385,"context_line":"        if [ -n \"$expect_fail\" ]"},{"line_number":386,"context_line":"        then"},{"line_number":387,"context_line":"            grep \"$expect_fail\" $LOGDIR/$SUF:openvpn.log # \u003e/dev/null"},{"line_number":388,"context_line":"            if [ $? -eq 0 ]; then"},{"line_number":389,"context_line":"                ovpn_init_check\u003d0"},{"line_number":390,"context_line":"                ovpn_init_success\u003d1"}],"source_content_type":"text/x-properties","patch_set":3,"id":"220db98e_4f9466b1","line":387,"updated":"2026-08-19 08:13:57.000000000","message":"Is this leftover debug code?","commit_id":"0e63d0f06ae3b11cc8dd99eaa74ccc3a426f6dfe"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"d8bf4f04a6b27fd614331627599cbdab10155472","unresolved":false,"context_lines":[{"line_number":384,"context_line":"        sleep 1  # Wait for OpenVPN to initialize and have had time to write the pid file"},{"line_number":385,"context_line":"        if [ -n \"$expect_fail\" ]"},{"line_number":386,"context_line":"        then"},{"line_number":387,"context_line":"            grep \"$expect_fail\" $LOGDIR/$SUF:openvpn.log # \u003e/dev/null"},{"line_number":388,"context_line":"            if [ $? -eq 0 ]; then"},{"line_number":389,"context_line":"                ovpn_init_check\u003d0"},{"line_number":390,"context_line":"                ovpn_init_success\u003d1"}],"source_content_type":"text/x-properties","patch_set":3,"id":"a0b2dd07_c856e17d","line":387,"in_reply_to":"220db98e_4f9466b1","updated":"2026-08-24 15:24:07.000000000","message":"Done","commit_id":"0e63d0f06ae3b11cc8dd99eaa74ccc3a426f6dfe"},{"author":{"_account_id":1000053,"name":"razvanc","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"1f22e9c8b0ffc5919514db3f0e95bdf5a64b4148","unresolved":true,"context_lines":[{"line_number":424,"context_line":"            SUMMARY_FAIL\u003d\"$SUMMARY_FAIL $SUF\""},{"line_number":425,"context_line":"            exit_code\u003d32"},{"line_number":426,"context_line":"            printf \"$outbuf\" ; continue"},{"line_number":427,"context_line":"        else"},{"line_number":428,"context_line":"            output \"test run $SUF: all tests OK (saw expected failure).\""},{"line_number":429,"context_line":"            SUMMARY_OK\u003d\"$SUMMARY_OK $SUF\""},{"line_number":430,"context_line":"            continue"}],"source_content_type":"text/x-properties","patch_set":3,"id":"e4888538_2e182acc","line":427,"updated":"2026-08-19 08:13:57.000000000","message":"Should we also check `$ovpn_init_success -eq 1` here?","commit_id":"0e63d0f06ae3b11cc8dd99eaa74ccc3a426f6dfe"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"d8bf4f04a6b27fd614331627599cbdab10155472","unresolved":false,"context_lines":[{"line_number":424,"context_line":"            SUMMARY_FAIL\u003d\"$SUMMARY_FAIL $SUF\""},{"line_number":425,"context_line":"            exit_code\u003d32"},{"line_number":426,"context_line":"            printf \"$outbuf\" ; continue"},{"line_number":427,"context_line":"        else"},{"line_number":428,"context_line":"            output \"test run $SUF: all tests OK (saw expected failure).\""},{"line_number":429,"context_line":"            SUMMARY_OK\u003d\"$SUMMARY_OK $SUF\""},{"line_number":430,"context_line":"            continue"}],"source_content_type":"text/x-properties","patch_set":3,"id":"4bf0cc07_825af0a3","line":427,"in_reply_to":"e4888538_2e182acc","updated":"2026-08-24 15:24:07.000000000","message":"Done","commit_id":"0e63d0f06ae3b11cc8dd99eaa74ccc3a426f6dfe"},{"author":{"_account_id":1000053,"name":"razvanc","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"cb98e50dc351b6ce57a4d6625f8b40d4516cf5ee","unresolved":true,"context_lines":[{"line_number":376,"context_line":"    output \" run openvpn $openvpn_conf\""},{"line_number":377,"context_line":"    echo \"# ${openvpn} $openvpn_conf\" \u003e$LOGDIR/$SUF:openvpn.log"},{"line_number":378,"context_line":"    umask 022"},{"line_number":379,"context_line":"    $RUN_SUDO \"${openvpn}\" $openvpn_conf \u003e\u003e$LOGDIR/$SUF:openvpn.log \u0026"},{"line_number":380,"context_line":"    sudopid\u003d$!"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    # Check if OpenVPN has initialized before continuing.  It will check every second up"}],"source_content_type":"text/x-properties","patch_set":5,"id":"ec2bfe4b_d246d881","line":379,"updated":"2026-08-25 07:23:56.000000000","message":"Should we make sure we don\u0027t also include these two synthetic lines in the grep input to prevent false positives?","commit_id":"b60ab3c9f41d033dd44c5b0f70f23a0da11224a9"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"813020f22da183e99d86ef2949714fd0340cf0ed","unresolved":true,"context_lines":[{"line_number":376,"context_line":"    output \" run openvpn $openvpn_conf\""},{"line_number":377,"context_line":"    echo \"# ${openvpn} $openvpn_conf\" \u003e$LOGDIR/$SUF:openvpn.log"},{"line_number":378,"context_line":"    umask 022"},{"line_number":379,"context_line":"    $RUN_SUDO \"${openvpn}\" $openvpn_conf \u003e\u003e$LOGDIR/$SUF:openvpn.log \u0026"},{"line_number":380,"context_line":"    sudopid\u003d$!"},{"line_number":381,"context_line":""},{"line_number":382,"context_line":"    # Check if OpenVPN has initialized before continuing.  It will check every second up"}],"source_content_type":"text/x-properties","patch_set":5,"id":"74400f0a_371645c7","line":379,"in_reply_to":"ec2bfe4b_d246d881","updated":"2026-08-25 15:44:56.000000000","message":"I don\u0027t think that theoretical problem is worth complicating the code","commit_id":"b60ab3c9f41d033dd44c5b0f70f23a0da11224a9"},{"author":{"_account_id":1000053,"name":"razvanc","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"cb98e50dc351b6ce57a4d6625f8b40d4516cf5ee","unresolved":true,"context_lines":[{"line_number":386,"context_line":"    while [ $ovpn_init_check -gt 0 ]; do"},{"line_number":387,"context_line":"        sleep 1 # Wait for OpenVPN to initialize and to write the pid file"},{"line_number":388,"context_line":"        if [ -n \"$expect_fail\" ]; then"},{"line_number":389,"context_line":"            grep \"$expect_fail\" $LOGDIR/$SUF:openvpn.log \u003e/dev/null"},{"line_number":390,"context_line":"            if [ $? -eq 0 ]; then"},{"line_number":391,"context_line":"                ovpn_init_check\u003d0"},{"line_number":392,"context_line":"                ovpn_init_success\u003d1"}],"source_content_type":"text/x-properties","patch_set":5,"id":"9f820460_22e83dd1","line":389,"updated":"2026-08-25 07:23:56.000000000","message":"If we\u0027re not allowing for regular expressions, do we want this to be `grep -F`?","commit_id":"b60ab3c9f41d033dd44c5b0f70f23a0da11224a9"},{"author":{"_account_id":1000001,"name":"flichtenheld","display_name":"Frank Lichtenheld","email":"frank@lichtenheld.com","username":"flichtenheld","status":"OpenVPN Inc."},"change_message_id":"813020f22da183e99d86ef2949714fd0340cf0ed","unresolved":true,"context_lines":[{"line_number":386,"context_line":"    while [ $ovpn_init_check -gt 0 ]; do"},{"line_number":387,"context_line":"        sleep 1 # Wait for OpenVPN to initialize and to write the pid file"},{"line_number":388,"context_line":"        if [ -n \"$expect_fail\" ]; then"},{"line_number":389,"context_line":"            grep \"$expect_fail\" $LOGDIR/$SUF:openvpn.log \u003e/dev/null"},{"line_number":390,"context_line":"            if [ $? -eq 0 ]; then"},{"line_number":391,"context_line":"                ovpn_init_check\u003d0"},{"line_number":392,"context_line":"                ovpn_init_success\u003d1"}],"source_content_type":"text/x-properties","patch_set":5,"id":"c34a1d82_afce4e95","line":389,"in_reply_to":"9f820460_22e83dd1","updated":"2026-08-25 15:44:56.000000000","message":"No, I think we do not want to limit this to -F","commit_id":"b60ab3c9f41d033dd44c5b0f70f23a0da11224a9"},{"author":{"_account_id":1000053,"name":"razvanc","display_name":"Razvan Cojocaru","email":"razvanc@mailbox.org","username":"razvanc"},"change_message_id":"cb98e50dc351b6ce57a4d6625f8b40d4516cf5ee","unresolved":true,"context_lines":[{"line_number":431,"context_line":"            SUMMARY_FAIL\u003d\"$SUMMARY_FAIL $SUF\""},{"line_number":432,"context_line":"            exit_code\u003d33"},{"line_number":433,"context_line":"            printf \"$outbuf\""},{"line_number":434,"context_line":"            continue"},{"line_number":435,"context_line":"        else"},{"line_number":436,"context_line":"            output \"test run $SUF: all tests OK (saw expected failure).\""},{"line_number":437,"context_line":"            SUMMARY_OK\u003d\"$SUMMARY_OK $SUF\""}],"source_content_type":"text/x-properties","patch_set":5,"id":"e37a40a4_bab6d266","line":434,"updated":"2026-08-25 07:23:56.000000000","message":"This `else` branch does not kill the OpenVPN process like the branch above does (i.e. `$RUN_SUDO $KILL_EXEC $sudopid`).","commit_id":"b60ab3c9f41d033dd44c5b0f70f23a0da11224a9"}]}
