2010-03-04 17 views
7

Aujourd'hui, je courais un tas de doctests en utilisant Python 2.6 sur Ubuntu 9.10 avec le nez:Pourquoi le nez trouve-t-il des tests dans des fichiers avec seulement 644 permissions?

nosetests --with-doctest 
Ran 0 tests in 0.001s 

OK 

WTF? J'ai eu des tests dans ces fichiers, pourquoi cela n'a-t-il pas fonctionné?

j'ai changé l'autorisation de 644:

sudo chmod 644 * -R 
nosetests --with-doctest 
Ran 11 test in 0.004s 

FAILED (errors=1) 

Changing nouveau à 777:

sudo chmod 777 * -R 
nosetests --with-doctest 
Ran 0 tests in 0.001s 

OK 

Pourquoi? En utilisant 644, je ne peux même pas éditer mes fichiers!

+0

-moins à Ayant besoin dire, le propriétaire du fichier est moi. –

+0

Wow, j'ai posté cela il y a 1h et c'est déjà la première entrée dans Google pour "nose permission 644". Je ne sais pas ce qui me surprend le plus: combien de choses deviennent célèbres, ou combien Google devient rapide. –

+1

Pourquoi ne pas éditer vos fichiers? 644 == -rw-r - r-- – codeape

Répondre

11

Essayez le drapeau --exe:

$ nosetests --help 

...  

--exe    Look for tests in python modules that are executable. 
        Normal behavior is to exclude executable modules, 
        since they may not be import-safe [NOSE_INCLUDE_EXE] 
+0

Doux! Merci beaucoup. –

+1

J'aimerais bien comprendre pourquoi --exe n'est pas le comportement par défaut. Il a fallu du temps pour découvrir ce problème! Argh! – Jaskirat