What does --no-skip do in nose?

R

Roy Smith

Environment:
Python 2.7.3
nose 1.3.0
Ubuntu 12.04 Linux

I'm befuddled about how test skipping, and in particular, --no-skip,
is supposed to work in nose. I've got a trivial test file:
from nose import SkipTest
def test_skip():
raise SkipTest
assert 0

If I run this, it skips the test, as expected:

$ nosetests try.py
S


What's confusing is, if I use --no-skip, it STILL skips the test:
$ nosetests --no-skip try.py

The only difference is it doesn't print the "S". Am I just
mis-understanding what --no-skip is supposed to do?
 
C

Chris Angelico

What's confusing is, if I use --no-skip, it STILL skips the test:

I don't know nosetests, but I'm fairly sure it's not going to be
mangling the Python language itself. Once you say "raise", the rest of
the code isn't going to run. If you were calling "skip_test()", then I
could imagine it either raising SkipTest or not based on a
command-line parameter, but if there's no such function and you
directly raise the exception, there's not a lot else Python can do.

ChrisA
 
N

Ned Batchelder

Environment:
Python 2.7.3
nose 1.3.0
Ubuntu 12.04 Linux

I'm befuddled about how test skipping, and in particular, --no-skip,
is supposed to work in nose. I've got a trivial test file:


If I run this, it skips the test, as expected:




What's confusing is, if I use --no-skip, it STILL skips the test:


The only difference is it doesn't print the "S". Am I just
mis-understanding what --no-skip is supposed to do?

I don't understand why, but my tests confirm what you found: if a test
raises SkipTest, then it is marked as an S, and included in the count of
tests run. If you run with --no-skip, then the result of the test isn't
displayed in the dots at all, but the test is still included in the
total count:

$ nosetests
F.S
======================================================================
FAIL: test_fail (test_foo.Test)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/ned/lab/test_foo.py", line 8, in test_fail
assert 0
AssertionError

----------------------------------------------------------------------
Ran 3 tests in 0.004s

FAILED (SKIP=1, failures=1)

$ nosetests --no-skip
F.
======================================================================
FAIL: test_fail (test_foo.Test)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,772
Messages
2,569,593
Members
45,111
Latest member
KetoBurn
Top