nicer error message for non-collectable test files / items
fixes issue #27 --HG-- branch : 1.0.x
This commit is contained in:
parent
cea46a86aa
commit
58c6971dc8
|
@ -5,7 +5,10 @@ Changes between 1.0.0 and 1.0.1
|
||||||
work within tests, they are encoded as "utf8" by default, terminalwriting
|
work within tests, they are encoded as "utf8" by default, terminalwriting
|
||||||
was adapted and somewhat unified between windows and linux
|
was adapted and somewhat unified between windows and linux
|
||||||
|
|
||||||
* terser reporting of collection error tracebacks, now skips py-internals
|
* fix issue #27: better reporting on non-collectable items given on commandline
|
||||||
|
(e.g. pyc files)
|
||||||
|
|
||||||
|
* terser reporting of collection error tracebacks
|
||||||
|
|
||||||
* renaming of arguments to some special rather internal hooks
|
* renaming of arguments to some special rather internal hooks
|
||||||
|
|
||||||
|
|
|
@ -167,16 +167,13 @@ class Node(object):
|
||||||
if colitem.fspath == fspath or colitem.name == basename:
|
if colitem.fspath == fspath or colitem.name == basename:
|
||||||
l.append(colitem)
|
l.append(colitem)
|
||||||
if not l:
|
if not l:
|
||||||
msg = ("Collector %r does not provide %r colitem "
|
raise self.config.Error("can't collect: %s" %(fspath,))
|
||||||
"existing colitems are: %s" %
|
|
||||||
(cur, fspath, colitems))
|
|
||||||
raise AssertionError(msg)
|
|
||||||
if basenames:
|
if basenames:
|
||||||
if len(l) > 1:
|
if len(l) > 1:
|
||||||
msg = ("Collector %r has more than one %r colitem "
|
msg = ("Collector %r has more than one %r colitem "
|
||||||
"existing colitems are: %s" %
|
"existing colitems are: %s" %
|
||||||
(cur, fspath, colitems))
|
(cur, fspath, colitems))
|
||||||
raise AssertionError(msg)
|
raise self.config.Error("xxx-too many test types for: %s" % (fspath, ))
|
||||||
cur = l[0]
|
cur = l[0]
|
||||||
else:
|
else:
|
||||||
if len(l) > 1:
|
if len(l) > 1:
|
||||||
|
|
|
@ -67,3 +67,12 @@ class TestGeneralUsage:
|
||||||
"E ImportError: No module named does_not_work",
|
"E ImportError: No module named does_not_work",
|
||||||
])
|
])
|
||||||
assert result.ret == 1
|
assert result.ret == 1
|
||||||
|
|
||||||
|
def test_not_collectable_arguments(self, testdir):
|
||||||
|
p1 = testdir.makepyfile("")
|
||||||
|
p2 = testdir.makefile(".pyc", "123")
|
||||||
|
result = testdir.runpytest(p1, p2)
|
||||||
|
assert result.ret != 0
|
||||||
|
assert result.stderr.fnmatch_lines([
|
||||||
|
"*ERROR: can't collect: %s" %(p2,)
|
||||||
|
])
|
||||||
|
|
Loading…
Reference in New Issue