https://integration.wikimedia.org/ci/job/composer-package-php81-docker/41/console
22:42:28 1) Wikimedia\Shellbox\Tests\ShellParser\PEGParserTest::testParse with data set #6 (''a'\''a'', '<program><complete_command><s...ogram>') 22:42:28 Failed asserting that two strings are identical. 22:42:28 --- Expected 22:42:28 +++ Actual 22:42:28 @@ @@ 22:42:28 -'<program><complete_command><simple_command><word><single_quote>a</single_quote><bare_escape>'</bare_escape><single_quote>a</single_quote></word></simple_command></complete_command></program>' 22:42:28 +'<program><complete_command><simple_command><word><single_quote>a</single_quote><bare_escape>'</bare_escape><single_quote>a</single_quote></word></simple_command></complete_command></program>'
According to https://www.php.net/manual/en/function.htmlspecialchars.php the default flags for htmlspecialchars are changed in php8.1 and possible the issue for this different (escaping vs. no escaping)