Browse Source

Move T0007_Index to exttst

This test depends upon the external git binary, and this isn't
really a pure Java test like our module tries to claim itself is.
So we move it out to exttst with other tests that require additional
external resources and/or executable code.

Change-Id: Ic9be0280c8bb50a5768336c64de794eb0a492b3d
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
tags/v0.7.0
Shawn O. Pearce 14 years ago
parent
commit
b28aadf10f

org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/T0007_Index.java → org.eclipse.jgit.test/exttst/org/eclipse/jgit/lib/T0007_GitIndexTest.java View File

@@ -1,5 +1,5 @@
/*
* Copyright (C) 2007-2008, Robin Rosenberg <robin.rosenberg@dewire.com>
* Copyright (C) 2007, Robin Rosenberg <robin.rosenberg@dewire.com>
* Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org>
* and other copyright owners as documented in the project's IP log.
*
@@ -45,16 +45,16 @@
package org.eclipse.jgit.lib;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import org.eclipse.jgit.junit.LocalDiskRepositoryTestCase;
import org.eclipse.jgit.lib.GitIndex.Entry;
import org.eclipse.jgit.util.FS;

public class T0007_Index extends RepositoryTestCase {
public class T0007_GitIndexTest extends LocalDiskRepositoryTestCase {

static boolean canrungitstatus;
static {
@@ -108,6 +108,17 @@ public class T0007_Index extends RepositoryTestCase {
}
}

private Repository db;

private File trash;

@Override
protected void setUp() throws Exception {
super.setUp();
db = createWorkRepository();
trash = db.getWorkDir();
}

public void testCreateEmptyIndex() throws Exception {
GitIndex index = new GitIndex(db);
index.write();
@@ -317,9 +328,9 @@ public class T0007_Index extends RepositoryTestCase {
"c696abc3ab8e091c665f49d00eb8919690b3aec3")));

index2.checkout(trash);
assertEquals("data:a/b", content(aslashb));
assertEquals("data:a:b", content(acolonb));
assertEquals("data:a.b", content(adotb));
assertEquals("data:a/b", read(aslashb));
assertEquals("data:a:b", read(acolonb));
assertEquals("data:a.b", read(adotb));

if (canrungitstatus)
assertEquals(0, system(trash, "git status"));
@@ -436,20 +447,14 @@ public class T0007_Index extends RepositoryTestCase {
}
}

private String content(File f) throws IOException {
byte[] buf = new byte[(int) f.length()];
FileInputStream is = new FileInputStream(f);
try {
int read = is.read(buf);
assertEquals(f.length(), read);
return new String(buf, 0);
} finally {
is.close();
}
}

private void delete(File f) throws IOException {
if (!f.delete())
throw new IOException("Failed to delete f");
}

private File writeTrashFile(String name, String body) throws IOException {
final File path = new File(trash, name);
write(path, body);
return path;
}
}

Loading…
Cancel
Save