summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test
diff options
context:
space:
mode:
authorMatthias Sohn <matthias.sohn@sap.com>2022-01-19 09:53:21 +0100
committerMatthias Sohn <matthias.sohn@sap.com>2022-01-19 09:53:21 +0100
commit5f556588a9e4bb5ad23ca67fcf2543affaa0805a (patch)
tree3da57e6caa2844005ccc194eeaa73dc35e41e799 /org.eclipse.jgit.test
parentd017a655dfbdac2393ec645c6864e190cf55516c (diff)
parent9b28f43cf16dc457415a051215b1dbc96cfd4c14 (diff)
downloadjgit-5f556588a9e4bb5ad23ca67fcf2543affaa0805a.tar.gz
jgit-5f556588a9e4bb5ad23ca67fcf2543affaa0805a.zip
Merge branch 'stable-6.0'
* stable-6.0: [bazel] Skip ConfigTest#testCommitTemplatePathInHomeDirecory [errorprone] Fix InfiniteRecursion error in RecordingLogger [errorprone] Suppress Finally error in ObjectDownloadListener [errorprone] Fix implicit use of default charset in FileBasedConfigTest [errorprone] Suppress FutureReturnValueIgnored in FileRepository#autoGc Change-Id: I08d58c8f3f04e3a920da43b5fb252b1654c2b33c
Diffstat (limited to 'org.eclipse.jgit.test')
-rw-r--r--org.eclipse.jgit.test/BUILD1
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/CommitTemplateConfigTest.java60
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java27
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/FileBasedConfigTest.java7
4 files changed, 67 insertions, 28 deletions
diff --git a/org.eclipse.jgit.test/BUILD b/org.eclipse.jgit.test/BUILD
index c9b5d37265..9e787fee71 100644
--- a/org.eclipse.jgit.test/BUILD
+++ b/org.eclipse.jgit.test/BUILD
@@ -42,6 +42,7 @@ DATA = [
EXCLUDED = [
PKG + "api/SecurityManagerTest.java",
PKG + "api/SecurityManagerMissingPermissionsTest.java",
+ PKG + "lib/CommitTemplateConfigTest.java",
]
tests(tests = glob(
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/CommitTemplateConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/CommitTemplateConfigTest.java
new file mode 100644
index 0000000000..6dbe30af2d
--- /dev/null
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/CommitTemplateConfigTest.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2021 SAP SE and others
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Distribution License v. 1.0 which is available at
+ * https://www.eclipse.org/org/documents/edl-v10.php.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ */
+
+package org.eclipse.jgit.lib;
+
+import static org.junit.Assert.assertEquals;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.eclipse.jgit.errors.ConfigInvalidException;
+import org.eclipse.jgit.junit.JGitTestUtil;
+import org.eclipse.jgit.storage.file.FileRepositoryBuilder;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+/*
+ * This test was moved from ConfigTest to allow skipping it when running the
+ * test using bazel which doesn't allow tests to create files in the home
+ * directory
+ */
+public class CommitTemplateConfigTest {
+
+ @Rule
+ public TemporaryFolder tmp = new TemporaryFolder();
+
+ @Test
+ public void testCommitTemplatePathInHomeDirecory()
+ throws ConfigInvalidException, IOException {
+ Config config = new Config(null);
+ File tempFile = tmp.newFile("testCommitTemplate-");
+ File workTree = tmp.newFolder("dummy-worktree");
+ Repository repo = FileRepositoryBuilder.create(workTree);
+ String templateContent = "content of the template";
+ JGitTestUtil.write(tempFile, templateContent);
+ // proper evaluation of the ~/ directory
+ String homeDir = System.getProperty("user.home");
+ File tempFileInHomeDirectory = File.createTempFile("fileInHomeFolder",
+ ".tmp", new File(homeDir));
+ tempFileInHomeDirectory.deleteOnExit();
+ JGitTestUtil.write(tempFileInHomeDirectory, templateContent);
+ String expectedTemplatePath = tempFileInHomeDirectory.getPath()
+ .replace(homeDir, "~");
+ config = ConfigTest
+ .parse("[commit]\n\ttemplate = " + expectedTemplatePath + "\n");
+ String templatePath = config.get(CommitConfig.KEY)
+ .getCommitTemplatePath();
+ assertEquals(expectedTemplatePath, templatePath);
+ assertEquals(templateContent,
+ config.get(CommitConfig.KEY).getCommitTemplateContent(repo));
+ }
+}
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
index 9ee54d5b60..9b82c2afd6 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java
@@ -1177,7 +1177,7 @@ public class ConfigTest {
assertEquals(exp, c.getLong("s", null, "a", 0L));
}
- private static Config parse(String content)
+ static Config parse(String content)
throws ConfigInvalidException {
return parse(content, null);
}
@@ -1546,31 +1546,6 @@ public class ConfigTest {
"utf-8", commitEncoding);
}
- @Test
- public void testCommitTemplatePathInHomeDirecory()
- throws ConfigInvalidException, IOException {
- Config config = new Config(null);
- File tempFile = tmp.newFile("testCommitTemplate-");
- File workTree = tmp.newFolder("dummy-worktree");
- Repository repo = FileRepositoryBuilder.create(workTree);
- String templateContent = "content of the template";
- JGitTestUtil.write(tempFile, templateContent);
- // proper evaluation of the ~/ directory
- String homeDir = System.getProperty("user.home");
- File tempFileInHomeDirectory = File.createTempFile("fileInHomeFolder",
- ".tmp", new File(homeDir));
- tempFileInHomeDirectory.deleteOnExit();
- JGitTestUtil.write(tempFileInHomeDirectory, templateContent);
- String expectedTemplatePath = tempFileInHomeDirectory.getPath()
- .replace(homeDir, "~");
- config = parse("[commit]\n\ttemplate = " + expectedTemplatePath + "\n");
- String templatePath = config.get(CommitConfig.KEY)
- .getCommitTemplatePath();
- assertEquals(expectedTemplatePath, templatePath);
- assertEquals(templateContent,
- config.get(CommitConfig.KEY).getCommitTemplateContent(repo));
- }
-
@Test(expected = ConfigInvalidException.class)
public void testCommitTemplateWithInvalidEncoding()
throws ConfigInvalidException, IOException {
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/FileBasedConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/FileBasedConfigTest.java
index 7f0bfefbe7..b964e97752 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/FileBasedConfigTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/storage/file/FileBasedConfigTest.java
@@ -19,6 +19,7 @@ import static org.junit.Assert.assertFalse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
+import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
@@ -276,7 +277,8 @@ public class FileBasedConfigTest {
throws IOException {
AtomicBoolean userConfigTimeRead = new AtomicBoolean(false);
- Path userConfigFile = createFile(CONTENT1.getBytes(), "home");
+ Path userConfigFile = createFile(
+ CONTENT1.getBytes(StandardCharsets.UTF_8), "home");
mockSystemReader.setUserGitConfig(
new FileBasedConfig(userConfigFile.toFile(), FS.DETECTED) {
@@ -289,7 +291,8 @@ public class FileBasedConfigTest {
}
});
- Path file = createFile(CONTENT2.getBytes(), "repo");
+ Path file = createFile(CONTENT2.getBytes(StandardCharsets.UTF_8),
+ "repo");
FileBasedConfig fileBasedConfig = new FileBasedConfig(file.toFile(),
FS.DETECTED);
fileBasedConfig.save();