Search code examples
pythoncode-coveragenosenosetests

Can I restrict nose coverage output to directory (rather than package)?


My SUT looks like:

foo.py
bar.py
tests/__init__.py [empty]
tests/foo_tests.py
tests/bar_tests.py
tests/integration/__init__.py [empty]
tests/integration/foo_tests.py
tests/integration/bar_tests.py

When I run nosetests --with-coverage, I get details for all sorts of modules that I'd rather ignore. But I can't use the --cover-package=PACKAGE option because foo.py & bar.py are not in a package. (See the thread after http://lists.idyll.org/pipermail/testing-in-python/2008-November/001091.html for my reasons for not putting them in a package.)

Can I restrict coverage output to just foo.py & bar.py?

Update - Assuming that there isn't a better answer than Nadia's below, I've asked a follow up question: "How do I write some (bash) shell script to convert all matching filenames in directory to command-line options?"


Solution

  • You can use it like this:

    --cover-package=foo --cover-package=bar
    

    I had a quick look at nose source code to confirm: This is the line

        if options.cover_packages:
            for pkgs in [tolist(x) for x in options.cover_packages]: