Mercurial > ift6266
annotate test.py @ 266:1e4e60ddadb1
Merge. Ah, et dans le dernier commit, j'avais oublié de mentionner que j'ai ajouté du code pour gérer l'isolation de différents clones pour rouler des expériences et modifier le code en même temps.
author | fsavard |
---|---|
date | Fri, 19 Mar 2010 10:56:16 -0400 |
parents | 6ea5dcf0541e |
children |
rev | line source |
---|---|
160
68160fd149fe
Simple script to doctest all modules beneath ift6266.
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff
changeset
|
1 import doctest, sys, pkgutil |
68160fd149fe
Simple script to doctest all modules beneath ift6266.
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff
changeset
|
2 |
193
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
3 def runTests(): |
160
68160fd149fe
Simple script to doctest all modules beneath ift6266.
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff
changeset
|
4 import ift6266 |
68160fd149fe
Simple script to doctest all modules beneath ift6266.
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff
changeset
|
5 for (_, name, ispkg) in pkgutil.walk_packages(ift6266.__path__, ift6266.__name__+'.'): |
68160fd149fe
Simple script to doctest all modules beneath ift6266.
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff
changeset
|
6 if not ispkg: |
174
ff26436d42d6
Make data_generation.transformations importable and fixup test.py to not try some of the modules.
Arnaud Bergeron <abergeron@gmail.com>
parents:
162
diff
changeset
|
7 if name.startswith('ift6266.scripts.') or \ |
ff26436d42d6
Make data_generation.transformations importable and fixup test.py to not try some of the modules.
Arnaud Bergeron <abergeron@gmail.com>
parents:
162
diff
changeset
|
8 name.startswith('ift6266.data_generation.transformations.pycaptcha.') or \ |
ff26436d42d6
Make data_generation.transformations importable and fixup test.py to not try some of the modules.
Arnaud Bergeron <abergeron@gmail.com>
parents:
162
diff
changeset
|
9 name in ['ift6266.test', |
ff26436d42d6
Make data_generation.transformations importable and fixup test.py to not try some of the modules.
Arnaud Bergeron <abergeron@gmail.com>
parents:
162
diff
changeset
|
10 'ift6266.data_generation.transformations.testmod', |
ff26436d42d6
Make data_generation.transformations importable and fixup test.py to not try some of the modules.
Arnaud Bergeron <abergeron@gmail.com>
parents:
162
diff
changeset
|
11 'ift6266.data_generation.transformations.gimp_script']: |
160
68160fd149fe
Simple script to doctest all modules beneath ift6266.
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff
changeset
|
12 continue |
193
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
13 test(name) |
160
68160fd149fe
Simple script to doctest all modules beneath ift6266.
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff
changeset
|
14 |
195
92c9a6c48ce9
Add option for test.py to test modules specified on the command-line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
15 def test(name): |
193
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
16 import ift6266 |
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
17 predefs = ift6266.__dict__ |
195
92c9a6c48ce9
Add option for test.py to test modules specified on the command-line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
18 options = doctest.ELLIPSIS or doctest.DONT_ACCEPT_TRUE_FOR_1 |
193
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
19 print "Testing:", name |
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
20 __import__(name) |
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
21 doctest.testmod(sys.modules[name], extraglobs=predefs, optionflags=options) |
160
68160fd149fe
Simple script to doctest all modules beneath ift6266.
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff
changeset
|
22 |
68160fd149fe
Simple script to doctest all modules beneath ift6266.
Arnaud Bergeron <abergeron@gmail.com>
parents:
diff
changeset
|
23 if __name__ == '__main__': |
193
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
24 if len(sys.argv) > 1: |
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
25 for mod in sys.argv[1:]: |
195
92c9a6c48ce9
Add option for test.py to test modules specified on the command-line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
26 if mod.endswith('.py'): |
92c9a6c48ce9
Add option for test.py to test modules specified on the command-line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
27 mod = mod[:-3] |
193
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
28 test(mod) |
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
29 else: |
92ee9896020d
Add option to test a module given on the command line.
Arnaud Bergeron <abergeron@gmail.com>
parents:
174
diff
changeset
|
30 runTests() |