UploadPackTest: ensure UploadPack is closed to fix resource leak

Change-Id: I4c8cf6041b4011934d338138d4531d190fdd6abb
This commit is contained in:
Matthias Sohn 2022-11-20 21:24:00 +01:00
parent 4ddc64a2dd
commit bde09c185f
1 changed files with 43 additions and 37 deletions

View File

@ -2416,16 +2416,18 @@ public void testGetPeerAgentProtocolV0() throws Exception {
RevCommit one = remote.commit().message("1").create(); RevCommit one = remote.commit().message("1").create();
remote.update("one", one); remote.update("one", one);
UploadPack up = new UploadPack(server); try (UploadPack up = new UploadPack(server)) {
ByteArrayInputStream send = linesAsInputStream( ByteArrayInputStream send = linesAsInputStream(
"want " + one.getName() + " agent=JGit-test/1.2.3\n", "want " + one.getName() + " agent=JGit-test/1.2.3\n",
PacketLineIn.end(), PacketLineIn.end(),
"have 11cedf1b796d44207da702f7d420684022fc0f09\n", "done\n"); "have 11cedf1b796d44207da702f7d420684022fc0f09\n",
"done\n");
ByteArrayOutputStream recv = new ByteArrayOutputStream(); ByteArrayOutputStream recv = new ByteArrayOutputStream();
up.upload(send, recv, null); up.upload(send, recv, null);
assertEquals(up.getPeerUserAgent(), "JGit-test/1.2.3"); assertEquals(up.getPeerUserAgent(), "JGit-test/1.2.3");
}
} }
@Test @Test
@ -2433,17 +2435,19 @@ public void testGetSessionIDValueProtocolV0() throws Exception {
RevCommit one = remote.commit().message("1").create(); RevCommit one = remote.commit().message("1").create();
remote.update("one", one); remote.update("one", one);
UploadPack up = new UploadPack(server); try (UploadPack up = new UploadPack(server)) {
ByteArrayInputStream send = linesAsInputStream( ByteArrayInputStream send = linesAsInputStream(
"want " + one.getName() + " agent=JGit-test/1.2.3" "want " + one.getName() + " agent=JGit-test/1.2.3"
+ " session-id=client-session-id\n", + " session-id=client-session-id\n",
PacketLineIn.end(), PacketLineIn.end(),
"have 11cedf1b796d44207da702f7d420684022fc0f09\n", "done\n"); "have 11cedf1b796d44207da702f7d420684022fc0f09\n",
"done\n");
ByteArrayOutputStream recv = new ByteArrayOutputStream(); ByteArrayOutputStream recv = new ByteArrayOutputStream();
up.upload(send, recv, null); up.upload(send, recv, null);
assertEquals(up.getClientSID(), "client-session-id"); assertEquals(up.getClientSID(), "client-session-id");
}
} }
@Test @Test
@ -2455,19 +2459,20 @@ public void testGetPeerAgentProtocolV2() throws Exception {
RevCommit one = remote.commit().message("1").create(); RevCommit one = remote.commit().message("1").create();
remote.update("one", one); remote.update("one", one);
UploadPack up = new UploadPack(server); try (UploadPack up = new UploadPack(server)) {
up.setExtraParameters(Sets.of("version=2")); up.setExtraParameters(Sets.of("version=2"));
ByteArrayInputStream send = linesAsInputStream( ByteArrayInputStream send = linesAsInputStream("command=fetch\n",
"command=fetch\n", "agent=JGit-test/1.2.4\n", "agent=JGit-test/1.2.4\n", PacketLineIn.delimiter(),
PacketLineIn.delimiter(), "want " + one.getName() + "\n", "want " + one.getName() + "\n",
"have 11cedf1b796d44207da702f7d420684022fc0f09\n", "done\n", "have 11cedf1b796d44207da702f7d420684022fc0f09\n", "done\n",
PacketLineIn.end()); PacketLineIn.end());
ByteArrayOutputStream recv = new ByteArrayOutputStream(); ByteArrayOutputStream recv = new ByteArrayOutputStream();
up.upload(send, recv, null); up.upload(send, recv, null);
assertEquals(up.getPeerUserAgent(), "JGit-test/1.2.4"); assertEquals(up.getPeerUserAgent(), "JGit-test/1.2.4");
}
} }
@Test @Test
@ -2479,19 +2484,20 @@ public void testGetSessionIDValueProtocolV2() throws Exception {
RevCommit one = remote.commit().message("1").create(); RevCommit one = remote.commit().message("1").create();
remote.update("one", one); remote.update("one", one);
UploadPack up = new UploadPack(server); try (UploadPack up = new UploadPack(server)) {
up.setExtraParameters(Sets.of("version=2")); up.setExtraParameters(Sets.of("version=2"));
ByteArrayInputStream send = linesAsInputStream("command=fetch\n", ByteArrayInputStream send = linesAsInputStream("command=fetch\n",
"agent=JGit-test/1.2.4\n", "session-id=client-session-id\n", "agent=JGit-test/1.2.4\n", "session-id=client-session-id\n",
PacketLineIn.delimiter(), "want " + one.getName() + "\n", PacketLineIn.delimiter(), "want " + one.getName() + "\n",
"have 11cedf1b796d44207da702f7d420684022fc0f09\n", "done\n", "have 11cedf1b796d44207da702f7d420684022fc0f09\n", "done\n",
PacketLineIn.end()); PacketLineIn.end());
ByteArrayOutputStream recv = new ByteArrayOutputStream(); ByteArrayOutputStream recv = new ByteArrayOutputStream();
up.upload(send, recv, null); up.upload(send, recv, null);
assertEquals(up.getClientSID(), "client-session-id"); assertEquals(up.getClientSID(), "client-session-id");
}
} }
private static class RejectAllRefFilter implements RefFilter { private static class RejectAllRefFilter implements RefFilter {