[
https://issues.apache.org/jira/browse/CASSANDRA-17964?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17619614#comment-17619614
]
Stefan Miklosovic edited comment on CASSANDRA-17964 at 10/18/22 3:40 PM:
-------------------------------------------------------------------------
I tried to incorporate Berenguer's approach and this is what I ended up with
(1).
It consists of two commits, the first commit one goes through (2) and fixes it
all (where applicable). On top of that, the second commit goes through (3).
For cases we use "Tester", what I saw was that it is abstract class which a
proper "*Test" extends. It is not {_}a test{_}. I do not think "Tester" is a
problem here.
Also, we can still rename stuff to "*ForTesting" like "TestMemtable" might be
"MemtableForTesting".
For cases like "MyTestSplit1" and "MyTestSplit2", this can be renamed to
"MyFirstSplitTest" and "MySecondSplitTest" or even better "MySplit1Test" and
"MySplit2Test".
This still holds (4), I left same regexp, I just used different module.
(1) [https://github.com/instaclustr/cassandra/tree/CASSANDRA-17964-4.1-2]
(2)
{code:java}
<module name="RegexpOnFilename">
<property name="fileNamePattern" value=".*Test.*[^.]\.java"/>
</module> {code}
(3)
{code:java}
<module name="RegexpOnFilename">
<property name="fileNamePattern" value="^(?!(?:Test))(?!.*?(?:Tests)).*$"/>
<property name="match" value="false"/>
</module> {code}
(4)
TestMe - fails
TestsMe - fails
TheseTestsMe - fails
SomeTests - fails
MyTestBase - passes
SomeClassForTesting - passes
SomeTest - passes
was (Author: smiklosovic):
I tried to incorporate Berenguer's approach and this is what I ended up with
(1).
It consists of two commits, the first commit one goes through (2) and fixes it
all. On top of that, the second commit goes through (3)
For cases we use "Tester", what I saw was that it is abstract class which a
proper "*Test" extends. It is not {_}a test{_}. I do not think "Tester" is a
problem here.
Also, we can still rename stuff to "*ForTesting" like "TestMemtable" might be
"MemtableForTesting".
For cases like "MyTestSplit1" and "MyTestSplit2", this can be renamed to
"MyFirstSplitTest" and "MySecondSplitTest" or even better "MySplit1Test" and
"MySplit2Test".
This still holds (4), I left same regexp, I just used different module.
(1) [https://github.com/instaclustr/cassandra/tree/CASSANDRA-17964-4.1-2]
(2)
{code:java}
<module name="RegexpOnFilename">
<property name="fileNamePattern" value=".*Test.*[^.]\.java"/>
</module> {code}
(3)
{code:java}
<module name="RegexpOnFilename">
<property name="fileNamePattern" value="^(?!(?:Test))(?!.*?(?:Tests)).*$"/>
<property name="match" value="false"/>
</module> {code}
(4)
TestMe - fails
TestsMe - fails
TheseTestsMe - fails
SomeTests - fails
MyTestBase - passes
SomeClassForTesting - passes
SomeTest - passes
> Some tests are never executed due to naming violation - fix it and add
> checkstyle where applicable
> --------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-17964
> URL: https://issues.apache.org/jira/browse/CASSANDRA-17964
> Project: Cassandra
> Issue Type: Task
> Components: Test/unit
> Reporter: Ruslan Fomkin
> Assignee: Stefan Miklosovic
> Priority: Normal
> Fix For: 3.0.x, 3.11.x, 4.0.x, 4.1.x, 4.x
>
> Time Spent: 1h 10m
> Remaining Estimate: 0h
>
> [BatchTests|https://github.com/apache/cassandra/blob/trunk/test/unit/org/apache/cassandra/cql3/BatchTests.java]
> doesn't follow naming convention to be run as unit tests and, thus, is never
> run.
> The rule in build expects names as `*Test`.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]