Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenCppCoverage의 cobertura 형식 지원 #24

Closed
choi-inkyun opened this issue Jul 11, 2020 · 3 comments · Fixed by #27
Closed

OpenCppCoverage의 cobertura 형식 지원 #24

choi-inkyun opened this issue Jul 11, 2020 · 3 comments · Fixed by #27
Assignees
Labels
bug Something isn't working WIP working in progress

Comments

@choi-inkyun
Copy link

안녕하세요 : )

이번에 Windows 환경의 애플리케이션을 개발하다보니 gcovr을 사용할 수 없어서 OpenCppCoverage (https://github.com/OpenCppCoverage/OpenCppCoverage) 를 사용하여 cobertura 리포트를 산출 하였는데요.
산출 후 jenkins cobertura 플러그인과 sonarqube 에서는 정상적으로 커버리지 리포트가 노출되지만, cover-checker와 연동을 시도 하였는데 형식이 조금 달라서 그런지 Exception이 발생하거나 0% 로만 나오는 문제가 있었습니다.

산출되는 리포트 형식 관련해서는 아래 내용을 참고 부탁드립니다.
https://github.com/OpenCppCoverage/OpenCppCoverage/wiki/Jenkins

0% 로만 나오는 문제를 해결하기 위해 몇 가지 실행 옵션들을 수정하면서 테스트 하였는데, 이후 아래와 같이 Exception이 계속 발생하였습니다.

C:\Program Files (x86)\Jenkins\workspace\core-build>"C:\Program Files\Java\jdk-11.0.7\bin\java.exe" -jar c:\cover-checker-console-1.4.0-jar-with-dependencies.jar -c C:\UnitTestDCoverage.xml -g $token -r video-tech1/Core -t 10 -u oss.navercorp.com -p ${ghprbPullId} -type cobertura

20:44:29.224 [main] INFO  (CoverChecker.java:47) Check new line of code coverage by XmlCoverageReportParser
20:44:29.224 [main] INFO  (CoverChecker.java:53) read diff by GithubDiffReader
20:44:29.240 [ForkJoinPool.commonPool-worker-7] INFO  (GithubDiffManager.java:40) get diff video-tech1/Core/55
20:44:29.287 [main] INFO  (ConsoleReporter.java:28) coverage check result
20:44:29.287 [main] ERROR (ConsoleReporter.java:36) result error occurred
java.util.concurrent.CompletionException: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
	at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
	at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1702)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
	at com.naver.nid.cover.cobertura.CoberturaCoverageReportHandler.initClass(CoberturaCoverageReportHandler.java:120)
	at com.naver.nid.cover.cobertura.CoberturaCoverageReportHandler.startElement(CoberturaCoverageReportHandler.java:56)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:510)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1397)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2710)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
	at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
	at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
	at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:324)
	at java.xml/javax.xml.parsers.SAXParser.parse(SAXParser.java:330)
	at com.naver.nid.cover.parser.coverage.XmlCoverageReportParser.parse(XmlCoverageReportParser.java:50)
	at com.naver.nid.cover.parser.coverage.CoverageReportParser.parse(CoverageReportParser.java:31)
	at com.naver.nid.cover.CoverChecker.lambda$null$5(CoverChecker.java:74)
	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
	... 6 common frames omitted

감사합니다.

@ksmail13
Copy link
Contributor

제보 감사합니다.
제가 잘 모르는 환경이라서 실제 산출되는 xml파일에 대해 확인이 필요할 것 같습니다.
먼저 테스트 해보고 잘 안되면, 개인적으로 연락드릴 수 있도록 하겠습니다.

@ksmail13 ksmail13 added bug Something isn't working WIP working in progress labels Jul 12, 2020
@ksmail13 ksmail13 self-assigned this Jul 12, 2020
@choi-inkyun
Copy link
Author

넵넵 연락 주시면 최대한 지원 하겠습니다^^ 감사합니다.
저도 시간 될 때 살펴볼 수 있도록 하겠습니다!

@ksmail13 ksmail13 linked a pull request Dec 10, 2020 that will close this issue
@ksmail13
Copy link
Contributor

에러를 다시 보니 확장자 없는 파일에 대해서 확장자 추출과정에서 에러가 발생해서 생기는 문제같네요 ㅎㅎ;
오래걸려서 죄송합니다 ㅠ;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working WIP working in progress
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants