cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andres de la Peña (Jira) <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-16841) Unexpectedly ignored dtests
Date Tue, 07 Sep 2021 17:35:00 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-16841?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17411384#comment-17411384
] 

Andres de la Peña commented on CASSANDRA-16841:
-----------------------------------------------

We already have [a warning|https://github.com/apache/cassandra-dtest/blob/trunk/conftest.py#L610-L611] about
the tests ignored due to the lack of resources, it's [slightly modified|https://github.com/apache/cassandra-dtest/blob/ccc663461727a363121e8937efe44db1d34fb843/conftest.py#L611-L614]
in the PR. However the message is not printed on stdout with the default config. Maybe we
can make it visible for example emitting it with {{logger.warning}} instead of {{logger.info}}.

> Unexpectedly ignored dtests
> ---------------------------
>
>                 Key: CASSANDRA-16841
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16841
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Test/dtest/python
>            Reporter: Ruslan Fomkin
>            Assignee: Ruslan Fomkin
>            Priority: Normal
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> An issue, which I was hit:
> When one class in a dtest file is marked as resource intensive, then all tests in all
classes are treated as resource intensive. For example, [repair_tests/repair_test.py|https://github.com/apache/cassandra-dtest/blob/trunk/repair_tests/repair_test.py] contains
three classes and the last class is marked as resource intensive:
> {code:java}
> @pytest.mark.resource_intensive
> class TestRepairDataSystemTable(Tester):
> {code}
> So if I try to run an unmarked class: 
> {code:java}
> pytest --cassandra-dir=../cassandra repair_tests/repair_test.py::TestRepair --collect-only
--skip-resource-intensive-tests
> {code}
> then all tests are ignored
> {code:java}
> collected 36 items / 36 deselected 
> {code}
> This is because a test is treated to be marked if any class in the same file has the
mark. This bug was introduced in the fix of CASS-16399. Before only upgrade tests had such
behaviour, i.e., if a class is marked as upgrade test, then all tests are upgrade test in
the file.
>  
> This bug, for example, means that if the same file contains one class marked with vnodes
and another class with no_vnodes, then no tests will be executed in the file.
> I also noticed another issue that If a test run is executed with the argument {{-only-resource-intensive-tests}}
and there is no sufficient resources for resource intensive tests, then no tests were executed. Thus
it was necessary to provide {{-force-resource-intensive-tests}} in addition.
> Suggestions for the solutions:
>  # Require to mark each class and remove the special case of upgrade tests. This will
simplify the implementation and might be more obvious for new comers.
>  # Treat {{-only-resource-intensive-tests}} in the same way as {{-force-resource-intensive-tests}},
so it will be enough to just specify it even with no sufficient resources.
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


Mime
View raw message