Skip to content

Commit 14a7c97

Browse files
committed
generalize path before create new path instance
1 parent a0f3c11 commit 14a7c97

File tree

5 files changed

+53
-4
lines changed

5 files changed

+53
-4
lines changed

cover-checker-cobertura/src/main/java/com/naver/nid/cover/cobertura/CoberturaCoverageReportHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.naver.nid.cover.parser.coverage.model.CoverageStatus;
2020
import com.naver.nid.cover.parser.coverage.model.FileCoverageReport;
2121
import com.naver.nid.cover.parser.coverage.model.LineCoverageReport;
22+
import com.naver.nid.cover.util.PathUtils;
2223
import lombok.extern.slf4j.Slf4j;
2324
import org.xml.sax.Attributes;
2425

@@ -110,7 +111,7 @@ private CoverageStatus getCoverageStatus(Attributes attributes) {
110111
* @param attributes xml attribute
111112
*/
112113
private void initClass(Attributes attributes) {
113-
Path filePath = Paths.get(attributes.getValue(ATTR_FILENAME));
114+
Path filePath = Paths.get(PathUtils.generalizeSeparator(attributes.getValue(ATTR_FILENAME)));
114115
if(log.isDebugEnabled()) {
115116
log.debug("parse class {}({})", attributes.getValue("name"), filePath);
116117
}

cover-checker-core/src/main/java/com/naver/nid/cover/parser/diff/DiffMapper.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import com.naver.nid.cover.parser.diff.exception.ParseException;
1919
import com.naver.nid.cover.parser.diff.model.*;
20+
import com.naver.nid.cover.util.PathUtils;
2021
import lombok.extern.slf4j.Slf4j;
2122

2223
import java.nio.file.Path;
@@ -104,7 +105,7 @@ private Path removeNewFilePrefix(String path) {
104105
if (path.startsWith("b/")) {
105106
path = path.replaceFirst("b/", "");
106107
}
107-
return Paths.get(path);
108+
return Paths.get(PathUtils.generalizeSeparator(path));
108109
}
109110

110111
private Optional<List<DiffSection>> getDiffSectionListFromRawDiff(RawDiff rawDiff) {

cover-checker-core/src/test/java/com/naver/nid/cover/checker/NewCoverageCheckerTest.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,4 +159,46 @@ public void coverCheckTestForMultiModule() {
159159
NewCoverageCheckReport check = checker.check(coverage, diffList, 60, 0);
160160
assertEquals(newCoverageCheckReport, check);
161161
}
162+
163+
@Test
164+
public void coverCheckTestForWindowPath() {
165+
NewCoverageChecker checker = new NewCoverageChecker();
166+
167+
List<Line> lines = Arrays.asList(
168+
Line.builder().lineNumber(1).type(ModifyType.ADD).build()
169+
, Line.builder().lineNumber(2).type(ModifyType.ADD).build());
170+
171+
List<DiffSection> diffSectionList = Collections.singletonList(DiffSection.builder().lineList(lines).build());
172+
List<Diff> diffList = Collections.singletonList(Diff.builder().fileName(Paths.get("src\\main\\com\\naver\\nid\\test.kt")).diffSectionList(diffSectionList).build());
173+
174+
175+
LineCoverageReport lineCoverageReport = new LineCoverageReport();
176+
lineCoverageReport.setStatus(CoverageStatus.COVERED);
177+
lineCoverageReport.setLineNum(1);
178+
179+
LineCoverageReport lineCoverageReport2 = new LineCoverageReport();
180+
lineCoverageReport2.setStatus(CoverageStatus.UNCOVERED);
181+
lineCoverageReport2.setLineNum(2);
182+
183+
FileCoverageReport fileCoverageReport = new FileCoverageReport();
184+
fileCoverageReport.setType("kt");
185+
fileCoverageReport.setFileName(Paths.get("src\\main\\com\\naver\\nid\\test.kt"));
186+
fileCoverageReport.setLineCoverageReportList(Arrays.asList(lineCoverageReport, lineCoverageReport2));
187+
List<FileCoverageReport> coverage = Collections.singletonList(fileCoverageReport);
188+
189+
NewCoverageCheckReport newCoverageCheckReport = NewCoverageCheckReport.builder()
190+
.threshold(60)
191+
.totalNewLine(2)
192+
.coveredNewLine(1)
193+
.coveredFilesInfo(
194+
Collections.singletonList(NewCoveredFile.builder()
195+
.name(Paths.get("src\\main\\com\\naver\\nid\\test.kt"))
196+
.addedLine(2)
197+
.addedCoverLine(1)
198+
.build()))
199+
.build();
200+
201+
NewCoverageCheckReport check = checker.check(coverage, diffList, 60, 0);
202+
assertEquals(newCoverageCheckReport, check);
203+
}
162204
}

cover-checker-core/src/test/resources/logback-test.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
<?xml version="1.0" encoding="UTF-8" ?>
22
<configuration>
3-
<include resource="pattern.xml" />
3+
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
4+
<encoder>
5+
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level \(%file:%line\) %msg%n</pattern>
6+
</encoder>
7+
</appender>
48

59
<root level="DEBUG">
610
<appender-ref ref="console"/>

cover-checker-jacoco/src/main/java/com/naver/nid/cover/jacoco/JacocoXmlCoverageReportHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.naver.nid.cover.parser.coverage.model.CoverageStatus;
2020
import com.naver.nid.cover.parser.coverage.model.FileCoverageReport;
2121
import com.naver.nid.cover.parser.coverage.model.LineCoverageReport;
22+
import com.naver.nid.cover.util.PathUtils;
2223
import lombok.extern.slf4j.Slf4j;
2324
import org.xml.sax.Attributes;
2425

@@ -44,7 +45,7 @@ public void startElement(String uri, String localName, String qName, Attributes
4445
if (localName.equals("")) localName = qName;
4546
switch (localName) {
4647
case "package":
47-
pkgPath = attributes.getValue("name");
48+
pkgPath = PathUtils.generalizeSeparator(attributes.getValue("name"));
4849
log.debug("found new package {}", pkgPath);
4950
break;
5051
case "sourcefile":

0 commit comments

Comments
 (0)