test_all.py can't recognize has multi inherited classes

Hi All, I tried to run test cases for jvm backend by the following command, pypy pypy/test_all.py rpython/translator/jvm/test but what I got was 10 tests defined in rpython/translator/jvm/test/test_backendopt.py although there are two dozens of test files in that directory. After experiment, I found that it failed to collect test within a multi inherited class. Take test_constant.py as an example, it defines a class, class TestConstant(BaseTestConstant, JvmTest): pass and JvmTest is defined as, class JvmTest(BaseRtypingTest, OORtypeMixin): ...... When I executed the folloing, ypy pypy/test_all.py rpython/translator/jvm/test/test_constant.py --collectonly it reported 0 item was collected. If I remove BaseTestConstant from TestConstant's super classes, it still reports 0 item collected; but if I remove JvmTest from its super classes, it reports 18 items are collected. I'm wondering how the daily test solve this problem? Thanks, James Lan

Hi James, Interesting find, i can replicate and i don't yet see how it happens, because the code pytest uses does walk the mro to find tests in parent classes i will report back once i figured whats wrong -- Ronny On 02/15/2013 08:14 AM, James Lan wrote:
Hi All,
I tried to run test cases for jvm backend by the following command,
pypy pypy/test_all.py rpython/translator/jvm/test
but what I got was 10 tests defined in rpython/translator/jvm/test/test_backendopt.py although there are two dozens of test files in that directory.
After experiment, I found that it failed to collect test within a multi inherited class. Take test_constant.py as an example, it defines a class,
class TestConstant(BaseTestConstant, JvmTest): pass
and JvmTest is defined as,
class JvmTest(BaseRtypingTest, OORtypeMixin): ......
When I executed the folloing,
ypy pypy/test_all.py rpython/translator/jvm/test/test_constant.py --collectonly
it reported 0 item was collected. If I remove BaseTestConstant from TestConstant's super classes, it still reports 0 item collected; but if I remove JvmTest from its super classes, it reports 18 items are collected.
I'm wondering how the daily test solve this problem?
Thanks, James Lan
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev

i confirmed the issue - its in the included pytest and its fixed upstream its going to be fixed in the pytest branch of pypy later On 02/15/2013 08:34 AM, Ronny Pfannschmidt wrote:
Hi James,
Interesting find,
i can replicate and i don't yet see how it happens, because the code pytest uses does walk the mro to find tests in parent classes
i will report back once i figured whats wrong
-- Ronny
On 02/15/2013 08:14 AM, James Lan wrote:
Hi All,
I tried to run test cases for jvm backend by the following command,
pypy pypy/test_all.py rpython/translator/jvm/test
but what I got was 10 tests defined in rpython/translator/jvm/test/test_backendopt.py although there are two dozens of test files in that directory.
After experiment, I found that it failed to collect test within a multi inherited class. Take test_constant.py as an example, it defines a class,
class TestConstant(BaseTestConstant, JvmTest): pass
and JvmTest is defined as,
class JvmTest(BaseRtypingTest, OORtypeMixin): ......
When I executed the folloing,
ypy pypy/test_all.py rpython/translator/jvm/test/test_constant.py --collectonly
it reported 0 item was collected. If I remove BaseTestConstant from TestConstant's super classes, it still reports 0 item collected; but if I remove JvmTest from its super classes, it reports 18 items are collected.
I'm wondering how the daily test solve this problem?
Thanks, James Lan
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev

On Fri, Feb 15, 2013 at 9:45 AM, Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> wrote:
i confirmed the issue - its in the included pytest and its fixed upstream
its going to be fixed in the pytest branch of pypy later
Can't you fix it on default?
On 02/15/2013 08:34 AM, Ronny Pfannschmidt wrote:
Hi James,
Interesting find,
i can replicate and i don't yet see how it happens, because the code pytest uses does walk the mro to find tests in parent classes
i will report back once i figured whats wrong
-- Ronny
On 02/15/2013 08:14 AM, James Lan wrote:
Hi All,
I tried to run test cases for jvm backend by the following command,
pypy pypy/test_all.py rpython/translator/jvm/test
but what I got was 10 tests defined in rpython/translator/jvm/test/test_backendopt.py although there are two dozens of test files in that directory.
After experiment, I found that it failed to collect test within a multi inherited class. Take test_constant.py as an example, it defines a class,
class TestConstant(BaseTestConstant, JvmTest): pass
and JvmTest is defined as,
class JvmTest(BaseRtypingTest, OORtypeMixin): ......
When I executed the folloing,
ypy pypy/test_all.py rpython/translator/jvm/test/test_constant.py --collectonly
it reported 0 item was collected. If I remove BaseTestConstant from TestConstant's super classes, it still reports 0 item collected; but if I remove JvmTest from its super classes, it reports 18 items are collected.
I'm wondering how the daily test solve this problem?
Thanks, James Lan
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev
_______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev

On 02/15/2013 08:55 AM, Maciej Fijalkowski wrote:
On Fri, Feb 15, 2013 at 9:45 AM, Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de> wrote:
i confirmed the issue - its in the included pytest and its fixed upstream
its going to be fixed in the pytest branch of pypy later
Can't you fix it on default?
i need to investigate the effects of the update first
On 02/15/2013 08:34 AM, Ronny Pfannschmidt wrote:
Hi James,
Interesting find,
i can replicate and i don't yet see how it happens, because the code pytest uses does walk the mro to find tests in parent classes
i will report back once i figured whats wrong
-- Ronny
On 02/15/2013 08:14 AM, James Lan wrote:
Hi All,
I tried to run test cases for jvm backend by the following command,
pypy pypy/test_all.py rpython/translator/jvm/test
but what I got was 10 tests defined in rpython/translator/jvm/test/test_backendopt.py although there are two dozens of test files in that directory.
After experiment, I found that it failed to collect test within a multi inherited class. Take test_constant.py as an example, it defines a class,
class TestConstant(BaseTestConstant, JvmTest): pass
and JvmTest is defined as,
class JvmTest(BaseRtypingTest, OORtypeMixin): ......
When I executed the folloing,
ypy pypy/test_all.py rpython/translator/jvm/test/test_constant.py --collectonly
it reported 0 item was collected. If I remove BaseTestConstant from TestConstant's super classes, it still reports 0 item collected; but if I remove JvmTest from its super classes, it reports 18 items are collected.
I'm wondering how the daily test solve this problem?
Thanks, James Lan
participants (3)
-
James Lan
-
Maciej Fijalkowski
-
Ronny Pfannschmidt