Browse Source

Fix OpenSshConfigTest#config

- use FS.DETECTED instead of db.getFS() since the ssh config is
typically in a different place than the repository, the same is used in
OpenSshConfig
- reduce unnecessary repeated writes by introducing wait for one tick of
the file time resolution

Change-Id: Ifac915e97ff420ec5cf8e2f162e351f9f51b6b14
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
tags/v5.1.9.201908210455-r
Matthias Sohn 4 years ago
parent
commit
5a88815b1c

+ 7
- 1
org.eclipse.jgit.test/tst/org/eclipse/jgit/transport/OpenSshConfigTest.java View File

@@ -58,6 +58,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.time.Instant;
import java.util.concurrent.TimeUnit;

import org.eclipse.jgit.junit.RepositoryTestCase;
import org.eclipse.jgit.lib.Constants;
@@ -93,12 +94,17 @@ public class OpenSshConfigTest extends RepositoryTestCase {
}

private void config(String data) throws IOException {
FS fs = db.getFS();
FS fs = FS.DETECTED;
long resolution = FS.getFileStoreAttributes(configFile.toPath())
.getFsTimestampResolution().toNanos();
Instant lastMtime = fs.lastModifiedInstant(configFile);
do {
try (final OutputStreamWriter fw = new OutputStreamWriter(
new FileOutputStream(configFile), UTF_8)) {
fw.write(data);
TimeUnit.NANOSECONDS.sleep(resolution);
} catch (InterruptedException e) {
Thread.interrupted();
}
} while (lastMtime.equals(fs.lastModifiedInstant(configFile)));
}

Loading…
Cancel
Save