Serious unit testing issue: all modules with GUI run exactly 0 tests

Hì all,
Daniele just reported me some mysterious issues with the MapML module: the build was running no tests at all, just passing without executing a single one.

We looked into it, and all modules where the new junit-jupiter (JUnit 5) dependency has been added, fail to run the JUnit 4 tests. The dependency has been added as part of the Wicket 9 upgrade merge, as the new Wicket testing framework needs the JUnit 5 classes in the classpath.

The issue is that surefire picks the JUnit runner based on what’s in the classpath, if it finds JUnit5, it will only run JUnit5 tests.

Now… I could understand if this affected a few modules that are mixing in wicket dependencies, but even web-core builds with the following:

[INFO] Results:
[INFO]
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

One way to have the Junit 4 tests to run, is to have the junit-vintage engine installed, which is still part of JUnit5, but able to run JUnit4 tests. I’ve tried on web-cor, and the result looks grim… once the tests start running, there’s quite a bit of failures:

[ERROR] Failures:
[ERROR]   LayerGroupEditPageTest.testLayerGroupLinkWithWorkspace:299 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerGroupStyle:722 path: 'publishedinfo:tabs:panel:layerGroupStyles:listContainer:styleList:0:layerGroupStylePanel:layerGroupEntryPanel:popup:content:listContainer:items:1:itemProperties:0:component:link' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerGroupStyle2:775 path: 'publishedinfo:tabs:panel:layerGroupStyles:listContainer:styleList:0:layerGroupStylePanel:layerGroupEntryPanel:popup:content:listContainer:items:3:itemProperties:0:component:link' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerGroupStyleSelection:862 path: 'publishedinfo:tabs:panel:layerGroupStyles:listContainer:styleList:0:layerGroupStylePanel:layerGroupEntryPanel:popup:content:listContainer:items:2:itemProperties:0:component:link' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerLink:212 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerLinkWithWorkspace:265 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testStyleGroupLink:238 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   ResourceConfigurationPageTest.testConsistentUpdateWMTSBbox:834 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: ResourceConfigurationPage
[ERROR]   ResourceConfigurationPageTest.testWFSDataStoreResource:467 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: ResourceConfigurationPage
[ERROR]   ResourceConfigurationPageTest.testWMTSOtherCRS:584 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: ResourceConfigurationPage
[ERROR]   ResourceConfigurationPageTest.testWMTSOtherCRSUrnFormat:622 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items' does not exist for page: ResourceConfigurationPage
[ERROR]   CRSPanelTest.testPlanetaryList:245 Unable to set value. Couldn't find component with name: crs:popup:content:table:filterForm:filter ==> expected: not <null>
[ERROR]   CRSPanelTest.testPlanetaryPopupWindow:227 path: 'form:crs:popup:content:wkt' does not exist for page: CRSPanelTestPage
[ERROR]   CRSPanelTest.testPopupWindow:69 path: 'form:crs:popup:content:wkt' does not exist for page: CRSPanelTestPage
[ERROR] Errors:
[ERROR]   GeoServerAboutPageTest.testHideSensitiveInfo:40 » WicketRuntime The component(...
[ERROR]   GeoServerAboutPageTest.testLoginFormAction:21 » WicketRuntime The component(s)...
[INFO]
[ERROR] Tests run: 405, Failures: 14, Errors: 2, Skipped: 10
[INFO] 

This is just web-core… how many more are broken?

I think the Wicket 9 merge should be reverted until it actually builds. Opinions?

Regards,
Andrea Aime

For reference, this seems to restore sanity and the build is green, no other changes needed (e.g., nothing regressed while tests were not running):

git revert -m 1 c2e54fb9fed24985e415433f62ea3b34b8ea6898 e27b282fa58750ad09a38639271d94bf003695bf

So this is one option, revert, restore the wicket9 branch, make the build run properly there, merge again.

Another option is to make the tests run in all modules and fix them, but I’m not sure how deep the rabbit hole is in that case, I’ve only witnessed the web-core failures.

Cheers
Andrea

Sigh - it was not obvious that a JUnit5 change was being attempted also. I am away on vacation; but I would prefer to see this fixed somehow - any ideas?

My concern is that if we revert it will just be like; mkdocs something that stays out on branch.

I don’t think there was an attempt to migrate to JUnit5, but Wicket 9 depends on it, so junit-jupiter had to be added in the classpath. Unfortunately, the moment you have it, surefire will only run JUnit 5 tests unless forced otherwise.

I’m now forcing it to use JUnit 4 with the manual selection highlighted above (rather than adding junit-vintage-engine dependency in all 35 modules having the junit-jupiter dependency), and running the build with “-fn” (fail never) to collect the full list of failing tests in the supported build.

And done… a quick grep over the logs reports the following, 140+ tests failing:

[ERROR]   LayerGroupEditPageTest.testLayerGroupLinkWithWorkspace:299 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerGroupStyle:722 path: 'publishedinfo:tabs:panel:layerGroupStyles:listContainer:styleList:0:layerGroupStylePanel:layerGroupEntryPanel:popup:content:listContainer:items:1:itemProperties:0:component:link' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerGroupStyle2:775 path: 'publishedinfo:tabs:panel:layerGroupStyles:listContainer:styleList:0:layerGroupStylePanel:layerGroupEntryPanel:popup:content:listContainer:items:3:itemProperties:0:component:link' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerGroupStyleSelection:862 path: 'publishedinfo:tabs:panel:layerGroupStyles:listContainer:styleList:0:layerGroupStylePanel:layerGroupEntryPanel:popup:content:listContainer:items:2:itemProperties:0:component:link' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerLink:212 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerLinkWithWorkspace:265 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testStyleGroupLink:238 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   ResourceConfigurationPageTest.testConsistentUpdateWMTSBbox:834 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: ResourceConfigurationPage
[ERROR]   ResourceConfigurationPageTest.testWFSDataStoreResource:467 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: ResourceConfigurationPage
[ERROR]   ResourceConfigurationPageTest.testWMTSOtherCRS:584 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: ResourceConfigurationPage
[ERROR]   ResourceConfigurationPageTest.testWMTSOtherCRSUrnFormat:622 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items' does not exist for page: ResourceConfigurationPage
[ERROR]   CRSPanelTest.testPlanetaryList:245 Unable to set value. Couldn't find component with name: crs:popup:content:table:filterForm:filter ==> expected: not <null>
[ERROR]   CRSPanelTest.testPlanetaryPopupWindow:227 path: 'form:crs:popup:content:wkt' does not exist for page: CRSPanelTestPage
[ERROR]   CRSPanelTest.testPopupWindow:69 path: 'form:crs:popup:content:wkt' does not exist for page: CRSPanelTestPage
[ERROR]   GeoServerAboutPageTest.testHideSensitiveInfo:40 » WicketRuntime The component(...
[ERROR]   GeoServerAboutPageTest.testLoginFormAction:21 » WicketRuntime The component(s)...
[ERROR]   PageResourceBrowserTest.testCopyPaste:166 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testCutPaste:107 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testDelete:228 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testEdit:392 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testNew:353 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testRename:251 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testUpload:315 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   CRSExtentionKVPTest.implicitReprojectionTo3857:247 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   CRSExtentionKVPTest.reprojectTo3857:74 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   CRSExtentionKVPTest.reprojectTo3857AndScaleToFactor:109 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   CRSExtentionKVPTest.reprojectTo3857AndScaleToSize:143 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   CRSExtentionKVPTest.subsettingNativeCRSReprojectTo3857:180 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   CRSExtentionKVPTest.testGetCoverageSubsettingTrimCRS:284 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   DescribeCoverageTest.testAxisOrderUtm:155 expected:<3476[71.1015525911 5196940.182175256]> but was:<3476[60.5162105911 5196950.767517257]>
[ERROR]   DescribeCoverageTest.testDescribeCustomDimensionsList:793->checkTimeElevationRangesEnvelope:1091 expected:<L[at Long] elevation time> but was:<L[ong Lat] elevation time>
[ERROR]   DescribeCoverageTest.testDescribeElevationContinuousInterval:649->checkElevationRangesEnvelope:1074 expected:<L[at Long] elevation> but was:<L[ong Lat] elevation>
[ERROR]   DescribeCoverageTest.testDescribeElevationDiscreteInterval:613->checkElevationRangesEnvelope:1074 expected:<L[at Long] elevation> but was:<L[ong Lat] elevation>
[ERROR]   DescribeCoverageTest.testDescribeElevationRangeList:699->checkElevationRangesEnvelope:1074 expected:<L[at Long] elevation> but was:<L[ong Lat] elevation>
[ERROR]   DescribeCoverageTest.testDescribeElevationValuesList:674->checkWaterTempElevationEnvelope:1057 expected:<L[at Long] elevation> but was:<L[ong Lat] elevation>
[ERROR]   DescribeCoverageTest.testDescribeTimeContinousInterval:481->checkWaterTempTimeEnvelope:1011 expected:<L[at Long] time> but was:<L[ong Lat] time>
[ERROR]   DescribeCoverageTest.testDescribeTimeDiscreteInterval:518->checkWaterTempTimeEnvelope:1011 expected:<L[at Long] time> but was:<L[ong Lat] time>
[ERROR]   DescribeCoverageTest.testDescribeTimeElevationList:734->checkWaterTempTimeElevationEnvelope:1028 expected:<L[at Long] elevation time> but was:<L[ong Lat] elevation time>
[ERROR]   DescribeCoverageTest.testDescribeTimeList:445->checkWaterTempTimeEnvelope:1011 expected:<L[at Long] time> but was:<L[ong Lat] time>
[ERROR]   DescribeCoverageTest.testDescribeTimeRangeList:557 expected:<L[at Long] time> but was:<L[ong Lat] time>
[ERROR]   DescribeCoverageTest.testIAUCoverage:1001 expected:<L[at Long]> but was:<L[ong Lat]>
[ERROR]   DescribeCoverageTest.testReprojectFromNative:961 expected:<[http://www.opengis.net/def/crs/EPSG/0/3857]> but was:<[]>
[ERROR]   GeoTiffKvpTest.getFullCoverageKVP:638 expected:<GEOGCS["WGS 84", 
[ERROR]   GeoTiffKvpTest.getFullCoverageLatLon:707 expected:<GeneralBounds[(146.49999999999477, -44.49999999999784), (147.99999999999474, -42.99999999999787)]> but was:<GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]>
[ERROR]   GeoTiffKvpTest.getFullCoverageLonLat:771 expected:<GeneralBounds[(146.49999999999477, -44.49999999999784), (147.99999999999474, -42.99999999999787)]> but was:<GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]>
[ERROR]   GetCoverageKvpTest.testDatelineCross:542
[ERROR]   GetCoverageKvpTest.testIAUCoverageGeotiff:628
[ERROR]   GetCoverageKvpTest.testImposedBBOX:449
[ERROR]   GetCoverageKvpTest.testImposedBBOXRotated:501
[ERROR]   GetCoverageKvpTest.testReprojected:575 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageKvpTest.testScalingWithRequestCrossingDateline:407->WCSTestSupport.assertEnvelopeEquals:528 The 2 envelopes aren't equal, expected GeneralBounds[(40.0, -50.0), (240.0, 50.0)] but got GeneralBounds[(40.0, -50.0), (90.0, 50.0)]
[ERROR]   GetCoverageKvpTest.testWorldOutsideDateline:364->WCSTestSupport.assertEnvelopeEquals:528 The 2 envelopes aren't equal, expected GeneralBounds[(-180.01, -90.0), (180.01, 90.0)] but got GeneralBounds[(-90.0, -180.0), (90.0, 180.0)]
[ERROR]   RangeSubsetKvpTest.mixed:252->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]
[ERROR]   RangeSubsetKvpTest.testBasic:184->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]
[ERROR]   RangeSubsetKvpTest.testRange:218->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]
[ERROR]   ScaleKvpTest.scaleAxesByFactor:219 expected:<GEOGCS["WGS 84", 
[ERROR]   ScaleKvpTest.scaleAxesByFactor:219 expected:<GEOGCS["WGS 84", 
[ERROR]   ScaleKvpTest.scaleFactor:116 expected:<GEOGCS["WGS 84", 
[ERROR]   ScaleKvpTest.scaleFactor:116 expected:<GEOGCS["WGS 84", 
[ERROR]   ScaleKvpTest.scaleToExtentWithTrim:694 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   ScaleKvpTest.scaleToExtentWithTrim:694 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   ScaleKvpTest.scaleToExtent:511 expected:<GEOGCS["WGS 84", 
[ERROR]   ScaleKvpTest.scaleToExtent:511 expected:<GEOGCS["WGS 84", 
[ERROR]   ScaleKvpTest.scaleToSize:344 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   ScaleKvpTest.scaleToSize:344 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   SubsetKvpTest.slice:278 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   SubsetKvpTest.trim:91 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   CRSExtentionTest.reprojectTo3857XML:60 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   CRSExtentionTest.subsettingNativeCRSReprojectTo3857:209 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   CRSExtentionTest.testGetCoverageSubsettingCRSFullXML:109 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   CRSExtentionTest.testGetCoverageSubsettingTrimCRSXML:159 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageElevationSlicingDefaultTime:960->checkWaterTempValue:1001->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(0.23722068851276978, 40.562080748421806), (14.592757149389236, 44.55808294568743)]
[ERROR]   GetCoverageTest.testCoverageMultipleCustomSubsets:928->checkWaterTempValue:1001->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(0.23722068851276978, 40.562080748421806), (14.592757149389236, 44.55808294568743)]
[ERROR]   GetCoverageTest.testCoverageSlicingLatitudeNativeCRSXML:673 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageSlicingLongitudeNativeCRSXML:621 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTimeElevationSlicingAgainstHighestNewestGranule:946->checkWaterTempValue:1001->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(0.23722068851276978, 40.562080748421806), (14.592757149389236, 44.55808294568743)]
[ERROR]   GetCoverageTest.testCoverageTimeElevationSlicingAgainstHighestNewestGranuleLatestWavelength:901->checkWaterTempValue:1001->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(0.23722068851276978, 40.562080748421806), (14.592757149389236, 44.55808294568743)]
[ERROR]   GetCoverageTest.testCoverageTimeElevationSlicingAgainstLowestOldestGranule:880->checkWaterTempValue:1001->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(0.23722068851276978, 40.562080748421806), (14.592757149389236, 44.55808294568743)]
[ERROR]   GetCoverageTest.testCoverageTimeSlicingAgainstFirstRange:827->checkWaterTempValue:1001->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(0.23722068851276978, 40.562080748421806), (14.592757149389236, 44.55808294568743)]
[ERROR]   GetCoverageTest.testCoverageTimeSlicingAgainstRangeHole:845->checkWaterTempValue:1001->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(0.23722068851276978, 40.562080748421806), (14.592757149389236, 44.55808294568743)]
[ERROR]   GetCoverageTest.testCoverageTimeSlicingAgainstSecondRange:863->checkWaterTempValue:1001->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(0.23722068851276978, 40.562080748421806), (14.592757149389236, 44.55808294568743)]
[ERROR]   GetCoverageTest.testCoverageTimeSlicingTimeAfter:809->checkWaterTempValue:984 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTimeSlicingTimeBefore:746->checkWaterTempValue:984 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTimeSlicingTimeClosest:777->checkWaterTempValue:984 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTimeSlicingTimeFirst:761->checkWaterTempValue:984 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTimeSlicingTimeSecond:793->checkWaterTempValue:984 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTrimmingLatitudeNativeCRSXML:147 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTrimmingLatitudeNativeCRSXMLMultipart:161 expected:<[multipart/related]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTrimmingLongitudeNativeCRSXML:408 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTrimmingNativeCRSXML:254 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testCoverageTrimmingSlicingNativeCRSXML:459 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testDatelineCrossingMercatorPDC:1136 expected:<160.0> but was:<-180.0>
[ERROR]   GetCoverageTest.testDatelineCrossingMinGreaterThanMax:1027->checkDatelineCrossing:1041 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testDatelineCrossingPolar:1085 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testDatelineCrossingPositiveCoordinates:1033->checkDatelineCrossing:1041 expected:<[image/tiff]> but was:<[application/xml]>
[ERROR]   GetCoverageTest.testGetFullCoverageXML:349 expected:<GEOGCS["WGS 84", 
[ERROR]   RangeSubsetExtentionTest.mixed:90->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]
[ERROR]   RangeSubsetExtentionTest.testBasic:55->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]
[ERROR]   RangeSubsetExtentionTest.testRange:244->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]
[ERROR]   ScalingExtentionTest.testScaleAxesByFactorXML:84->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]
[ERROR]   ScalingExtentionTest.testScaleByFactorXML:167->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999785, 146.49999999999477), (-42.99999999999787, 147.99999999999474)]
[ERROR]   ScalingExtentionTest.testScaleToExtentXML:141->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999785, 146.49999999999477), (-42.999999999997875, 147.99999999999474)]
[ERROR]   ScalingExtentionTest.testScaleToSizeXML:116->WCSTestSupport.assertEnvelopeEquals:507->WCSTestSupport.assertEnvelopeEquals:530 GeneralBounds[(-44.49999999999784, 146.49999999999477), (-42.99999999999787, 147.99999999999477)]
[ERROR]   GetCoverageTest.testAllowSubsamplingOnScaleFactor:100->assertScalingByHalf:245 » WCS20
[ERROR]   CRSExtentionKVPTest.testConcurrentRequests:230 » Execution org.junit.Compariso...
[ERROR]   GetCapabilitiesTest.testBasicKVP:47->WCSTestSupport.checkFullCapabilitiesDocument:409->GeoServerSystemTestSupport.assertXpathCoordinate:2449 » NumberFormat
[ERROR]   GetCapabilitiesTest.testBasicPost:37->WCSTestSupport.checkFullCapabilitiesDocument:409->GeoServerSystemTestSupport.assertXpathCoordinate:2449 » NumberFormat
[ERROR]   XMLRoleConfigDetailsPanelTest.testAddModifyRemove:129->setFileName:66 Unable to set value. Couldn't find component with name: panel:content:fileName ==> expected: not <null>
[ERROR]   URLChecksPageTest.testDeleteRule:103 path: 'dialog:dialog:content:form:submit' does not exist for page: URLChecksPage
[ERROR]   XMLUserGroupConfigDetailsPanelTest.testAddModify:130->setFileName:77 Unable to set value. Couldn't find component with name: panel:content:fileName ==> expected: not <null>
[ERROR]   EditUserPageTest.testFill:39->doTestFill:79->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   EditUserPageTest.testReadOnlyUserGroupService:116->doTestReadOnlyUserGroupService:141->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   NewUserPageTest.testFill:50->doTestFill:75->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   NewUserPageTest.testFill2:158->doTestFill2:177->AbstractUserPageTest.assignGroup:86 » NullPointer
[ERROR]   NewUserPageTest.testFill3:111->doTestFill3:129->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   JDBCEditUserPageTest.testFill:23->EditUserPageTest.doTestFill:79->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   JDBCEditUserPageTest.testReadOnlyUserGroupService:29->EditUserPageTest.doTestReadOnlyUserGroupService:141->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   JDBCNewUserPageTest.testFill:23->NewUserPageTest.doTestFill:75->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   JDBCNewUserPageTest.testFill2:35->NewUserPageTest.doTestFill2:177->AbstractUserPageTest.assignGroup:86 » NullPointer
[ERROR]   JDBCNewUserPageTest.testFill3:29->NewUserPageTest.doTestFill3:129->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   BulkOperationsPageTest.testClearAll:84 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataBulkOperationsPage
[ERROR]   BulkOperationsPageTest.testFixAll:45 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataBulkOperationsPage
[ERROR]   BulkOperationsPageTest.testImport:60 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataBulkOperationsPage
[ERROR]   BulkOperationsPageTest.testNativeToCustom:75 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataBulkOperationsPage
[ERROR]   LayerMetadataTabTest.testGenerateFeatureCatalogueAndDomain:717 path: 'publishedinfo:tabs:panel:metadataPanel:attributesPanel:attributesTablePanel:listContainer:items:13:itemProperties:1:component:attributesTablePanel:listContainer:items:2:itemProperties:1:component:dialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testImportFromGeonetwork:650 path: 'publishedinfo:tabs:panel:geonetworkPanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testLinkAndUnlinkDeleteRowTemplatesBug:479 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testLinkRowTemplatesBug:581 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testLinkWithSimpleAndListTemplates:301 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testTemplatesRemainInPriorityOrder:604 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testUnlinkFromSimpleAndListTemplates:405 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   TemplatesPageTest.testDelete:145 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataTemplatesPage
[ERROR]   MapPreviewPageTest.testMaxNumberOfFeaturesForPreview:141->assertMaxFeaturesInData:189
[ERROR]   MapPreviewPageTest.testNameURLEncoding:279 
[ERROR]   StyleEditPageTest.testInsertImage:267 path: 'dialog:dialog:content:form:userPanel' does not exist for page: StyleEditPage
[ERROR]   StyleEditPageTest.testInsertImageSLD11:366 path: 'dialog:dialog:content:form:userPanel' does not exist for page: StyleEditPage
[ERROR]   StyleEditPageTest.testLayerAttributesTabWMS:459 path: 'styleForm:popup:content:layer.table' does not exist for page: StyleEditPage
[ERROR]   StyleEditPageTest.testLayerAttributesUnreachableLayer:443 path: 'styleForm:popup:content:layer.table' does not exist for page: StyleEditPage
[ERROR]   StyleNewPageTest.testInsertImage:493 path: 'dialog:dialog:content:form:userPanel' does not exist for page: StyleNewPage
[ERROR]   StyleNewPageTest.testInsertImageEscaped:564 path: 'dialog:dialog:content:form' does not exist for page: StyleNewPage
[ERROR]   StyleNewPageTest.testLegendChooseImage:600 path: 'dialog:dialog:content:form:userPanel' does not exist for page: StyleNewPage
[ERROR]   ProcessStatusPageTest.test:98 path: 'dialog:dialog:content:form:submit' does not exist for page: ProcessStatusPage
[ERROR]   ImportTaskTableTest.testTwoCRSSetByFindThenApply:66 path: 'taskTable:listContainer:items:1:itemProperties:2:component:form:crs:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: StartComponentInPage
[ERROR]   CachedLayersPageTest.testGWCClean:223 path: 'dialog:dialog:content:form:submit' does not exist for page: CachedLayersPage

