-
Notifications
You must be signed in to change notification settings - Fork 103
Description
Hello hello !
Je suis le fan numéro un d'OpenFisca, mais je viens de rencontrer un problème.
Ce problème est connecté à openfisca/openfisca-core#1293.
Qu'ai-je fait ?
J'ai voulu faire une démo de l'arbre de calcul disponible à des collègues voulant debugger un calcul openfisca-france.
À quoi m'attendais-je ?
Sur la dernière version d'openfisca-france (169.5.0) voir l'arbre de calcul pour un test choisi au hasard dans la base de tests. Commande utilisée :
openfisca test tests/formulas/aides_logement.yaml -n "Aides logements - les enfants de moins de 21 ans sont considérés à charge" -c openfisca_france -vQue s'est-il passé en réalité ?
-
Problème d'information à la marge de cette issue
J'avais encore oublié que la trace, même en la présence de l'option-vne s'affichait que si le test échouait parce qu'on hérite du fonctionnement depytestme semble-t-il (mais aucune information ne me l'a précisé quand je n'ai pas eu de trace 😢 et pour la n-ième fois, j'ai douté entre un problème provenant du code et un problème entre la table et la chaise). -
Erreur
Dans le test YAML, j'ai remplacé arbitrairement l'output attendu de1à2pour le faire échouer. Et là, patatras :TypeError: '>' not supported between instances of 'int' and 'NoneType'😵
Et cela proviendrait de la trace parce qu'il y a ensuite :../../../.local/share/virtualenvs/fr169-5/lib/python3.11/site-packages/openfisca_core/tracers/computation_log.py:58: TypeError- et que l'erreur ne survient pas si on retire l'option
-và notre commandeopenfisca test
Voici des informations qui peuvent aider à reproduire le problème :
Le problème ne se produit pas avant openfisca-france v169 qui bump la version d'openfisca-core.
À première vue, il s'agit d'un bug d'openfisca-core.
Détail de la trace ➡️
(...)
self = <openfisca_core.tracers.computation_log.ComputationLog object at 0x11eb6a810>
node = TraceNode(name='al_nb_personnes_a_charge', period=Period((<DateUnit.MONTH: 'month'>, Instant((2015, 1, 1)), 1)), paren...[], value=9447.21, start=0.0, end=0.0)], value=array([1], dtype=int32), start=1731580560.159484, end=1731580561.962954)
depth = 1, aggregate = False, max_depth = None
def _get_node_log(
self,
node: t.TraceNode,
depth: int,
aggregate: bool,
max_depth: int = sys.maxsize,
) -> list[str]:
> if depth > max_depth:
E TypeError: '>' not supported between instances of 'int' and 'NoneType'
aggregate = False
depth = 1
max_depth = None
node = TraceNode(name='al_nb_personnes_a_charge', period=Period((<DateUnit.MONTH: 'month'>, Instant((2015, 1, 1)), 1)), paren...[], value=9447.21, start=0.0, end=0.0)], value=array([1], dtype=int32), start=1731580560.159484, end=1731580561.962954)
self = <openfisca_core.tracers.computation_log.ComputationLog object at 0x11eb6a810>
../../../.local/share/virtualenvs/fr169-5/lib/python3.11/site-packages/openfisca_core/tracers/computation_log.py:58: TypeError
=========================== short test summary info ============================
FAILED tests/formulas/aides_logement.yaml:: - TypeError: '>' not supported be...
!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!
============================== 1 failed in 6.70s ===============================Contexte
Je m'identifie plus en tant que :
- Contributeur·e : je contribue à OpenFisca France.
- Développeur·e : je crée des outils qui utilisent OpenFisca France.
- Mainteneur·e : j'intègre les contributions à OpenFisca France.