[Chapel Merge] fix(mason-test): don't cause bus error when output

Branch: refs/heads/main
Revision: af684a0
Author: arezaii
Link: fix(mason-test): don't cause bus error when output contains a `)` by arezaii · Pull Request #19989 · chapel-lang/chapel · GitHub
Log Message:

Merge pull request #19989 from arezaii/mason-test-bugfix

fix(mason-test): don't cause bus error when output contains a )

This PR addresses a bug in mason test where a bus error would occur
if the user's code wrote any line ending with a ) that wasn't the result
of a test.

It also updates the output from mason test when a test fails to compile
to give the user a hint to try running mason test --show for more details.

  • mason test was matching a single closing paren and interpreting that
    as the result of running a unit test. This caused problems if the
    user test code did any writeln that would emit a closing paren, such
    as writing a tuple, or the default writeThis method. Reported by a user
    during CHIUW 2022 coding day.

  • when a mason test failed to compile, the resulting message didn't provide
    much help with what to try next. This updates the error message to include
    a suggestion to add the --show flag.

TESTING:

  • paratest
  • writing a line ending with ) doesn't cause bus error
  • a failed test compilation gives hint to run with --show

reviewed by @bmcdonald3 - thanks!

Signed-off-by: arezaii ahmad.rezaii@hpe.com

Modified Files:
M test/mason/mason-test/mason-test.good

M test/mason/mason-test/src/sampleModule.chpl
M tools/mason/MasonTest.chpl

Compare: https://github.com/chapel-lang/chapel/compare/46ffb75519e4...af684a0b0a42