removeTip pass all the tests
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-0 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-0
new file mode 100755
index 0000000..36ad133
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-0
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-1 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-1
new file mode 100755
index 0000000..6c0654f
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-1
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-2 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-2
new file mode 100755
index 0000000..88537a5
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-2
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-3 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-3
new file mode 100755
index 0000000..764a418
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/2/part-3
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-0 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-0
new file mode 100755
index 0000000..11b0961
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-0
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-1 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-1
new file mode 100755
index 0000000..4559127
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-1
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-2 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-2
new file mode 100755
index 0000000..16d1cca
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-2
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-3 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-3
new file mode 100755
index 0000000..113a00c
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/3/part-3
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-0 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-0
new file mode 100755
index 0000000..8f9f87b
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-0
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-1 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-1
new file mode 100755
index 0000000..fbe9073
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-1
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-2 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-2
new file mode 100755
index 0000000..4f2da5a
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-2
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-3 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-3
new file mode 100755
index 0000000..d91a22d
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/4/part-3
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-0 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-0
new file mode 100755
index 0000000..789a4be
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-0
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-1 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-1
new file mode 100755
index 0000000..f2c8f05
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-1
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-2 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-2
new file mode 100755
index 0000000..adac13d
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-2
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-3 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-3
new file mode 100755
index 0000000..048288c
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/5/part-3
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-0 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-0
new file mode 100755
index 0000000..370d2f2
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-0
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-1 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-1
new file mode 100755
index 0000000..7dab747
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-1
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-2 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-2
new file mode 100755
index 0000000..edc69bc
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-2
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-3 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-3
new file mode 100755
index 0000000..8eefd1e
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/6/part-3
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-0 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-0
new file mode 100755
index 0000000..e2a4c17
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-0
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-1 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-1
new file mode 100755
index 0000000..91e02e5
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-1
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-2 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-2
new file mode 100755
index 0000000..91af60db
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-2
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-3 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-3
new file mode 100755
index 0000000..3e751be
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/7/part-3
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-0 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-0
new file mode 100755
index 0000000..491112d
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-0
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-1 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-1
new file mode 100755
index 0000000..390b4c2
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-1
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-2 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-2
new file mode 100755
index 0000000..dc97793
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-2
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-3 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-3
new file mode 100755
index 0000000..e5979a7
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/8/part-3
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-0 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-0
new file mode 100755
index 0000000..f02ff98
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-0
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-1 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-1
new file mode 100755
index 0000000..db12a15
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-1
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-2 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-2
new file mode 100755
index 0000000..4c0e89c
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-2
Binary files differ
diff --git a/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-3 b/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-3
new file mode 100755
index 0000000..5b39e54
--- /dev/null
+++ b/genomix/genomix-pregelix/data/PathTestSet_bidirection/9/part-3
Binary files differ
diff --git a/genomix/genomix-pregelix/data/input/tworeads/part-0 b/genomix/genomix-pregelix/data/input/tworeads/part-0
index 271cd2b..b9cd4fb 100755
--- a/genomix/genomix-pregelix/data/input/tworeads/part-0
+++ b/genomix/genomix-pregelix/data/input/tworeads/part-0
Binary files differ
diff --git a/genomix/genomix-pregelix/data/input/tworeads/part-1 b/genomix/genomix-pregelix/data/input/tworeads/part-1
index 30c05e6..69638f9 100755
--- a/genomix/genomix-pregelix/data/input/tworeads/part-1
+++ b/genomix/genomix-pregelix/data/input/tworeads/part-1
Binary files differ
diff --git a/genomix/genomix-pregelix/data/input/tworeads/part-2 b/genomix/genomix-pregelix/data/input/tworeads/part-2
index 4b8e2c4..e69ce75 100755
--- a/genomix/genomix-pregelix/data/input/tworeads/part-2
+++ b/genomix/genomix-pregelix/data/input/tworeads/part-2
Binary files differ
diff --git a/genomix/genomix-pregelix/data/input/tworeads/part-3 b/genomix/genomix-pregelix/data/input/tworeads/part-3
index 9fa10d6..77f352b 100755
--- a/genomix/genomix-pregelix/data/input/tworeads/part-3
+++ b/genomix/genomix-pregelix/data/input/tworeads/part-3
Binary files differ
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeAddVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeAddVertex.java
index ca42f4e..d556aee 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeAddVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/bridgeremove/BridgeAddVertex.java
@@ -86,7 +86,7 @@
/**
* set the vertex value
*/
- byte[] array = { 'T', 'A', 'G', 'C', 'C', 'T'};
+ byte[] array = { 'T', 'A', 'G', 'C', 'C'};
KmerBytesWritable kmer = new KmerBytesWritable(array.length);
kmer.setByRead(array, 0);
vertexValue.setKmer(kmer);
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
index 3eb1023..07f1ff5 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/BasicPathMergeVertex.java
@@ -39,13 +39,13 @@
* initiate kmerSize, maxIteration
*/
public void initVertex() {
- if (kmerSize == -1)
- kmerSize = getContext().getConfiguration().getInt(KMER_SIZE, 5);
- if (maxIteration < 0)
- maxIteration = getContext().getConfiguration().getInt(ITERATIONS, 1000000);
- outFlag = (byte)0;
- outgoingMsg.reset();
- headFlag = (byte)(getVertexValue().getState() & State.IS_HEAD);
+// if (kmerSize == -1)
+// kmerSize = getContext().getConfiguration().getInt(KMER_SIZE, 5);
+// if (maxIteration < 0)
+// maxIteration = getContext().getConfiguration().getInt(ITERATIONS, 1000000);
+// outFlag = (byte)0;
+// outgoingMsg.reset();
+// headFlag = (byte)(getVertexValue().getState() & State.IS_HEAD);
}
/**
@@ -65,6 +65,34 @@
public PositionWritable getNextDestVertexId(VertexValueWritable value) {
if (value.getFFList().getCountOfPosition() > 0){ // #FFList() > 0
posIterator = value.getFFList().iterator();
+ return posIterator.next();
+ } else if (value.getFRList().getCountOfPosition() > 0){ // #FRList() > 0
+ posIterator = value.getFRList().iterator();
+ return posIterator.next();
+ } else {
+ return null;
+ }
+
+ }
+
+ public PositionWritable getPreDestVertexId(VertexValueWritable value) {
+ if (value.getRFList().getCountOfPosition() > 0){ // #RFList() > 0
+ posIterator = value.getRFList().iterator();
+ return posIterator.next();
+ } else if (value.getRRList().getCountOfPosition() > 0){ // #RRList() > 0
+ posIterator = value.getRRList().iterator();
+ return posIterator.next();
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * get destination vertex
+ */
+ public PositionWritable getNextDestVertexIdAndSetFlag(VertexValueWritable value) {
+ if (value.getFFList().getCountOfPosition() > 0){ // #FFList() > 0
+ posIterator = value.getFFList().iterator();
outFlag |= MessageFlag.DIR_FF;
return posIterator.next();
} else if (value.getFRList().getCountOfPosition() > 0){ // #FRList() > 0
@@ -77,7 +105,7 @@
}
- public PositionWritable getPreDestVertexId(VertexValueWritable value) {
+ public PositionWritable getPreDestVertexIdAndSetFlag(VertexValueWritable value) {
if (value.getRFList().getCountOfPosition() > 0){ // #RFList() > 0
posIterator = value.getRFList().iterator();
outFlag |= MessageFlag.DIR_RF;
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/LogAlgorithmForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/LogAlgorithmForPathMergeVertex.java
index 500a903..d1d9739 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/LogAlgorithmForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/LogAlgorithmForPathMergeVertex.java
@@ -65,7 +65,7 @@
*/
public void sendOutMsg() {
//send wantToMerge to next
- tempPostition = getNextDestVertexId(getVertexValue());
+ tempPostition = getNextDestVertexIdAndSetFlag(getVertexValue());
if(tempPostition != null){
destVertexId.set(tempPostition);
outgoingMsg.setFlag(outFlag);
@@ -74,7 +74,7 @@
}
////send wantToMerge to prev
- tempPostition = getPreDestVertexId(getVertexValue());
+ tempPostition = getPreDestVertexIdAndSetFlag(getVertexValue());
if(tempPostition != null){
destVertexId.set(tempPostition);
outgoingMsg.setFlag(outFlag);
diff --git a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java
index d0a6da2..02916ec 100644
--- a/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java
+++ b/genomix/genomix-pregelix/src/main/java/edu/uci/ics/genomix/pregelix/operator/pathmerge/P4ForPathMergeVertex.java
@@ -150,6 +150,7 @@
//tailFlag = (byte) (MessageFlag.IS_TAIL & getVertexValue().getState());
//outFlag = (byte) (headFlag | tailFlag);
outFlag |= headFlag;
+
outFlag |= MessageFlag.NO_MERGE;
// only PATH vertices are present. Find the ID's for my neighbors
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BridgeAddSmallTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BridgeAddSmallTestSuite.java
new file mode 100644
index 0000000..221a76a
--- /dev/null
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BridgeAddSmallTestSuite.java
@@ -0,0 +1,210 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.genomix.pregelix.JobRun;
+
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Logger;
+
+import junit.framework.Test;
+import junit.framework.TestResult;
+import junit.framework.TestSuite;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.fs.FileSystem;
+import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hdfs.MiniDFSCluster;
+import org.apache.hadoop.mapred.JobConf;
+
+import edu.uci.ics.pregelix.core.jobgen.clusterconfig.ClusterConfig;
+import edu.uci.ics.pregelix.core.util.PregelixHyracksIntegrationUtil;
+
+@SuppressWarnings("deprecation")
+public class BridgeAddSmallTestSuite extends TestSuite {
+ private static final Logger LOGGER = Logger.getLogger(BridgeAddSmallTestSuite.class.getName());
+
+ public static final String PreFix = "data/input"; //"graphbuildresult";
+ public static final String[] TestDir = { PreFix + File.separator
+ + "tworeads"};/*, PreFix + File.separator
+ /*+ "CyclePath"};, PreFix + File.separator
+ + "SimplePath", PreFix + File.separator
+ + "SinglePath", PreFix + File.separator
+ + "TreePath"};*/
+ /* + "2", PreFix + File.separator + "3", PreFix + File.separator + "4", PreFix + File.separator + "5",
+ PreFix + File.separator + "6", PreFix + File.separator + "7", PreFix + File.separator + "8",
+ PreFix + File.separator + "9", PreFix + File.separator + "TwoKmer", PreFix + File.separator + "ThreeKmer",
+ PreFix + File.separator + "SinglePath", PreFix + File.separator + "SimplePath",
+ PreFix + File.separator + "Path", PreFix + File.separator + "BridgePath",
+ PreFix + File.separator + "CyclePath", PreFix + File.separator + "RingPath",
+ PreFix + File.separator + "LongPath", PreFix + File.separator + "TreePath" };*/
+ private static final String ACTUAL_RESULT_DIR = "data/actual/bridgeadd";
+ private static final String PATH_TO_HADOOP_CONF = "src/test/resources/hadoop/conf";
+ private static final String PATH_TO_CLUSTER_STORE = "src/test/resources/cluster/stores.properties";
+ private static final String PATH_TO_CLUSTER_PROPERTIES = "src/test/resources/cluster/cluster.properties";
+ private static final String PATH_TO_JOBS = "src/test/resources/jobs/";
+ private static final String PATH_TO_ONLY = "src/test/resources/only_bridgeadd.txt";
+
+ public static final String HDFS_INPUTPATH = "/PathTestSet";
+
+ private static final String HADOOP_CONF_PATH = ACTUAL_RESULT_DIR + File.separator + "conf.xml";
+ private MiniDFSCluster dfsCluster;
+
+ private JobConf conf = new JobConf();
+ private int numberOfNC = 2;
+
+ public void setUp() throws Exception {
+ ClusterConfig.setStorePath(PATH_TO_CLUSTER_STORE);
+ ClusterConfig.setClusterPropertiesPath(PATH_TO_CLUSTER_PROPERTIES);
+ cleanupStores();
+ PregelixHyracksIntegrationUtil.init("src/test/resources/topology.xml");
+ LOGGER.info("Hyracks mini-cluster started");
+ FileUtils.forceMkdir(new File(ACTUAL_RESULT_DIR));
+ FileUtils.cleanDirectory(new File(ACTUAL_RESULT_DIR));
+ startHDFS();
+ }
+
+ private void startHDFS() throws IOException {
+ conf.addResource(new Path(PATH_TO_HADOOP_CONF + "/core-site.xml"));
+ conf.addResource(new Path(PATH_TO_HADOOP_CONF + "/mapred-site.xml"));
+ conf.addResource(new Path(PATH_TO_HADOOP_CONF + "/hdfs-site.xml"));
+ FileSystem lfs = FileSystem.getLocal(new Configuration());
+ lfs.delete(new Path("build"), true);
+ System.setProperty("hadoop.log.dir", "logs");
+ dfsCluster = new MiniDFSCluster(conf, numberOfNC, true, null);
+ FileSystem dfs = FileSystem.get(conf);
+
+ for (String testDir : TestDir) {
+ File src = new File(testDir);
+ Path dest = new Path(HDFS_INPUTPATH + File.separator + src.getName());
+ dfs.mkdirs(dest);
+ //src.listFiles()
+ //src.listFiles((FilenameFilter)(new WildcardFileFilter("part*")))
+ for (File f : src.listFiles()) {
+ dfs.copyFromLocalFile(new Path(f.getAbsolutePath()), dest);
+ }
+ }
+
+ DataOutputStream confOutput = new DataOutputStream(new FileOutputStream(new File(HADOOP_CONF_PATH)));
+ conf.writeXml(confOutput);
+ confOutput.flush();
+ confOutput.close();
+ }
+
+ private void cleanupStores() throws IOException {
+ FileUtils.forceMkdir(new File("teststore"));
+ FileUtils.forceMkdir(new File("build"));
+ FileUtils.cleanDirectory(new File("teststore"));
+ FileUtils.cleanDirectory(new File("build"));
+ }
+
+ /**
+ * cleanup hdfs cluster
+ */
+ private void cleanupHDFS() throws Exception {
+ dfsCluster.shutdown();
+ }
+
+ public void tearDown() throws Exception {
+ PregelixHyracksIntegrationUtil.deinit();
+ LOGGER.info("Hyracks mini-cluster shut down");
+ cleanupHDFS();
+ }
+
+ public static Test suite() throws Exception {
+ List<String> onlys = getFileList(PATH_TO_ONLY);
+ File testData = new File(PATH_TO_JOBS);
+ File[] queries = testData.listFiles();
+ BridgeAddSmallTestSuite testSuite = new BridgeAddSmallTestSuite();
+ testSuite.setUp();
+ boolean onlyEnabled = false;
+ FileSystem dfs = FileSystem.get(testSuite.conf);
+
+ if (onlys.size() > 0) {
+ onlyEnabled = true;
+ }
+
+ for (File qFile : queries) {
+ if (qFile.isFile()) {
+ if (onlyEnabled && !isInList(onlys, qFile.getName())) {
+ continue;
+ } else {
+ for (String testPathStr : TestDir) {
+ File testDir = new File(testPathStr);
+ String resultFileName = ACTUAL_RESULT_DIR + File.separator + jobExtToResExt(qFile.getName())
+ + File.separator + "bin" + File.separator + testDir.getName();
+ String textFileName = ACTUAL_RESULT_DIR + File.separator + jobExtToResExt(qFile.getName())
+ + File.separator + "txt" + File.separator + testDir.getName();
+ testSuite.addTest(new BasicSmallTestCase(HADOOP_CONF_PATH, qFile.getName(), qFile
+ .getAbsolutePath().toString(), dfs,
+ HDFS_INPUTPATH + File.separator + testDir.getName(), resultFileName, textFileName));
+ }
+ }
+ }
+ }
+ return testSuite;
+ }
+
+ /**
+ * Runs the tests and collects their result in a TestResult.
+ */
+ @Override
+ public void run(TestResult result) {
+ try {
+ int testCount = countTestCases();
+ for (int i = 0; i < testCount; i++) {
+ // cleanupStores();
+ Test each = this.testAt(i);
+ if (result.shouldStop())
+ break;
+ runTest(each, result);
+ }
+ tearDown();
+ } catch (Exception e) {
+ throw new IllegalStateException(e);
+ }
+ }
+
+ protected static List<String> getFileList(String ignorePath) throws FileNotFoundException, IOException {
+ BufferedReader reader = new BufferedReader(new FileReader(ignorePath));
+ String s = null;
+ List<String> ignores = new ArrayList<String>();
+ while ((s = reader.readLine()) != null) {
+ ignores.add(s);
+ }
+ reader.close();
+ return ignores;
+ }
+
+ private static String jobExtToResExt(String fname) {
+ int dot = fname.lastIndexOf('.');
+ return fname.substring(0, dot);
+ }
+
+ private static boolean isInList(List<String> onlys, String name) {
+ for (String only : onlys)
+ if (name.indexOf(only) >= 0)
+ return true;
+ return false;
+ }
+
+}
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BridgeRemoveSmallTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BridgeRemoveSmallTestSuite.java
index eee495c..5b641ff 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BridgeRemoveSmallTestSuite.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/BridgeRemoveSmallTestSuite.java
@@ -45,7 +45,7 @@
public static final String PreFix = "data/input"; //"graphbuildresult";
public static final String[] TestDir = { PreFix + File.separator
- + "pathmerge"};/*, PreFix + File.separator
+ + "pathmerge_tip"};/*, PreFix + File.separator
/*+ "CyclePath"};, PreFix + File.separator
+ "SimplePath", PreFix + File.separator
+ "SinglePath", PreFix + File.separator
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeSmallTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeSmallTestSuite.java
index 857e4c3..fd12bbd 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeSmallTestSuite.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/PathMergeSmallTestSuite.java
@@ -43,9 +43,19 @@
public class PathMergeSmallTestSuite extends TestSuite {
private static final Logger LOGGER = Logger.getLogger(PathMergeSmallTestSuite.class.getName());
- public static final String PreFix = "data/actual/tipadd"; //"graphbuildresult";
+ public static final String PreFix = "data/PathTestSet_bidirection"; //"graphbuildresult";
public static final String[] TestDir = { PreFix + File.separator
- + "TipAddGraph/bin/read"};/*, PreFix + File.separator
+ + "2", PreFix + File.separator
+ + "3", PreFix + File.separator
+ + "4", PreFix + File.separator
+ + "5", PreFix + File.separator
+ + "6", PreFix + File.separator
+ + "7", PreFix + File.separator
+ + "8", PreFix + File.separator
+ + "9", PreFix + File.separator};
+ /*+ "tipremove/TipRemoveGraph/bin/tworeads"};
+ + "bridgeadd/BridgeAddGraph/bin/tworeads"};, PreFix + File.separator
+ + "tipadd/TipAddGraph/bin/read"}, PreFix + File.separator
/*+ "CyclePath"};, PreFix + File.separator
+ "SimplePath", PreFix + File.separator
+ "SinglePath", PreFix + File.separator
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/TipRemoveSmallTestSuite.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/TipRemoveSmallTestSuite.java
index 5ccfca5..e174bd9 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/TipRemoveSmallTestSuite.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/JobRun/TipRemoveSmallTestSuite.java
@@ -42,10 +42,10 @@
@SuppressWarnings("deprecation")
public class TipRemoveSmallTestSuite extends TestSuite {
private static final Logger LOGGER = Logger.getLogger(TipRemoveSmallTestSuite.class.getName());
-
- public static final String PreFix = "data/actual/tipadd"; //"graphbuildresult";
+ //P4ForMergeGraph/bin/read
+ public static final String PreFix = "data/actual"; //"graphbuildresult";
public static final String[] TestDir = { PreFix + File.separator
- + "TipAddGraph/bin/read"};/*, PreFix + File.separator
+ + "bridgeadd/BridgeAddGraph/bin/tworeads"};/*, PreFix + File.separator
/*+ "CyclePath"};, PreFix + File.separator
+ "SimplePath", PreFix + File.separator
+ "SinglePath", PreFix + File.separator
diff --git a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/graphbuilding/JobRunStepByStepTest.java b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/graphbuilding/JobRunStepByStepTest.java
index 7bf5aa3..efaab3f 100644
--- a/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/graphbuilding/JobRunStepByStepTest.java
+++ b/genomix/genomix-pregelix/src/test/java/edu/uci/ics/genomix/pregelix/graphbuilding/JobRunStepByStepTest.java
@@ -46,11 +46,11 @@
@SuppressWarnings("deprecation")
public class JobRunStepByStepTest {
private static final int KmerSize = 3;
- private static final int ReadLength = 8;
+ private static final int ReadLength = 11;
private static final String ACTUAL_RESULT_DIR = "actual";
private static final String PATH_TO_HADOOP_CONF = "src/test/resources/hadoop/conf";
- private static final String DATA_INPUT_PATH = "data/graphbuild.test/read2.txt";
+ private static final String DATA_INPUT_PATH = "data/graphbuild.test/pathmerge_TestSet/9";
private static final String HDFS_INPUT_PATH = "/webmap";
private static final String HDFS_OUTPUT_PATH = "/webmap_result";
diff --git a/genomix/genomix-pregelix/src/test/resources/only_bridgeadd.txt b/genomix/genomix-pregelix/src/test/resources/only_bridgeadd.txt
new file mode 100644
index 0000000..f172e3c
--- /dev/null
+++ b/genomix/genomix-pregelix/src/test/resources/only_bridgeadd.txt
@@ -0,0 +1 @@
+BridgeAddGraph.xml