Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
3 tasks done
sandcha opened this issue Nov 14, 2024 · 1 comment
Open
3 tasks done

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

sandcha opened this issue Nov 14, 2024 · 1 comment

Comments

@sandcha
Copy link
Contributor

sandcha commented Nov 14, 2024

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é ?

  • 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 -v ne s'affichait que si le test échouait parce qu'on hérite du fonctionnement de pytest me 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 de 1 à 2 pour 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 commande openfisca 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.
@benjello
Copy link
Member

@sandcha : même problème qu'ici openfisca/openfisca-core#1293

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

No branches or pull requests

2 participants