Add a JUnit test project for egit.
[egit.git] / org.spearce.egit.core.test / src / org / spearce / egit / core / test / GitTestCase.java
blob4e4fbf0de512656700cad0a7faf98f5859a82765
1 package org.spearce.egit.core.test;
3 import java.io.File;
4 import java.io.IOException;
6 import junit.framework.TestCase;
8 public abstract class GitTestCase extends TestCase {
10 protected TestProject project;
12 protected File gitDir;
14 protected void setUp() throws Exception {
15 super.setUp();
16 project = new TestProject();
17 gitDir = new File(project.getProject().getWorkspace().getRoot()
18 .getRawLocation().toFile(), ".git");
19 rmrf(gitDir);
22 protected void tearDown() throws Exception {
23 super.tearDown();
24 project.dispose();
25 rmrf(gitDir);
28 private void rmrf(File d) throws IOException {
29 if (!d.exists())
30 return;
32 File[] files = d.listFiles();
33 if (files != null) {
34 for (int i = 0; i < files.length; ++i) {
35 if (files[i].isDirectory())
36 rmrf(files[i]);
37 else if (!files[i].delete())
38 throw new IOException(files[i] + " in use or undeletable");
41 if (!d.delete())
42 throw new IOException(d + " in use or undeletable");
43 assert !d.exists();