Rémi Lapeyre <remi.lape...@henki.fr> added the comment:

I checked and FunctionTestCase seems to completely break the loader. The tests 
for FunctionTestCase in the standard library instantiate the class from inside 
the method of a TestCase so the loader never see them but even the simple test 
file I attached completely  breaks:

✗ python3 -m unittest
E
======================================================================
Traceback (most recent call last):
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", 
line 193, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/runpy.py", 
line 86, in _run_code
    exec(code, run_globals)
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/__main__.py",
 line 18, in <module>
    main(module=None)
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/main.py",
 line 101, in __init__
    self.runTests()
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/main.py",
 line 271, in runTests
    self.result = testRunner.run(self.test)
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/runner.py",
 line 183, in run
    result.printErrors()
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/runner.py",
 line 109, in printErrors
    self.printErrorList('ERROR', self.errors)
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/runner.py",
 line 115, in printErrorList
    self.stream.writeln("%s: %s" % (flavour,self.getDescription(test)))
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/runner.py",
 line 47, in getDescription
    return '\n'.join((str(test), doc_first_line))
  File 
"/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/unittest/case.py",
 line 1472, in __str__
    self._testFunc.__name__)
AttributeError: 'str' object has no attribute '__name__'



I look at plenty of usages of FunctionTestCase on Github and all of them seemed 
to be false positive, they were copies of the 
unittest/test/test_functiontestcase.py file

The patch in the attached PR is not correct thought, it only fixes one of the 
loader and all of them suffer from the same issue.

----------
versions: +Python 3.10
Added file: https://bugs.python.org/file49196/test_functiontest.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue40690>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to