Full logs follow:
logs.txt.gz (75.2 KB)

Hum… does not seem like a quick fix to me…

Cheers
Andrea

Hum… I did not notice at first, but the list of failures contains quite a bit of WCS 2.0 failures… which I’ve confirmed, they are not random, but probably due to how the tests are run.
I was following a recipe from the web, suggesting to add surefire-junit-47 as a dependency inside surefire.

I’ve now tried to upgrade surefire to 3.5.1, but that leads to even more failures.

Finally tried to keep the surefire we have, and downgrade the runner to surefire-junit-4 (no 7 at the end), which seems to be a better compromise.

This appears to be working better, the WCS test failures are gone, the results more convincing. Down to 61 failing tests, still not a walk in the park:

[ERROR]   LayerGroupEditPageTest.testLayerGroupLinkWithWorkspace:299 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerGroupStyle:722 path: 'publishedinfo:tabs:panel:layerGroupStyles:listContainer:styleList:0:layerGroupStylePanel:layerGroupEntryPanel:popup:content:listContainer:items:1:itemProperties:0:component:link' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerGroupStyle2:775 path: 'publishedinfo:tabs:panel:layerGroupStyles:listContainer:styleList:0:layerGroupStylePanel:layerGroupEntryPanel:popup:content:listContainer:items:3:itemProperties:0:component:link' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerGroupStyleSelection:862 path: 'publishedinfo:tabs:panel:layerGroupStyles:listContainer:styleList:0:layerGroupStylePanel:layerGroupEntryPanel:popup:content:listContainer:items:2:itemProperties:0:component:link' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerLink:212 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testLayerLinkWithWorkspace:265 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   LayerGroupEditPageTest.testStyleGroupLink:238 path: 'publishedinfo:tabs:panel:layers:popup:content:listContainer:items' does not exist for page: LayerGroupEditPage
[ERROR]   ResourceConfigurationPageTest.testConsistentUpdateWMTSBbox:834 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: ResourceConfigurationPage
[ERROR]   ResourceConfigurationPageTest.testWFSDataStoreResource:467 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: ResourceConfigurationPage
[ERROR]   ResourceConfigurationPageTest.testWMTSOtherCRS:584 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: ResourceConfigurationPage
[ERROR]   ResourceConfigurationPageTest.testWMTSOtherCRSUrnFormat:622 path: 'publishedinfo:tabs:panel:theList:0:content:referencingForm:nativeSRS:popup:content:table:listContainer:items' does not exist for page: ResourceConfigurationPage
[ERROR]   CRSPanelTest.testPlanetaryList:245 Unable to set value. Couldn't find component with name: crs:popup:content:table:filterForm:filter ==> expected: not <null>
[ERROR]   CRSPanelTest.testPlanetaryPopupWindow:227 path: 'form:crs:popup:content:wkt' does not exist for page: CRSPanelTestPage
[ERROR]   CRSPanelTest.testPopupWindow:69 path: 'form:crs:popup:content:wkt' does not exist for page: CRSPanelTestPage
[ERROR]   GeoServerAboutPageTest.testHideSensitiveInfo:40 » WicketRuntime The component(...
[ERROR]   GeoServerAboutPageTest.testLoginFormAction:21 » WicketRuntime The component(s)...
[ERROR]   PageResourceBrowserTest.testCopyPaste:166 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testCutPaste:107 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testDelete:228 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testEdit:392 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testNew:353 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testRename:251 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   PageResourceBrowserTest.testUpload:315 path: 'dialog:dialog:content:form:userPanel' does not exist for page: PageResourceBrowser
[ERROR]   XMLRoleConfigDetailsPanelTest.testAddModifyRemove:129->setFileName:66 Unable to set value. Couldn't find component with name: panel:content:fileName ==> expected: not <null>
[ERROR]   URLChecksPageTest.testDeleteRule:103 path: 'dialog:dialog:content:form:submit' does not exist for page: URLChecksPage
[ERROR]   XMLUserGroupConfigDetailsPanelTest.testAddModify:130->setFileName:77 Unable to set value. Couldn't find component with name: panel:content:fileName ==> expected: not <null>
[ERROR]   EditUserPageTest.testFill:39->doTestFill:79->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   EditUserPageTest.testReadOnlyUserGroupService:116->doTestReadOnlyUserGroupService:141->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   NewUserPageTest.testFill:50->doTestFill:75->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   NewUserPageTest.testFill2:158->doTestFill2:177->AbstractUserPageTest.assignGroup:86 » NullPointer
[ERROR]   NewUserPageTest.testFill3:111->doTestFill3:129->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   JDBCEditUserPageTest.testFill:23->EditUserPageTest.doTestFill:79->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   JDBCEditUserPageTest.testReadOnlyUserGroupService:29->EditUserPageTest.doTestReadOnlyUserGroupService:141->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   JDBCNewUserPageTest.testFill:23->NewUserPageTest.doTestFill:75->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   JDBCNewUserPageTest.testFill2:35->NewUserPageTest.doTestFill2:177->AbstractUserPageTest.assignGroup:86 » NullPointer
[ERROR]   JDBCNewUserPageTest.testFill3:29->NewUserPageTest.doTestFill3:129->AbstractUserPageTest.assignRole:77 » NullPointer
[ERROR]   BulkOperationsPageTest.testClearAll:84 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataBulkOperationsPage
[ERROR]   BulkOperationsPageTest.testFixAll:45 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataBulkOperationsPage
[ERROR]   BulkOperationsPageTest.testImport:60 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataBulkOperationsPage
[ERROR]   BulkOperationsPageTest.testNativeToCustom:75 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataBulkOperationsPage
[ERROR]   LayerMetadataTabTest.testGenerateFeatureCatalogueAndDomain:717 path: 'publishedinfo:tabs:panel:metadataPanel:attributesPanel:attributesTablePanel:listContainer:items:13:itemProperties:1:component:attributesTablePanel:listContainer:items:2:itemProperties:1:component:dialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testImportFromGeonetwork:650 path: 'publishedinfo:tabs:panel:geonetworkPanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testLinkAndUnlinkDeleteRowTemplatesBug:479 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testLinkRowTemplatesBug:581 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testLinkWithSimpleAndListTemplates:301 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testTemplatesRemainInPriorityOrder:604 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   LayerMetadataTabTest.testUnlinkFromSimpleAndListTemplates:405 path: 'publishedinfo:tabs:panel:importTemplatePanel:importDialog:dialog:content:form:submit' does not exist for page: ResourceConfigurationPage
[ERROR]   TemplatesPageTest.testDelete:145 path: 'dialog:dialog:content:form:userPanel' does not exist for page: MetadataTemplatesPage
[ERROR]   MapPreviewPageTest.testMaxNumberOfFeaturesForPreview:141->assertMaxFeaturesInData:189
[ERROR]   MapPreviewPageTest.testNameURLEncoding:279 
[ERROR]   StyleEditPageTest.testInsertImage:267 path: 'dialog:dialog:content:form:userPanel' does not exist for page: StyleEditPage
[ERROR]   StyleEditPageTest.testInsertImageSLD11:366 path: 'dialog:dialog:content:form:userPanel' does not exist for page: StyleEditPage
[ERROR]   StyleEditPageTest.testLayerAttributesTabWMS:459 path: 'styleForm:popup:content:layer.table' does not exist for page: StyleEditPage
[ERROR]   StyleEditPageTest.testLayerAttributesUnreachableLayer:443 path: 'styleForm:popup:content:layer.table' does not exist for page: StyleEditPage
[ERROR]   StyleNewPageTest.testInsertImage:493 path: 'dialog:dialog:content:form:userPanel' does not exist for page: StyleNewPage
[ERROR]   StyleNewPageTest.testInsertImageEscaped:564 path: 'dialog:dialog:content:form' does not exist for page: StyleNewPage
[ERROR]   StyleNewPageTest.testLegendChooseImage:600 path: 'dialog:dialog:content:form:userPanel' does not exist for page: StyleNewPage
[ERROR]   ProcessStatusPageTest.test:98 path: 'dialog:dialog:content:form:submit' does not exist for page: ProcessStatusPage
[ERROR]   ImportTaskTableTest.testTwoCRSSetByFindThenApply:66 path: 'taskTable:listContainer:items:1:itemProperties:2:component:form:crs:popup:content:table:listContainer:items:1:itemProperties:0:component:link' does not exist for page: StartComponentInPage
[ERROR]   CachedLayersPageTest.testGWCClean:223 path: 'dialog:dialog:content:form:submit' does not exist for page: CachedLayersPage

I’ve created a branch and a draft PR with it, so that others can have a look:

Full build log attached:
logs.txt.gz (68.5 KB)

Cheers
Andrea

Perhaps we can try to fix one of these test cases and see whats going on.

I expect the dom has somewhat changed (or how its accessed). The fixes might be fairly easy… hopefully.

I guess you haven’t read the rest of the thread… there are 18 pages having issues and 60+ tests failing.

Cheers
Andrea

Yes, however, most of the issues are ...does not exist for page, so there could be a simple fix… Granted, its going to take a while.

dave

I’ve fixed most of the issue. However, there were some more complex wicket errors I wasn’t able to fix.

cf. Run JUnit tests in all modules that received a JUnit 5 dependency by aaime · Pull Request #7939 · geoserver/geoserver · GitHub

1 Like

I was curious what IDE do you guys use? I tried to load the web/security/core module from the main branch into Eclipse (tried 4.32 and 4.33) and got 23 compilation errors with AjaxLink and Link even though Maven has no problems. This seems to be an issue with Eclipse’s compiler but has anyone else encountered that or is it something got messed up in my Eclipse environment?

1 Like

I believe most devs are using intellij nowadays

Cheers
Andrea

I’m using Eclipse and I have the same problem.
Replacing AjaxLink msgLink; with AjaxLink<?> msgLink, and new AjaxLink with new AjaxLink<> seems to solve the problem.

Regards,
Roar Brænden

If that makes maven happy too, then make a PR with the changes, we welcome code that works in all
IDEs.

It fixed some of the cases, but not all.
I haven’t worked with Wicket, so I don’t want to get into depths with this problem.

Regards,
Roar Brænden

Ok folks, I’ve managed to get the remaining tests passing, and the branch is merged. Hopefully now we have as many tests running as we did before the wicket9 merge (can anyone think of a quick way to check?)

Cheers
Andrea

2 Likes

Thanks so much Andrea! That is great news…

To check: could build and grep out the output and compare against 2.26.x branch? Or just download the build output of both builds from Jenkins (and grep compare)

Using the build server outputs… not a bad idea.
Not immediate in application, the module summary test logs are not carrying the module name and the builds are multithreaded, making execution order change.

However, doable by focusing on the single test class logs… I’ve used a little script that greps for those logs, stores them in a file with just the tests run, failed, errored and skipped (no time elapsed information) and then diffed the result.

Turns out “main” runs two tests more than 2.26.x:

aaime@colossus ~ $ diff /tmp/tests-2.26.txt /tmp/tests-main.txt 
777a778
> Class: org.geoserver.web.DeveloperToolbarTest, Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
1102c1103
< Class: org.geoserver.wms.web.data.WMSAdminPageTest, Tests run: 19, Failures: 0, Errors: 0, Skipped: 0
---
> Class: org.geoserver.wms.web.data.WMSAdminPageTest, Tests run: 20, Failures: 0, Errors: 0, Skipped: 0

DeveloperToolbarTest was not there, and WMSAdminPageTest had one test less.

Cheers
Andrea