I'm QAing https://github.com/civicrm/civicrm-core/pull/9255 and trying to run a couple of relevant test locally:
~/src/civicrm-buildkit/build/qa/sites/all/modules/civicrm$ tools/scripts/phpunit api_v3_JobProcessMailingTest --filter testConcurrency
I'm getting the following error output from each time the test uses CiviUnitTestCase::createExternalAPI to call the API:
[is_error] => 1
[error_message] => External API returned malformed response.
[trace] => Array
(
[code] => 127
[stdout] =>
[stderr] => sh: 1: cv: not found
)
cv api Contact.get works as expected from the same directory.
Any ideas on what to do next to debug? I get why the test wants to do things concurrently, but my eyes start glazing over (only a little!) when I start looking at civicrm/Civi/API/ExternalBatch.php and I'm hoping I might have overlooked something 'obvious'.
tests/phpunit/CiviTest/bootstrap.php
, but I'm not convinced that's the right place. In any case, this DOES work for me.^A
, which might be relevant (CiviCRM uses this character as a value separator). Asker closes with "I would encourage anyone with a similar problem to look for hidden characters in the string used with popen()."