You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2015/12/11 12:17:39 UTC

[2/5] incubator-tinkerpop git commit: Fixed up some problems in the Hadoop plugin tests around hdfs testing.

Fixed up some problems in the Hadoop plugin tests around hdfs testing.


Project: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/commit/740ed131
Tree: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/tree/740ed131
Diff: http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/diff/740ed131

Branch: refs/heads/TINKERPOP-954
Commit: 740ed131e735cdb3ca2561bb52c5b4fa9e9e5541
Parents: da2eb7e
Author: Stephen Mallette <sp...@genoprime.com>
Authored: Fri Dec 11 05:14:24 2015 -0500
Committer: Stephen Mallette <sp...@genoprime.com>
Committed: Fri Dec 11 05:14:24 2015 -0500

----------------------------------------------------------------------
 .../tinkerpop/gremlin/AbstractGraphProvider.java       |  8 --------
 .../org/apache/tinkerpop/gremlin/GraphProvider.java    |  8 ++++++++
 .../java/org/apache/tinkerpop/gremlin/TestHelper.java  |  5 +++++
 .../hadoop/groovy/plugin/HadoopGremlinPluginCheck.java | 13 ++++++++-----
 4 files changed, 21 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/740ed131/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java
index 42471a0..5d162f6 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/AbstractGraphProvider.java
@@ -111,14 +111,6 @@ public abstract class AbstractGraphProvider implements GraphProvider {
         if (directory.exists()) System.err.println("unable to delete directory " + directory.getAbsolutePath());
     }
 
-    /**
-     * Helper method for those build {@link GraphProvider} implementations that need a standard working directory
-     * for tests (e.g. graphs that persist data to disk).
-     */
-    protected String getWorkingDirectory() {
-        return TestHelper.makeTestDataPath(this.getClass(), "graph-provider-data").getAbsolutePath();
-    }
-
     protected void readIntoGraph(final Graph g, final String path) throws IOException {
         final GraphReader reader = GryoReader.build()
                 .mapper(g.io(GryoIo.build()).mapper().create())

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/740ed131/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphProvider.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphProvider.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphProvider.java
index 1941ac4..2669a76 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphProvider.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/GraphProvider.java
@@ -269,6 +269,14 @@ public interface GraphProvider {
     public Set<Class> getImplementations();
 
     /**
+     * Helper method for those build {@link GraphProvider} implementations that need a standard working directory
+     * for tests (e.g. graphs that persist data to disk).
+     */
+    public default String getWorkingDirectory() {
+        return TestHelper.makeTestDataPath(this.getClass(), "graph-provider-data").getAbsolutePath();
+    }
+
+    /**
      * An annotation to be applied to a {@code GraphProvider} implementation that provides additional information
      * about its intentions. The {@code Descriptor} is required by those {@code GraphProvider} implementations
      * that will be assigned to test suites that use {@link TraversalEngine.Type#COMPUTER}.

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/740ed131/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java
----------------------------------------------------------------------
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java
index d37926d..0633f46 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/TestHelper.java
@@ -71,6 +71,11 @@ public final class TestHelper {
         return f;
     }
 
+    public static String convertToRelative(final Class clazz, final File f) {
+        final File root = TestHelper.getRootOfBuildDirectory(clazz).getParentFile().getAbsoluteFile();
+        return root.toURI().relativize(f.getAbsoluteFile().toURI()).toString();
+    }
+
     /**
      * Internally calls {@link #makeTestDataPath(Class, String...)} but returns the path as a string with the system
      * separator appended to the end.

http://git-wip-us.apache.org/repos/asf/incubator-tinkerpop/blob/740ed131/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPluginCheck.java
----------------------------------------------------------------------
diff --git a/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPluginCheck.java b/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPluginCheck.java
index 3c07ee6..6c58c52 100644
--- a/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPluginCheck.java
+++ b/hadoop-gremlin/src/test/java/org/apache/tinkerpop/gremlin/hadoop/groovy/plugin/HadoopGremlinPluginCheck.java
@@ -37,6 +37,7 @@ import org.apache.tinkerpop.gremlin.util.iterator.IteratorUtils;
 import org.junit.Before;
 import org.junit.Test;
 
+import java.io.File;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
@@ -100,7 +101,9 @@ public class HadoopGremlinPluginCheck extends AbstractGremlinTest {
     @Test
     @LoadGraphWith(LoadGraphWith.GraphData.MODERN)
     public void shouldSupportHDFSMethods() throws Exception {
-        final String prefix = TestHelper.makeTestDataDirectory(HadoopGremlinPluginCheck.class, "shouldSupportHDFSMethods");
+        final String hadoopGraphProviderDataDir = graphProvider.getWorkingDirectory() + File.separator;
+        final File testDir = TestHelper.makeTestDataPath(HadoopGremlinPluginCheck.class, "shouldSupportHDFSMethods");
+        final String prefix = TestHelper.convertToRelative(HadoopGremlinPluginCheck.class, testDir);
         ////////////////
         List<String> ls = (List<String>) this.console.eval("hdfs.ls()");
         for (final String line : ls) {
@@ -137,9 +140,9 @@ public class HadoopGremlinPluginCheck extends AbstractGremlinTest {
         this.remote.connect(Arrays.asList("graph", "g"));
         Traversal<Vertex, String> traversal = (Traversal<Vertex, String>) this.remote.submit(Arrays.asList("g.V().hasLabel('person').group('m').by('age').by('name').out('knows').out('created').values('name')"));
         AbstractGremlinProcessTest.checkResults(Arrays.asList("ripple", "lop"), traversal);
-        assertTrue((Boolean) this.console.eval("hdfs.exists('" + prefix + "m')"));
-        assertTrue((Boolean) this.console.eval("hdfs.exists('" + prefix + TraverserMapReduce.TRAVERSERS + "')"));
-        final List<KeyValue<Integer, Collection<String>>> mList = IteratorUtils.asList(this.console.eval("hdfs.head('" + prefix + "m',ObjectWritable)"));
+        assertTrue((Boolean) this.console.eval("hdfs.exists('" + hadoopGraphProviderDataDir + "m')"));
+        assertTrue((Boolean) this.console.eval("hdfs.exists('" + hadoopGraphProviderDataDir + TraverserMapReduce.TRAVERSERS + "')"));
+        final List<KeyValue<Integer, Collection<String>>> mList = IteratorUtils.asList(this.console.eval("hdfs.head('" + hadoopGraphProviderDataDir + "m',ObjectWritable)"));
         assertEquals(4, mList.size());
         mList.forEach(keyValue -> {
             if (keyValue.getKey().equals(29))
@@ -153,7 +156,7 @@ public class HadoopGremlinPluginCheck extends AbstractGremlinTest {
             else
                 throw new IllegalStateException("The provided key/value is unknown: " + keyValue);
         });
-        final List<KeyValue<MapReduce.NullObject, Traverser<String>>> traversersList = IteratorUtils.asList(this.console.eval("hdfs.head('" + prefix  + TraverserMapReduce.TRAVERSERS + "',ObjectWritable)"));
+        final List<KeyValue<MapReduce.NullObject, Traverser<String>>> traversersList = IteratorUtils.asList(this.console.eval("hdfs.head('" + hadoopGraphProviderDataDir + TraverserMapReduce.TRAVERSERS + "',ObjectWritable)"));
         assertEquals(2, traversersList.size());
         traversersList.forEach(keyValue -> {
             assertEquals(MapReduce.NullObject.instance(), keyValue.getKey());