2014-07-14 4 views
0

J'ai un code différent dans mes tests qui doit être exécuté selon qu'un plugin est chargé ou non.Détection si un plugin est chargé dans nosetests

Si le plugin est chargé, il doit rediriger toute la sortie du programme vers un canal nommé afin que le plugin puisse le capturer pour la journalisation. Si c'est pas chargé, alors le programme devrait ouvrir une fenêtre de terminal avec un 'queue -f' sur le tuyau nommé afin que je puisse voir la sortie.

Alternativement, un moyen de lire à partir du tuyau et de remettre les données lues dans ou dans un nouveau tuyau résoudrait mon problème. J'ai essayé de tirer la sortie vers un autre tuyau, mais cela ne semblait pas fonctionner, aucune donnée ne serait lue depuis le deuxième tuyau. Ceci, bien sûr, aurait pu être une erreur de l'utilisateur.

Merci!

Répondre

0

Vous pouvez toujours injecter import pdb; pdb.set_trace() dans un plugin lui-même dans la méthode config de plugin. Il y aurait quelque chose comme ceci:

if condition_to_enable_plugin: 
    #this is the place to put breakpoint, print, etc 
    self.enabled = True 

Ne pas oublier de courir avec le drapeau -s pour vous assurer que vous pouvez communiquer avec le débogueur et stdout n'est pas caché.

Questions connexes