Jens Geyer created THRIFT-6302:
----------------------------------

             Summary: veralign.sh: jsonReplace reports failures as OK, and the 
file loop is not sorted
                 Key: THRIFT-6302
                 URL: https://issues.apache.org/jira/browse/THRIFT-6302
             Project: Thrift
          Issue Type: Bug
          Components: Build Process
            Reporter: Jens Geyer


Three smaller defects in {{build/veralign.sh}}, noticed while working on 
THRIFT-6301. None of them changes what a bump writes when it succeeds, but the 
first one hides a failure.

h3. jsonReplace reports a failure as OK

{noformat}
    result=$?
    if [ $? -ne 0 ]; then
{noformat}

The second {{$?}} is the status of the assignment {{result=$?}}, which is 
always 0, so the error branch never runs. With a malformed 
{{lib/js/package.json}}, veralign prints {{OK}} for that file and exits 0; the 
file keeps the old version, and a {{tmp.<pid>.json}} is left behind in the 
source root. The error branch would also print {{$count}}, which 
{{jsonReplace}} never sets.

h3. The file loop is not sorted

{noformat}
for file in $(echo "${!FILES[@]}" | sort); do
{noformat}

{{echo}} prints all keys on one line, so {{sort}} gets a single line, and the 
files are processed in the associative array's hash order. The table veralign 
prints comes out unsorted. Since the script stops at the first failure, which 
files have already been rewritten at that point depends on that order as well. 
Printing one key per line with {{printf}} before {{sort}} would fix it.

h3. Typos in comments

"hilighted", "hilighting", and "striing" (twice).

_Drafted with AI assistance (Claude Opus 5); filed on behalf of Jens Geyer._



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to