Closed jrieken closed 3 years ago
readings from output channel
cwd: ~/Code/_samples/devfest
> /usr/bin/python3 -c "
import unittest
import inspect
def get_sourceline(obj):
s, n = inspect.getsourcelines(obj)
for i, v in enumerate(s):
if v.strip().startswith('def'):
return str(n+i)
return '*'
def generate_test_cases(suite):
for test in suite:
if isinstance(test, unittest.TestCase):
yield test
else:
for test_case in generate_test_cases(test):
yield test_case
loader = unittest.TestLoader()
suite = loader.discover(".", pattern="*test.py")
print("start") # Don't remove this line
loader_errors = []
for s in generate_test_cases(suite):
tm = getattr(s, s._testMethodName)
testId = s.id()
if testId.startswith("unittest.loader._FailedTest"):
loader_errors.append(s._exception)
else:
print(testId.replace(".", ":") + ":" + get_sourceline(tm))
for error in loader_errors:
try:
print("=== exception start ===")
print(error.msg)
print("=== exception end ===")
except:
pass
"
cwd: ~/Code/_samples/devfest
> /usr/bin/python3 -c "
import unittest
import inspect
def get_sourceline(obj):
s, n = inspect.getsourcelines(obj)
for i, v in enumerate(s):
if v.strip().startswith('def'):
return str(n+i)
return '*'
def generate_test_cases(suite):
for test in suite:
if isinstance(test, unittest.TestCase):
yield test
else:
for test_case in generate_test_cases(test):
yield test_case
loader = unittest.TestLoader()
suite = loader.discover(".", pattern="*test.py")
print("start") # Don't remove this line
loader_errors = []
for s in generate_test_cases(suite):
tm = getattr(s, s._testMethodName)
testId = s.id()
if testId.startswith("unittest.loader._FailedTest"):
loader_errors.append(s._exception)
else:
print(testId.replace(".", ":") + ":" + get_sourceline(tm))
for error in loader_errors:
try:
print("=== exception start ===")
print(error.msg)
print("=== exception end ===")
except:
pass
"
cwd: ~/Code/_samples/devfest
> /usr/bin/python3 -c "
import unittest
import inspect
def get_sourceline(obj):
s, n = inspect.getsourcelines(obj)
for i, v in enumerate(s):
if v.strip().startswith('def'):
return str(n+i)
return '*'
def generate_test_cases(suite):
for test in suite:
if isinstance(test, unittest.TestCase):
yield test
else:
for test_case in generate_test_cases(test):
yield test_case
loader = unittest.TestLoader()
suite = loader.discover(".", pattern="*test.py")
print("start") # Don't remove this line
loader_errors = []
for s in generate_test_cases(suite):
tm = getattr(s, s._testMethodName)
testId = s.id()
if testId.startswith("unittest.loader._FailedTest"):
loader_errors.append(s._exception)
else:
print(testId.replace(".", ":") + ":" + get_sourceline(tm))
for error in loader_errors:
try:
print("=== exception start ===")
print(error.msg)
print("=== exception end ===")
except:
pass
"
cwd: ~/Code/_samples/devfest
> /usr/bin/python3 -c "
import unittest
import inspect
def get_sourceline(obj):
s, n = inspect.getsourcelines(obj)
for i, v in enumerate(s):
if v.strip().startswith('def'):
return str(n+i)
return '*'
def generate_test_cases(suite):
for test in suite:
if isinstance(test, unittest.TestCase):
yield test
else:
for test_case in generate_test_cases(test):
yield test_case
loader = unittest.TestLoader()
suite = loader.discover(".", pattern="*test.py")
print("start") # Don't remove this line
loader_errors = []
for s in generate_test_cases(suite):
tm = getattr(s, s._testMethodName)
testId = s.id()
if testId.startswith("unittest.loader._FailedTest"):
loader_errors.append(s._exception)
else:
print(testId.replace(".", ":") + ":" + get_sourceline(tm))
for error in loader_errors:
try:
print("=== exception start ===")
print(error.msg)
print("=== exception end ===")
except:
pass
"
cwd: ~/Code/_samples/devfest
@jrieken You cannot name your file unittest.py
and import a module called unittest
in it. Module names in python are the file names. and this essentially overrides the unittest
module.
Testing #17055
https://user-images.githubusercontent.com/1794099/130595854-0c1c6609-763a-4ce1-baf2-0ae4b4629e39.mov