GeoServerSystemTestSupport often uses String.getBytes which uses the system default charset, but GeoServerSystemTestSupport.dom uses an InputSource which assumes UTF-8 unless told otherwise with InputSource.setEncoding .
This defect causes a build failure on Windows, which can be reproduced on Linux by invoking Maven with -Djvm.opts=“-Dfile.encoding=windows-1252” :
Tests in error:
testSpecialCharacterNames(org.geoserver.rest.resources.ResourceTest):
Invalid byte 2 of 3-byte UTF-8 sequence.
This Winbuild stack trace shows the failure on Windows:
testSpecialCharacterNames(org.geoserver.rest.resources.ResourceTest) Time elapsed: 203 sec <<< ERROR!
com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 2 of 3-byte UTF-8 sequence.
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.invalidByte(UTF8Reader.java:701)
at com.sun.org.apache.xerces.internal.impl.io.UTF8Reader.read(UTF8Reader.java:408)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(XMLEntityScanner.java:1790)
at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.skipChar(XMLEntityScanner.java:1460)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2824)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:118)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
at org.geoserver.test.GeoServerSystemTestSupport.dom(GeoServerSystemTestSupport.java:1391)
at org.geoserver.test.GeoServerSystemTestSupport.dom(GeoServerSystemTestSupport.java:1372)
at org.geoserver.test.GeoServerSystemTestSupport.getAsDOM(GeoServerSystemTestSupport.java:1264)
at org.geoserver.test.GeoServerSystemTestSupport.getAsDOM(GeoServerSystemTestSupport.java:1199)
at org.geoserver.rest.resources.ResourceTest.testSpecialCharacterNames(ResourceTest.java:161)
|