ArchiveTest: Open auto-closeable resources in try-with-resource
Change-Id: If11017f21027b46c7a66e52e4bc0cc73f4fbdc07 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
This commit is contained in:
parent
9e4a455f9b
commit
594722530b
|
@ -633,9 +633,8 @@ private void grepForEntry(String name, String mode, String... cmdline)
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertMagic(long offset, byte[] magicBytes, File file) throws Exception {
|
private void assertMagic(long offset, byte[] magicBytes, File file) throws Exception {
|
||||||
BufferedInputStream in = new BufferedInputStream(
|
try (BufferedInputStream in = new BufferedInputStream(
|
||||||
new FileInputStream(file));
|
new FileInputStream(file))) {
|
||||||
try {
|
|
||||||
if (offset > 0) {
|
if (offset > 0) {
|
||||||
long skipped = in.skip(offset);
|
long skipped = in.skip(offset);
|
||||||
assertEquals(offset, skipped);
|
assertEquals(offset, skipped);
|
||||||
|
@ -644,8 +643,6 @@ private void assertMagic(long offset, byte[] magicBytes, File file) throws Excep
|
||||||
byte[] actual = new byte[magicBytes.length];
|
byte[] actual = new byte[magicBytes.length];
|
||||||
in.read(actual);
|
in.read(actual);
|
||||||
assertArrayEquals(magicBytes, actual);
|
assertArrayEquals(magicBytes, actual);
|
||||||
} finally {
|
|
||||||
in.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -686,23 +683,19 @@ private void assertTarContainsEntry(String tarfile, String mode, String name)
|
||||||
private void writeRaw(String filename, byte[] data)
|
private void writeRaw(String filename, byte[] data)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
File path = new File(db.getWorkTree(), filename);
|
File path = new File(db.getWorkTree(), filename);
|
||||||
OutputStream out = new FileOutputStream(path);
|
try (OutputStream out = new FileOutputStream(path)) {
|
||||||
try {
|
|
||||||
out.write(data);
|
out.write(data);
|
||||||
} finally {
|
|
||||||
out.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String[] listZipEntries(byte[] zipData) throws IOException {
|
private static String[] listZipEntries(byte[] zipData) throws IOException {
|
||||||
List<String> l = new ArrayList<>();
|
List<String> l = new ArrayList<>();
|
||||||
ZipInputStream in = new ZipInputStream(
|
try (ZipInputStream in = new ZipInputStream(
|
||||||
new ByteArrayInputStream(zipData));
|
new ByteArrayInputStream(zipData))) {
|
||||||
|
ZipEntry e;
|
||||||
ZipEntry e;
|
while ((e = in.getNextEntry()) != null)
|
||||||
while ((e = in.getNextEntry()) != null)
|
l.add(e.getName());
|
||||||
l.add(e.getName());
|
}
|
||||||
in.close();
|
|
||||||
return l.toArray(new String[l.size()]);
|
return l.toArray(new String[l.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -725,22 +718,22 @@ public Object call() throws IOException {
|
||||||
private String[] listTarEntries(byte[] tarData) throws Exception {
|
private String[] listTarEntries(byte[] tarData) throws Exception {
|
||||||
List<String> l = new ArrayList<>();
|
List<String> l = new ArrayList<>();
|
||||||
Process proc = spawnAssumingCommandPresent("tar", "tf", "-");
|
Process proc = spawnAssumingCommandPresent("tar", "tf", "-");
|
||||||
BufferedReader reader = readFromProcess(proc);
|
try (BufferedReader reader = readFromProcess(proc)) {
|
||||||
OutputStream out = proc.getOutputStream();
|
OutputStream out = proc.getOutputStream();
|
||||||
|
|
||||||
// Dump tarball to tar stdin in background
|
// Dump tarball to tar stdin in background
|
||||||
Future<?> writing = writeAsync(out, tarData);
|
Future<?> writing = writeAsync(out, tarData);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String line;
|
String line;
|
||||||
while ((line = reader.readLine()) != null)
|
while ((line = reader.readLine()) != null)
|
||||||
l.add(line);
|
l.add(line);
|
||||||
|
|
||||||
return l.toArray(new String[l.size()]);
|
return l.toArray(new String[l.size()]);
|
||||||
} finally {
|
} finally {
|
||||||
writing.get();
|
writing.get();
|
||||||
reader.close();
|
proc.destroy();
|
||||||
proc.destroy();
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -771,20 +764,20 @@ private String[] tarEntryContent(byte[] tarData, String path)
|
||||||
throws Exception {
|
throws Exception {
|
||||||
List<String> l = new ArrayList<>();
|
List<String> l = new ArrayList<>();
|
||||||
Process proc = spawnAssumingCommandPresent("tar", "Oxf", "-", path);
|
Process proc = spawnAssumingCommandPresent("tar", "Oxf", "-", path);
|
||||||
BufferedReader reader = readFromProcess(proc);
|
try (BufferedReader reader = readFromProcess(proc)) {
|
||||||
OutputStream out = proc.getOutputStream();
|
OutputStream out = proc.getOutputStream();
|
||||||
Future<?> writing = writeAsync(out, tarData);
|
Future<?> writing = writeAsync(out, tarData);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
String line;
|
String line;
|
||||||
while ((line = reader.readLine()) != null)
|
while ((line = reader.readLine()) != null)
|
||||||
l.add(line);
|
l.add(line);
|
||||||
|
|
||||||
return l.toArray(new String[l.size()]);
|
return l.toArray(new String[l.size()]);
|
||||||
} finally {
|
} finally {
|
||||||
writing.get();
|
writing.get();
|
||||||
reader.close();
|
proc.destroy();
|
||||||
proc.destroy();
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue