30 lines
793 B
Bash
Executable File
30 lines
793 B
Bash
Executable File
#!/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
|