[jira] [Comment Edited] (CASSANDRA-18152) mockito-inline causes tests to fail beacause o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean
[ https://issues.apache.org/jira/browse/CASSANDRA-18152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17676727#comment-17676727 ] Ekaterina Dimitrova edited comment on CASSANDRA-18152 at 1/13/23 6:37 PM: -- Thank you for the ping and the testing, appreciate it! The branch you took is already a bit old and WIP but I think it should serve your needs. I can confirm that I updated some time ago mockito-core to latest version in trunk and that version officially supports Java 17. I haven't used mockito-inline and when I write in Google mockito-inline Java 17 support, it took me to this [page |https://github.com/mockito/mockito/issues/2436] that discusses an issue people reported in 2021 and the maintainers confirming they are testing in CI mockito-inline so _my guess_ is that it should be fine, but I didn't spend too much time in researching. It is important not just to test but also to verify that the maintainers of our dependencies are supporting or planning soon to support newer JDK versions. Hope that helps. was (Author: e.dimitrova): Thank you for the ping and the testing, appreciate it! The branch you took is already a bit old and WIP but I think it should serve your needs. I can confirm that I updated some time ago mockito-core to latest version in trunk and that version officially supports Java 17. I haven't used mockito-inline and when I write in Google mockito-inline Java 17 support, it took me to this page that discusses an issue people reported in 2021 and the maintainers confirming they are testing in CI mockito-inline so _my guess_ is that it should be fine, but I didn't spend too much time in researching. It is important not just to test but also to verify that the maintainers of our dependencies are supporting or planning soon to support newer JDK versions. Hope that helps. > mockito-inline causes tests to fail beacause > o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean > --- > > Key: CASSANDRA-18152 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18152 > Project: Cassandra > Issue Type: Bug > Components: Test/dtest/java >Reporter: Stefan Miklosovic >Assignee: Stefan Miklosovic >Priority: Normal > Fix For: 4.x > > Time Spent: 10m > Remaining Estimate: 0h > > While working on CASSANDRA-14361, when we included mockito-inline into the > build to test the new functionality, unrelated tests in CI started to fail. > (1) > This is happening because mockito, together with stuff which enables static > mocking, just does not play together with our way of doing things in dtest > framework. > The workaround is consisting of removing Mockito from InternalNodeProbe, it > tries to spy on StorageService to not send any notifications back. This might > be workarounded so we do not need Mockito hence tests are fixed and mocking > of static methods is possible without any other tests failing. > (1) > https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/2168/#showFailuresLink > see also: [https://github.com/mockito/mockito/issues/2203] -- This message was sent by Atlassian Jira (v8.20.10#820010) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-18152) mockito-inline causes tests to fail beacause o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean
[ https://issues.apache.org/jira/browse/CASSANDRA-18152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17676577#comment-17676577 ] Stefan Miklosovic edited comment on CASSANDRA-18152 at 1/13/23 11:05 AM: - I was asked on the mailing list here (0) if this will work with Java 17. I have verified that it is possible to mock static methods with mockito 4.7.0 and mockito-inline 4.7.0 in Java 17 in this branch (1). This branch is using the work from CASSANDRA-16895 where I took this branch (2) where upgrade to Java 17 is done and I rebased it on top of the current trunk. Then, I cherry-picked the work in (3) on top of this rebased branch with Java 17 support. The cherry-picked commit from CASSANDRA-14361 contains the test which is using static methods. I was running the test case SimpleSeedProviderTest which is using mocking of static methods and the test passed. The branch where the solution to remove the dependency on Mockito in InternalNodeProbe is here (4) and its build is here (5). For completeness, without (4) merged, once we use mockito-inline to mock static methods, these tests fail (6) Java I was on: {code:java} $ java -version openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing) {code} Letting [~edimitrova] know I did this as well as [~adelapena] that this is available for review so we are unblocked on CASSANDRA-14361 and I am letting know [~jlewandowski] that this test was conducted. (0) https://lists.apache.org/thread/t35wmq90zcfoorjz5dtz6dxt99d5sp6o (1) [https://github.com/instaclustr/cassandra/tree/CASSANDRA-16895-stefan] (2) [https://github.com/ekaterinadimitrova2/cassandra/tree/16895-trunk-sept] (3) [https://issues.apache.org/jira/browse/CASSANDRA-14361] (4) [https://github.com/apache/cassandra/pull/2095] (5) [https://app.circleci.com/pipelines/github/instaclustr/cassandra?branch=CASSANDRA-18152] (6) https://app.circleci.com/pipelines/github/adelapena/cassandra?branch=14361-trunk-review was (Author: smiklosovic): I was asked on the mailing list here (0) if this will work with Java 17. I have verified that it is possible to mock static methods with mockito 4.7.0 and mockito-inline 4.7.0 in Java 17 in this branch (1). This branch is using the work from CASSANDRA-16895 where I took this branch (2) where upgrade to Java 17 is done and I rebased it on top of the current trunk. Then, I cherry-picked the work in (3) on top of this rebased branch with Java 17 support. The cherry-picked commit from CASSANDRA-14361 contains the test which is using static methods. I was running the test case SimpleSeedProviderTest which is using mocking of static methods and the test passed. The branch where the solution to remove the dependency on Mockito in InternalNodeProbe is here (4) and its build is here (5). Java I was on: {code:java} $ java -version openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing) {code} Letting [~edimitrova] know I did this as well as [~adelapena] that this is available for review so we are unblocked on CASSANDRA-14361 and I am letting know [~jlewandowski] that this test was conducted. (0) https://lists.apache.org/thread/t35wmq90zcfoorjz5dtz6dxt99d5sp6o (1) [https://github.com/instaclustr/cassandra/tree/CASSANDRA-16895-stefan] (2) [https://github.com/ekaterinadimitrova2/cassandra/tree/16895-trunk-sept] (3) [https://issues.apache.org/jira/browse/CASSANDRA-14361] (4) [https://github.com/apache/cassandra/pull/2095] (5) [https://app.circleci.com/pipelines/github/instaclustr/cassandra?branch=CASSANDRA-18152] > mockito-inline causes tests to fail beacause > o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean > --- > > Key: CASSANDRA-18152 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18152 > Project: Cassandra > Issue Type: Bug > Components: Test/dtest/java >Reporter: Stefan Miklosovic >Assignee: Stefan Miklosovic >Priority: Normal > Fix For: 4.x > > Time Spent: 10m > Remaining Estimate: 0h > > While working on CASSANDRA-14361, when we included mockito-inline into the > build to test the new functionality, unrelated tests in CI started to fail. > (1) > This is happening because mockito, together with stuff which enables static > mocking, just does not play together with our way of doing things in dtest > framework. > The workaround is consisting of removing Mockito from InternalNodeProbe, it > tries to spy on StorageService to not send any notifications back. This might >
[jira] [Comment Edited] (CASSANDRA-18152) mockito-inline causes tests to fail beacause o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean
[ https://issues.apache.org/jira/browse/CASSANDRA-18152?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17676580#comment-17676580 ] Stefan Miklosovic edited comment on CASSANDRA-18152 at 1/13/23 11:04 AM: - PR: https://github.com/apache/cassandra/pull/2095 builld: https://app.circleci.com/pipelines/github/instaclustr/cassandra?branch=CASSANDRA-18152 was (Author: smiklosovic): PR: https://github.com/apache/cassandra/pull/2095 https://app.circleci.com/pipelines/github/instaclustr/cassandra?branch=CASSANDRA-18152 > mockito-inline causes tests to fail beacause > o.a.c.distributed.mock.nodetool.InternalNodeProbe spies on StorageServiceMBean > --- > > Key: CASSANDRA-18152 > URL: https://issues.apache.org/jira/browse/CASSANDRA-18152 > Project: Cassandra > Issue Type: Bug > Components: Test/dtest/java >Reporter: Stefan Miklosovic >Assignee: Stefan Miklosovic >Priority: Normal > Fix For: 4.x > > Time Spent: 10m > Remaining Estimate: 0h > > While working on CASSANDRA-14361, when we included mockito-inline into the > build to test the new functionality, unrelated tests in CI started to fail. > (1) > This is happening because mockito, together with stuff which enables static > mocking, just does not play together with our way of doing things in dtest > framework. > The workaround is consisting of removing Mockito from InternalNodeProbe, it > tries to spy on StorageService to not send any notifications back. This might > be workarounded so we do not need Mockito hence tests are fixed and mocking > of static methods is possible without any other tests failing. > (1) > https://ci-cassandra.apache.org/view/patches/job/Cassandra-devbranch/2168/#showFailuresLink > see also: [https://github.com/mockito/mockito/issues/2203] -- This message was sent by Atlassian Jira (v8.20.10#820010) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org