Skip to content

Commit 995a858

Browse files
committed
964: Should only consider Fixed bugs for hgupdate-sync
Reviewed-by: kcr, erikj
1 parent cd6a10f commit 995a858

File tree

5 files changed

+43
-7
lines changed

5 files changed

+43
-7
lines changed

bots/csr/src/test/java/org/openjdk/skara/bots/csr/CSRBotTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@ void removeLabelForApprovedCSR(TestInfo testInfo) throws IOException {
4343
var issues = credentials.getIssueProject();
4444
var issue = issues.createIssue("This is an issue", List.of(), Map.of());
4545

46-
var csr = issues.createIssue("This is an approved CSR", List.of(), Map.of("resolution",
47-
JSON.object().put("name", "Approved")));
46+
var csr = issues.createIssue("This is an approved CSR", List.of(), Map.of());
4847
csr.setState(Issue.State.CLOSED);
48+
csr.setProperty("resolution", JSON.object().put("name", "Approved"));
4949
issue.addLink(Link.create(csr, "csr for").build());
5050

5151
var bot = new CSRBot(repo, issues);

bots/pr/src/test/java/org/openjdk/skara/bots/pr/CSRTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,9 @@ void alreadyApprovedCSR(TestInfo testInfo) throws IOException {
105105
var issues = credentials.getIssueProject();
106106
var issue = issues.createIssue("This is an issue", List.of(), Map.of());
107107

108-
var csr = issues.createIssue("This is an approved CSR", List.of(), Map.of("resolution",
109-
JSON.object().put("name", "Approved")));
108+
var csr = issues.createIssue("This is an approved CSR", List.of(), Map.of());
110109
csr.setState(Issue.State.CLOSED);
110+
csr.setProperty("resolution", JSON.object().put("name", "Approved"));
111111
issue.addLink(Link.create(csr, "csr for").build());
112112

113113
var censusBuilder = credentials.getCensusBuilder()

jbs/src/main/java/org/openjdk/skara/jbs/Backports.java

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,14 +192,34 @@ public static Optional<Issue> findIssue(Issue primary, JdkVersion fixVersion) {
192192
return Optional.empty();
193193
}
194194

195-
public static List<Issue> findBackports(Issue primary, boolean resolvedOnly) {
195+
private static boolean isFixed(Issue issue) {
196+
if (issue.state() == Issue.State.OPEN) {
197+
return false;
198+
}
199+
var resolution = issue.properties().get("resolution");
200+
if (resolution == null || resolution.isNull()) {
201+
return false;
202+
}
203+
var name = resolution.get("name");
204+
if (name == null || name.isNull()) {
205+
return false;
206+
}
207+
208+
if (!name.asString().equals("Fixed")) {
209+
return false;
210+
}
211+
212+
return true;
213+
}
214+
215+
public static List<Issue> findBackports(Issue primary, boolean fixedOnly) {
196216
var links = primary.links();
197217
return links.stream()
198218
.filter(l -> l.issue().isPresent())
199219
.filter(l -> l.relationship().isPresent())
200220
.filter(l -> l.relationship().get().equals("backported by"))
201221
.map(l -> l.issue().get())
202-
.filter(i -> !resolvedOnly || (i.state() != Issue.State.OPEN))
222+
.filter(i -> !fixedOnly || isFixed(i))
203223
.filter(i -> i.properties().containsKey("issuetype"))
204224
.filter(i -> i.properties().get("issuetype").asString().equals("Backport"))
205225
.collect(Collectors.toList());

jbs/src/test/java/org/openjdk/skara/jbs/BackportsTests.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,10 @@ private static class BackportManager {
185185
private void setState(Issue issue, String version) {
186186
if (version.endsWith("#open")) {
187187
version = version.substring(0, version.length() - 5);
188+
} else if (version.endsWith("#wontfix")) {
189+
version = version.substring(0, version.length() - 8);
190+
issue.setState(Issue.State.RESOLVED);
191+
issue.setProperty("resolution", JSON.object().put("name", JSON.of("Won't Fix")));
188192
} else {
189193
issue.setState(Issue.State.RESOLVED);
190194
}
@@ -754,4 +758,15 @@ void sampleTest24(TestInfo testInfo) throws IOException {
754758
backports.assertLabeled();
755759
}
756760
}
761+
762+
@Test
763+
void wontFix(TestInfo testInfo) throws IOException {
764+
try (var credentials = new HostCredentials(testInfo)) {
765+
var backports = new BackportManager(credentials, "14");
766+
backports.assertLabeled();
767+
768+
backports.addBackports("15", "13.0.7", "11.0.12-oracle", "11.0.11-oracle#wontfix", "11.0.10");
769+
backports.assertLabeled("15");
770+
}
771+
}
757772
}

test/src/main/java/org/openjdk/skara/test/TestIssue.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import org.openjdk.skara.host.HostUser;
2626
import org.openjdk.skara.issuetracker.*;
27-
import org.openjdk.skara.json.JSONValue;
27+
import org.openjdk.skara.json.*;
2828
import org.openjdk.skara.network.URIBuilder;
2929

3030
import java.net.URI;
@@ -150,6 +150,7 @@ public void setState(State state) {
150150
data.state = state;
151151
data.lastUpdate = ZonedDateTime.now();
152152
data.closedBy = user;
153+
data.properties.put("resolution", JSON.object().put("name", JSON.of("Fixed")));
153154
}
154155

155156
@Override

0 commit comments

Comments
 (0)