openfisca / openfisca-france

French tax and benefit system for OpenFisca
https://openfisca.org/fr
260 stars 99 forks source link

TypeError à l'utilisation du tracer sur test YAML #2387

Open sandcha opened 2 weeks ago

sandcha commented 2 weeks ago

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 -v

Que s'est-il passé en réalité ?

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 :

benjello commented 2 weeks ago

@sandcha : même problème qu'ici https://github.com/openfisca/openfisca-core/issues/1293