#!/usr/bin/env bash # Smoke test:harness — runner real (phpunit via composer) en el proyecto temporal. # Recibe PROJ, PKG, RESULTS. set -u res() { echo "$PKG:harness|$1" >> "$RESULTS"; } cd "$PROJ" || { res fail; exit 0; } if [ ! -f composer.json ]; then printf '{"name":"duckbrain/compat-probe","require":{}}\n' > composer.json fi if ! COMPOSER_NO_INTERACTION=1 composer require --dev phpunit/phpunit:^11.0 fakerphp/faker \ --no-interaction >/dev/null 2>"$PROJ/../composer.err"; then echo " composer require fallo:" >&2 sed 's/^/ /' "$PROJ/../composer.err" >&2 res fail exit 0 fi if ! ./vendor/bin/phpunit >/dev/null 2>"$PROJ/../phpunit.err"; then echo " phpunit fallo:" >&2 sed 's/^/ /' "$PROJ/../phpunit.err" >&2 res fail exit 0 fi res ok