diff test/org/tmatesoft/hg/test/Configuration.java @ 202:706bcc7cfee4

Basic test for HgIncomingCommand. Fix RepositoryComparator for cases when whole repository is unknown. Respect freshly initialized (empty) repositories in general.
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 26 Apr 2011 02:50:06 +0200
parents a736f42ed75b
children 66fd2c73c56f
line wrap: on
line diff
--- a/test/org/tmatesoft/hg/test/Configuration.java	Thu Apr 21 19:16:45 2011 +0200
+++ b/test/org/tmatesoft/hg/test/Configuration.java	Tue Apr 26 02:50:06 2011 +0200
@@ -19,6 +19,8 @@
 import static org.junit.Assert.*;
 
 import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
@@ -36,6 +38,8 @@
 	private static Configuration inst;
 	private final File root;
 	private final HgLookup lookup;
+	private File tempDir;
+	private List<String> remoteServers;
 	
 	private Configuration(File reposRoot) {
 		root = reposRoot;
@@ -65,7 +69,27 @@
 		return rv;
 	}
 
+	// easy override for manual test runs
+	public void remoteServers(String... keys) {
+		remoteServers = Arrays.asList(keys);
+	}
+
 	public List<HgRemoteRepository> allRemote() throws Exception {
-		return Collections.singletonList(lookup.detectRemote("hg4j-gc", null));
+		if (remoteServers == null) {
+			remoteServers = Collections.singletonList("hg4j-gc"); // just a default
+		}
+		ArrayList<HgRemoteRepository> rv = new ArrayList<HgRemoteRepository>(remoteServers.size());
+		for (String key : remoteServers) {
+			rv.add(lookup.detectRemote(key, null));
+		}
+		return rv;
+	}
+
+	public File getTempDir() {
+		if (tempDir == null) {
+			String td = System.getProperty("hg4j.tests.tmpdir", System.getProperty("java.io.tmpdir"));
+			tempDir = new File(td);
+		}
+		return tempDir;
 	}
 }