summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test
diff options
context:
space:
mode:
authorThomas Wolf <thomas.wolf@paranor.ch>2017-08-31 15:48:10 +0200
committerThomas Wolf <thomas.wolf@paranor.ch>2017-08-31 15:48:10 +0200
commitc91c20f36f2df03b792cd610b8ec54045b014159 (patch)
tree0289d859183dae27144f600f9b0c50802fd4a838 /org.eclipse.jgit.test
parentc506f8d2dd0f0974339a087251f35e7e8d878df2 (diff)
downloadjgit-c91c20f36f2df03b792cd610b8ec54045b014159.tar.gz
jgit-c91c20f36f2df03b792cd610b8ec54045b014159.zip
Fix some tests for running in bazel
Some tests call out to external cgit. Those tests all failed for me locally on Mac. Turned out that the reason was that the system git config used by the git in the bazel run contained paths with ~/ but somehow $HOME was not set. As a result the external git returned with exit code 128. Fix this by passing along $HOME explicitly. Also improve assertions to make sure we do get the stderr of the external command in the test log. I hadn't noticed that until now because apparently the maven build does pass along $HOME. Change-Id: I7069676d5cc7b23a71e79a4866fe8acab5a405f4 Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Diffstat (limited to 'org.eclipse.jgit.test')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/attributes/CGitAttributesTest.java7
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/CGitIgnoreTest.java7
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/indexdiff/IndexDiffWithSymlinkTest.java6
3 files changed, 13 insertions, 7 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/attributes/CGitAttributesTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/attributes/CGitAttributesTest.java
index 6188fa60c9..7a74fd3cb6 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/attributes/CGitAttributesTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/attributes/CGitAttributesTest.java
@@ -125,11 +125,12 @@ public class CGitAttributesTest extends RepositoryTestCase {
ProcessBuilder builder = fs.runInShell("git",
new String[] { "check-attr", "--stdin", "--all" });
builder.directory(db.getWorkTree());
+ builder.environment().put("HOME", fs.userHome().getAbsolutePath());
ExecutionResult result = fs.execute(builder, new ByteArrayInputStream(
input.toString().getBytes(Constants.CHARSET)));
- assertEquals("External git reported errors", "",
- toString(result.getStderr()));
- assertEquals("External git failed", 0, result.getRc());
+ String errorOut = toString(result.getStderr());
+ assertEquals("External git failed", "exit 0\n",
+ "exit " + result.getRc() + '\n' + errorOut);
LinkedHashMap<String, Attributes> map = new LinkedHashMap<>();
try (BufferedReader r = new BufferedReader(new InputStreamReader(
new BufferedInputStream(result.getStdout().openInputStream()),
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/CGitIgnoreTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/CGitIgnoreTest.java
index c61f2ea7f6..baf9f9c95f 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/CGitIgnoreTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/ignore/CGitIgnoreTest.java
@@ -105,11 +105,12 @@ public class CGitIgnoreTest extends RepositoryTestCase {
ProcessBuilder builder = fs.runInShell("git", new String[] { "ls-files",
"--ignored", "--exclude-standard", "-o" });
builder.directory(db.getWorkTree());
+ builder.environment().put("HOME", fs.userHome().getAbsolutePath());
ExecutionResult result = fs.execute(builder,
new ByteArrayInputStream(new byte[0]));
- assertEquals("External git failed", 0, result.getRc());
- assertEquals("External git reported errors", "",
- toString(result.getStderr()));
+ String errorOut = toString(result.getStderr());
+ assertEquals("External git failed", "exit 0\n",
+ "exit " + result.getRc() + '\n' + errorOut);
try (BufferedReader r = new BufferedReader(new InputStreamReader(
new BufferedInputStream(result.getStdout().openInputStream()),
Constants.CHARSET))) {
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/indexdiff/IndexDiffWithSymlinkTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/indexdiff/IndexDiffWithSymlinkTest.java
index 4f3b601d3c..4228c9dbec 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/indexdiff/IndexDiffWithSymlinkTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/indexdiff/IndexDiffWithSymlinkTest.java
@@ -142,7 +142,11 @@ public class IndexDiffWithSymlinkTest extends LocalDiskRepositoryTestCase {
String[] cmd = { "/bin/sh", "./" + name + ".sh" };
int exitCode;
String stdErr;
- Process process = Runtime.getRuntime().exec(cmd, null, testDir);
+ ProcessBuilder builder = new ProcessBuilder(cmd);
+ builder.environment().put("HOME",
+ FS.DETECTED.userHome().getAbsolutePath());
+ builder.directory(testDir);
+ Process process = builder.start();
try (InputStream stdOutStream = process.getInputStream();
InputStream stdErrStream = process.getErrorStream();
OutputStream stdInStream = process.getOutputStream()) {