Skip to content

#509 [CI] fix: sortir les stubs de test de saturne, et corriger ce qu'ils masquaient - #510

Merged
nicolas-eoxia merged 1 commit into
Evarisk:developfrom
nicolas-eoxia:ci/509-exclusion-stubs
Sep 25, 2026
Merged

nicolas-eoxia merged 1 commit into
Evarisk:developfrom
nicolas-eoxia:ci/509-exclusion-stubs

Conversation

@nicolas-eoxia

Copy link
Copy Markdown
Contributor

Closes #509

phpstan.neon prenait ../saturne/ en entier dans scanDirectories, tests/ compris. Le bootstrap PHPUnit du socle y déclare des bouchons DoliDB, Conf, Translate, User et HookManager qui gagnent sur les vraies classes du coeur dans le sparse-checkout de la CI : les appels qu'ils ne connaissent pas ne sont plus résolus, et des erreurs réelles disparaissent de l'analyse. Le piège est qu'un tel trou ne fait jamais rougir la CI.

Les cinq erreurs démasquées sont corrigées, pas gelées — la baseline n'a pas bougé :

Fichier Erreur Correction
admin/setup.php:106 Loose comparison using == between 'update' and 'update' will always evaluate to true le test était à l'intérieur du bloc qui teste déjà cette égalité ; l'affectation reste, la condition morte disparaît
class/api_dolicar.class.php:176 `Cannot access property $rowid on object false`
view/registrationcertificatefr/quickcreation.php:324 trois dol_mktime expects int, string given les trois composantes de la date de première immatriculation passent en GETPOSTINT

Analyse rejouée en local avec le phar PHPStan et PHP 8.1, sur le périmètre complet : No errors.

Dernier module du parc à recevoir cette exclusion, après Digirisk (#5266), DigiQuali (#2628), DoliMeet (#929), DoliSIRH (#696), DigiBoard (#53) et EasyURL (#152).

🤖 Generated with Claude Code

…r ce qu'ils masquaient

phpstan.neon prenait ../saturne/ en entier : les bouchons DoliDB, Conf,
Translate, User et HookManager du bootstrap PHPUnit gagnaient sur les vraies
classes du coeur en CI, et l'analyse etait plus verte qu'elle ne devrait.

Les cinq erreurs ainsi revelees sont corrigees plutot que gelees, la baseline
n'a pas bouge :
- admin/setup.php testait $action == 'update' a l'interieur du bloc qui teste
  deja cette egalite ;
- l'API deferencait fetch_object() sans garde ;
- trois GETPOST non types partaient dans dol_mktime().

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@nicolas-eoxia
nicolas-eoxia merged commit 7231bd4 into Evarisk:develop Sep 25, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] PHPStan scanne les bouchons de test de Saturne : cinq erreurs réelles restent invisibles

1 participant