Hi all

I cancelled the vote due to the issues raised by Eric.

The issues are fixed and a JUnit Core 1.1.6 release vote is under way.

Thanks for voting and sorry for the inconvenience.

Regards
Julian



On Thu, Jun 24, 2021 at 5:41 PM Julian Sedding <jsedd...@gmail.com> wrote:
>
> Hi Eric
>
> I hereby cancel the release vote for JUnit Core 1.1.4. I'll soon
> follow up with a 1.1.6 release.
>
> I found the reason why ResourceResolverGeneralTest fails.
>
> 1. ResourceResolverGeneralTest uses the TeleporterRule, which sets
> Sling-Test-Regexp to
> "org.apache.sling.launchpad.webapp.integrationtest.resourceresolver.ResourceResolverGeneralTest.*",
> thus (incorrectly?) matching inner classes [1]. This should probably
> just use the class name. I don't currently see an elegant (low effort)
> way to detect inner classes as tests for both JUnit 4 and Jupiter.
> 2. The change I did for 1.1.0 allows a test-method to be specified
> _only_ when a single test-class is specified [2]. Before the change
> there was no restriction on the number of test-classes.
> 3. RequestParser#acceptTestName(String) checks if a test-name starts
> with the "testNameSelector", i.e. the first relevant segment of the
> URL path [3].
>
> The prefix matching is required e.g. for listing all tests in a
> certain java package. I propose to enhance this method to check for
> equality and failing that does a startsWith(testNameSelector + '.') to
> cover the package case.
>
> Regards
> Julian
>
> [1] 
> https://github.com/apache/sling-org-apache-sling-junit-teleporter/blob/master/src/main/java/org/apache/sling/testing/teleporter/client/ClientSideTeleporter.java#L82
> [2] 
> https://github.com/apache/sling-org-apache-sling-junit-core/blame/org.apache.sling.junit.core-1.1.0/src/main/java/org/apache/sling/junit/impl/TestsManagerImpl.java#L162
> [3] 
> https://github.com/apache/sling-org-apache-sling-junit-core/blob/88d700a6589a0d080a84ac2f3183773d6794dea3/src/main/java/org/apache/sling/junit/RequestParser.java#L107
>
> On Thu, Jun 24, 2021 at 11:29 AM Julian Sedding <jsedd...@gmail.com> wrote:
> >
> > Thanks Eric, I'll have a look.
> >
> > Regards
> > Julian
> >
> > On Thu, Jun 24, 2021 at 12:44 AM Eric Norman <enor...@apache.org> wrote:
> > >
> > > It looks like TestsManagerImpl is detecting some inner classes as test
> > > classes at [1] which is causing the check to fail and throw the exception.
> > >
> > >    1.
> > >    
> > > https://github.com/apache/sling-org-apache-sling-junit-core/blob/05eeeb42319eace3d8d7d111a9b60ef2b467b2e5/src/main/java/org/apache/sling/junit/impl/TestsManagerImpl.java#L110
> > >
> > >
> > > On Wed, Jun 23, 2021 at 3:26 PM Eric Norman <enor...@apache.org> wrote:
> > >
> > > > Just a bit more information:
> > > >
> > > > I captured the stacktrace of the failure described in my last reply as:
> > > >
> > > > [ERROR] Exception while processing request to
> > > > /system/sling/junit/org.apache.sling.launchpad.webapp.integrationtest.resourceresolver.ResourceResolverGeneralTest/testResolveRemovedResourceAlias.junit_result
> > > > javax.servlet.ServletException: java.lang.IllegalStateException: A test
> > > > method name is only supported for a single test class
> > > >     at
> > > > org.apache.sling.junit.impl.servlet.ServletProcessor.doPost(ServletProcessor.java:145)
> > > >     at
> > > > org.apache.sling.junit.impl.servlet.JUnitServlet.doPost(JUnitServlet.java:110)
> > > >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
> > > >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
> > > >     at
> > > > org.apache.felix.http.base.internal.handler.ServletHandler.handle(ServletHandler.java:123)
> > > >     at
> > > > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:86)
> > > >     at
> > > > org.apache.sling.junit.impl.servlet.TestLogServlet$TestNameLoggingFilter.doFilter(TestLogServlet.java:250)
> > > >     at
> > > > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:142)
> > > >     at
> > > > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81)
> > > >     at 
> > > > org.apache.sling.i18n.impl.I18NFilter.doFilter(I18NFilter.java:131)
> > > >     at
> > > > org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:142)
> > > >     at
> > > > org.apache.felix.http.base.internal.dispatch.InvocationChain.doFilter(InvocationChain.java:81)
> > > >     at
> > > > org.apache.felix.http.base.internal.dispatch.Dispatcher$1.doFilter(Dispatcher.java:146)
> > > >     at
> > > > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$2.doFilter(WhiteboardManager.java:1002)
> > > >     at
> > > > org.apache.felix.http.sslfilter.internal.SslFilter.doFilter(SslFilter.java:97)
> > > >     at
> > > > org.apache.felix.http.base.internal.handler.PreprocessorHandler.handle(PreprocessorHandler.java:137)
> > > >     at
> > > > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager$2.doFilter(WhiteboardManager.java:1008)
> > > >     at
> > > > org.apache.felix.http.base.internal.whiteboard.WhiteboardManager.invokePreprocessors(WhiteboardManager.java:1012)
> > > >     at
> > > > org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:91)
> > > >     at
> > > > org.apache.felix.http.base.internal.dispatch.DispatcherServlet.service(DispatcherServlet.java:49)
> > > >     at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
> > > >     at
> > > > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
> > > >     at
> > > > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:550)
> > > >     at
> > > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
> > > >     at
> > > > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
> > > >     at
> > > > org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
> > > >     at
> > > > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
> > > >     at
> > > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
> > > >     at
> > > > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
> > > >     at
> > > > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
> > > >     at
> > > > org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
> > > >     at
> > > > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
> > > >     at
> > > > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
> > > >     at
> > > > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:191)
> > > >     at
> > > > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
> > > >     at org.eclipse.jetty.server.Server.handle(Server.java:516)
> > > >     at
> > > > org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
> > > >     at 
> > > > org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
> > > >     at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
> > > >     at
> > > > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
> > > >     at
> > > > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
> > > >     at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
> > > >     at 
> > > > org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
> > > >     at
> > > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
> > > >     at
> > > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
> > > >     at
> > > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
> > > >     at
> > > > org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
> > > >     at
> > > > org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383)
> > > >     at
> > > > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882)
> > > >     at
> > > > org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036)
> > > >     at java.base/java.lang.Thread.run(Thread.java:829)
> > > > Caused by: java.lang.IllegalStateException: A test method name is only
> > > > supported for a single test class
> > > >     at
> > > > org.apache.sling.junit.impl.TestsManagerImpl.createTestRequest(TestsManagerImpl.java:168)
> > > >     at
> > > > org.apache.sling.junit.impl.JUnit4TestExecutionStrategy.execute(JUnit4TestExecutionStrategy.java:38)
> > > >     at
> > > > org.apache.sling.junit.impl.TestsManagerImpl.executeTests(TestsManagerImpl.java:150)
> > > >     at
> > > > org.apache.sling.junit.impl.servlet.ServletProcessor.doPost(ServletProcessor.java:138)
> > > >     ... 50 more
> > > >
> > > >
> > > > On Wed, Jun 23, 2021 at 2:59 PM Eric Norman <enor...@apache.org> wrote:
> > > >
> > > >> Hi,
> > > >>
> > > >> -1 for me.  I don't know much about this bundle, but I have some 
> > > >> concerns
> > > >> with this release (and the 1.1.2 version as well) since they don't 
> > > >> appear
> > > >> to work when integrated into the org.apache.sling.launchpad.testing
> > > >> project.  My testing indicates that org.apache.sling.junit.core version
> > > >> 1.0.30 is the last version that works with the
> > > >> org.apache.sling.launchpad.testing project.
> > > >>
> > > >> Specifically, I updated the src/main/features/model.json in
> > > >> org.apache.sling.launchpad.testing to use this version.  When running 
> > > >> the
> > > >> build to verify, the ResourceResolverGeneralTest test runs for a long 
> > > >> time
> > > >> before reporting either a "java.io.IOException: Got status code 500" or
> > > >> "java.net.SocketTimeoutException: Read timed out" for each test.  And 
> > > >> there
> > > >> appear to be other failures as well.
> > > >>
> > > >> I did a quick search of the sling projects on github and I don't see 
> > > >> any
> > > >> of the sling projects that are using any 1.1.x version of
> > > >> org.apache.sling.junit.core.
> > > >>
> > > >> If you are able to share, may I ask what you have been using to smoke
> > > >> test that the functionality is working?
> > > >>
> > > >> Regards,
> > > >> Eric
> > > >>
> > > >>
> > > >> On Mon, Jun 21, 2021 at 5:45 AM Julian Sedding <jsedd...@apache.org>
> > > >> wrote:
> > > >>
> > > >>> Hi,
> > > >>>
> > > >>> We solved 3 issues in this release:
> > > >>> https://issues.apache.org/jira/browse/SLING/fixforversion/12350085
> > > >>>
> > > >>> Staging repository:
> > > >>> https://repository.apache.org/content/repositories/orgapachesling-2480/
> > > >>>
> > > >>> You can use this UNIX script to download the release and verify the
> > > >>> signatures:
> > > >>>
> > > >>> https://gitbox.apache.org/repos/asf?p=sling-tooling-release.git;a=blob;f=check_staged_release.sh;hb=HEAD
> > > >>>
> > > >>> Usage:
> > > >>> sh check_staged_release.sh 2480 /tmp/sling-staging
> > > >>>
> > > >>> Please vote to approve this release:
> > > >>>
> > > >>>   [ ] +1 Approve the release
> > > >>>   [ ]  0 Don't care
> > > >>>   [ ] -1 Don't release, because ...
> > > >>>
> > > >>> This majority vote is open for at least 72 hours.
> > > >>>
> > > >>> Regards
> > > >>> Julian
> > > >>>
> > > >>

Reply via email to