I am writing python tests with unittest and running the tests from the command line with
nosetests --with-coverage -x
When I include numpy in one of my tests it tries to test the numpy packages as well. Example output:
...
Name Stmts Miss Cover Missing
-------------------------------------------------------------
CLOCK 39 33 15% 3, 7-13, 17, 20-25, 28-47
LFU 42 1 98% 52
LRU 95 9 91% 12, 64, 68, 101, 115-118, 131
LRU10 54 1 98% 68
LRU3 54 1 98% 68
argparse 1177 1177 0% 3-2361
cache 86 33 62% 36-47, 86-89, 95-116
common 87 54 38% 17, 20, 23, 28, 31-32, 35-36, 39, 42, 46, 48, 50, 52, 54, 57-64, 67-68, 72-89, 95-96, 102-107, 112-118, 123
ctypes 341 341 0% 4-555
ctypes._endian 35 35 0% 4-64
numpy 56 56 0% 107-197
numpy.__config__ 27 27 0% 3-32
numpy._import_tools 224 224 0% 1-348
numpy.add_newdocs 275 275 0% 11-7459
numpy.compat 8 8 0% 11-20
numpy.compat._inspect 106 106 0% 8-221
numpy.compat.py3k 57 57 0% 5-89
numpy.core 56 56 0% 1-74
numpy.core._internal 350 350 0% 7-570
numpy.core._methods 72 72 0% 6-130
numpy.core.arrayprint 354 354 0% 6-752
numpy.core.defchararray 364 364 0% 18-2686
numpy.core.fromnumeric 310 310 0% 4-2918
numpy.core.function_base 24 24 0% 1-173
numpy.core.getlimits 132 132 0% 4-306
numpy.core.info 3 3 0% 84-87
numpy.core.machar 186 186 0% 8-338
numpy.core.memmap 83 83 0% 1-305
numpy.core.numeric 523 523 0% 1-2730
numpy.core.numerictypes 381 381 0% 83-1035
numpy.core.records 356 356 0% 37-808
numpy.core.shape_base 50 50 0% 1-277
numpy.ctypeslib 187 187 0% 52-426
numpy.fft 7 7 0% 1-11
numpy.fft.fftpack 109 109 0% 33-1119
numpy.fft.helper 51 51 0% 5-223
numpy.fft.info 2 2 0% 177-179
numpy.lib 38 38 0% 1-45
numpy.lib._datasource 178 178 0% 34-656
numpy.lib._iotools 372 372 0% 4-874
numpy.lib.arraypad 383 383 0% 6-1469
numpy.lib.arraysetops 98 98 0% 27-450
numpy.lib.arrayterator 72 72 0% 10-224
numpy.lib.financial 112 112 0% 11-735
numpy.lib.format 178 178 0% 137-614
numpy.lib.function_base 889 889 0% 1-3555
numpy.lib.index_tricks 250 250 0% 1-849
numpy.lib.info 3 3 0% 148-151
numpy.lib.nanfunctions 138 138 0% 17-838
numpy.lib.npyio 729 729 0% 1-1899
numpy.lib.polynomial 386 386 0% 5-1266
numpy.lib.scimath 55 55 0% 18-560
numpy.lib.shape_base 200 200 0% 1-834
numpy.lib.stride_tricks 48 48 0% 8-121
numpy.lib.twodim_base 116 116 0% 4-929
numpy.lib.type_check 104 104 0% 4-605
numpy.lib.ufunclike 23 23 0% 6-177
numpy.lib.utils 517 517 0% 1-1134
numpy.linalg 6 6 0% 45-54
numpy.linalg.info 2 2 0% 35-37
numpy.linalg.linalg 530 530 0% 11-2131
numpy.ma 15 15 0% 39-58
numpy.ma.core 2324 2324 0% 23-7243
numpy.ma.extras 610 610 0% 11-1885
numpy.matrixlib 6 6 0% 4-12
numpy.matrixlib.defmatrix 286 286 0% 1-1094
numpy.polynomial 11 11 0% 16-29
numpy.polynomial.chebyshev 432 432 0% 88-2015
numpy.polynomial.hermite 382 382 0% 60-1750
numpy.polynomial.hermite_e 379 379 0% 60-1746
numpy.polynomial.laguerre 379 379 0% 60-1742
numpy.polynomial.legendre 386 386 0% 84-1768
numpy.polynomial.polynomial 302 302 0% 56-1493
numpy.polynomial.polytemplate 4 4 0% 12-17
numpy.polynomial.polyutils 67 67 0% 34-384
numpy.random 13 13 0% 89-114
numpy.random.info 3 3 0% 85-89
numpy.version 7 7 0% 3-10
statistics 19 2 89% 24-25
statistics.countingghost 84 44 48% 43-60, 66-69, 75-80, 83-89, 93-104, 107, 110-113
statistics.rounder 89 17 81% 29, 40, 70-83, 112-113
-------------------------------------------------------------
TOTAL 17686 17145 3%
----------------------------------------------------------------------
Ran 3 tests in 3.279s
OK
How can I correctly ignore the numpy tests with the -I -m or -e parameters? I could pipe this to grep -v numpy but that is not cool.
There is a nose plugin specifically for the task - nose-exclude:
nose-exclude is a Nose plugin that allows you to easily specify directories to be excluded from testing.
Another option is to specify omit
configuration parameter in .coveragerc
file:
omit (multi-string): a list of filename patterns, the files to leave out of measurement or reporting.
See also: How to exclude mock package from python coverage report using nosetests
You can also specify which package you'd like to run tests for when you call nose with the --cover-package
flag.
nosetests --with-coverage --cover-package=the-name-of-your-package -x
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With