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 2022/01/14 12:38:20 UTC
[tinkerpop] branch master updated: when testing strings representing file contents cause the expected value to use system line-separators escape constructed literal strings representing file paths
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/master by this push:
new b74e5f6 when testing strings representing file contents cause the expected value to use system line-separators escape constructed literal strings representing file paths
new 15728ba Merge pull request #1548 from phreed/TINKERPOP-2628-SQUASH
b74e5f6 is described below
commit b74e5f6560a76c8e1ec4d63a1b3b581f2fd26826
Author: fred eisele <fr...@vanderbilt.edu>
AuthorDate: Tue Jan 11 15:23:35 2022 -0600
when testing strings representing file contents cause the expected value to use system line-separators
escape constructed literal strings representing file paths
---
.../traversal/util/DefaultTraversalMetrics.java | 7 +++---
.../util/DefaultTraversalMetricsTest.java | 27 ++++++++++++----------
gremlin-dotnet/src/pom.xml | 17 ++++++++++----
gremlin-javascript/pom.xml | 13 +++++++++--
.../tinkerpop/gremlin/features/StepDefinition.java | 8 ++++---
gremlin-tools/gremlin-io-test/pom.xml | 9 ++++++--
.../tinkerpop/gremlin/structure/io/Model.java | 9 +++++---
gremlint/pom.xml | 13 +++++++++--
pom.xml | 2 +-
9 files changed, 73 insertions(+), 32 deletions(-)
diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
index 2c4b0e8..301cb83 100644
--- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
+++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetrics.java
@@ -118,10 +118,11 @@ public final class DefaultTraversalMetrics implements TraversalMetrics, Serializ
// Build a pretty table of metrics data.
// Append headers
- final StringBuilder sb = new StringBuilder("Traversal Metrics\n")
+ final StringBuilder sb = new StringBuilder("Traversal Metrics")
+ .append(System.lineSeparator())
.append(String.format("%-50s %21s %11s %15s %8s", HEADERS));
-
- sb.append("\n=============================================================================================================");
+ sb.append(System.lineSeparator());
+ sb.append("=============================================================================================================");
appendMetrics(this.positionIndexedMetrics.values(), sb, 0);
diff --git a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetricsTest.java b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetricsTest.java
index 9c4c2d8..6fef9b1 100644
--- a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetricsTest.java
+++ b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/util/DefaultTraversalMetricsTest.java
@@ -19,6 +19,8 @@
package org.apache.tinkerpop.gremlin.process.traversal.util;
import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.List;
@@ -47,18 +49,19 @@ public class DefaultTraversalMetricsTest {
childMetrics.addNested(backendMetrics);
final DefaultTraversalMetrics profile = new DefaultTraversalMetrics(100, metrics);
- final String expectedOutput = "Traversal Metrics\n" +
- "Step Count Traversers Time (ms) % Dur\n" +
- "=============================================================================================================\n" +
- "GraphStep 0.000\n" +
- " GraphQuery 0.000\n" +
- " \\_condition=name = Bob\n" +
- " AND-Query 0.000\n" +
- " \\_index=gIndex\n" +
- " \\_query-hint=ZSORTED\n" +
- " backend-query 0.000\n" +
- " \\_query=gIndex:slice-query\n" +
+ final String LS = System.lineSeparator();
+ final String expectedOutput = "Traversal Metrics" + LS +
+ "Step Count Traversers Time (ms) % Dur" + LS +
+ "=============================================================================================================" + LS +
+ "GraphStep 0.000" + LS +
+ " GraphQuery 0.000" + LS +
+ " \\_condition=name = Bob" + LS +
+ " AND-Query 0.000" + LS +
+ " \\_index=gIndex" + LS +
+ " \\_query-hint=ZSORTED" + LS +
+ " backend-query 0.000" + LS +
+ " \\_query=gIndex:slice-query" + LS +
" >TOTAL - - 0.000 -";
- assertEquals(expectedOutput, profile.toString());
+ assertEquals("traversal metrics", expectedOutput, profile.toString());
}
}
diff --git a/gremlin-dotnet/src/pom.xml b/gremlin-dotnet/src/pom.xml
index 9a6c7f5..f2a8480 100644
--- a/gremlin-dotnet/src/pom.xml
+++ b/gremlin-dotnet/src/pom.xml
@@ -53,16 +53,25 @@ limitations under the License.
<goal>execute</goal>
</goals>
<configuration>
+ <properties>
+ <property>
+ <name>projectBaseDir</name>
+ <value>${project.basedir}</value>
+ </property>
+ <property>
+ <name>mavenVersion</name>
+ <value>${project.version}</value>
+ </property>
+ </properties>
<scripts>
<script>
-def mavenVersion = "${project.version}"
-def file = new File("${project.basedir}/Gremlin.Net/Gremlin.Net.csproj")
+def file = new File(projectBaseDir,"Gremlin.Net/Gremlin.Net.csproj")
file.write(file.getText("UTF-8").replaceFirst(/<Version>(.*)<\/Version>/, "<Version>" + mavenVersion + "</Version>"))
-file = new File("${project.basedir}/Gremlin.Net.Template/Gremlin.Net.Template.csproj")
+file = new File(projectBaseDir,"Gremlin.Net.Template/Gremlin.Net.Template.csproj")
file.write(file.getText("UTF-8").replaceFirst(/Version="(.*)"/, "Version=\"" + mavenVersion + "\""))
-file = new File("${project.basedir}/Gremlin.Net.Template/Gremlin.Net.Template.nuspec")
+file = new File(projectBaseDir,"Gremlin.Net.Template/Gremlin.Net.Template.nuspec")
file.write(file.getText("UTF-8").replaceFirst(/<version>(.*)<\/version>/, "<version>" + mavenVersion + "</version>"))
</script>
</scripts>
diff --git a/gremlin-javascript/pom.xml b/gremlin-javascript/pom.xml
index 2175683..4766bf3 100644
--- a/gremlin-javascript/pom.xml
+++ b/gremlin-javascript/pom.xml
@@ -119,11 +119,20 @@ limitations under the License.
<goal>execute</goal>
</goals>
<configuration>
+ <properties>
+ <property>
+ <name>projectBaseDir</name>
+ <value>${project.basedir}</value>
+ </property>
+ <property>
+ <name>mavenVersion</name>
+ <value>${project.version}</value>
+ </property>
+ </properties>
<scripts>
<script>
-def mavenVersion = "${project.version}"
def versionForJs = mavenVersion.replace("-SNAPSHOT", "-alpha1")
-def file = new File("${project.basedir}/src/main/javascript/gremlin-javascript/package.json")
+def file = new File(projectBaseDir, "src/main/javascript/gremlin-javascript/package.json")
file.write(file.getText("UTF-8").replaceFirst(/"version": "(.*)",/, "\"version\": \"" + versionForJs + "\","))
</script>
</scripts>
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java
index e4d5e37..8976a12 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/features/StepDefinition.java
@@ -45,6 +45,7 @@ import org.javatuples.Pair;
import org.javatuples.Triplet;
import org.junit.AssumptionViolatedException;
+import static org.apache.commons.text.StringEscapeUtils.escapeJava;
import static org.apache.tinkerpop.gremlin.LoadGraphWith.GraphData;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.collection.IsIn.in;
@@ -475,8 +476,9 @@ public final class StepDefinition {
private String tryUpdateDataFilePath(final String docString) {
final Matcher matcher = ioPattern.matcher(docString);
- final String gremlin = matcher.matches() ?
- docString.replace(matcher.group(1), world.changePathToDataFile(matcher.group(1))) : docString;
- return gremlin;
+ if (! matcher.matches()) { return docString; }
+ final String relPath = matcher.group(1);
+ final String absPath = world.changePathToDataFile(relPath);
+ return docString.replace(relPath, escapeJava(absPath));
}
}
diff --git a/gremlin-tools/gremlin-io-test/pom.xml b/gremlin-tools/gremlin-io-test/pom.xml
index 999939e..a329f3b 100644
--- a/gremlin-tools/gremlin-io-test/pom.xml
+++ b/gremlin-tools/gremlin-io-test/pom.xml
@@ -197,14 +197,19 @@
<goal>execute</goal>
</goals>
<configuration>
+ <properties>
+ <property>
+ <name>projectBuildDir</name>
+ <value>${project.build.directory}</value>
+ </property>
+ </properties>
<scripts>
<script>
<![CDATA[
import org.apache.tinkerpop.gremlin.structure.io.Model
import java.io.File
-new File("${project.build.directory}/dev-docs/").mkdirs()
-Model.instance().saveAsCsv("${project.build.directory}/dev-docs/model.csv")
+Model.instance().saveAsCsv(new File(projectBuildDir, "dev-docs/model.csv"))
]]>
</script>
</scripts>
diff --git a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java
index 62aad55..87e5f86 100644
--- a/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java
+++ b/gremlin-tools/gremlin-io-test/src/main/java/org/apache/tinkerpop/gremlin/structure/io/Model.java
@@ -423,8 +423,11 @@ public class Model {
}
public void saveAsCsv(final String file) throws Exception {
- final File f = new File(file);
- f.getParentFile().mkdirs();
+ saveAsCsv(new File(file));
+ }
+
+ public void saveAsCsv(final File file) throws Exception {
+ file.getParentFile().mkdirs();
final List<Compatibility> compatibilities = Stream.concat(
Stream.of(GraphSONCompatibility.values()),
@@ -443,7 +446,7 @@ public class Model {
throw new IllegalStateException("No support for the provided Compatibility type");
}).collect(Collectors.toList()));
- try (final PrintWriter writer = new PrintWriter(f)) {
+ try (final PrintWriter writer = new PrintWriter(file)) {
writer.println(String.join(",", headers));
final List<Entry> sorted = new ArrayList<>(entries());
diff --git a/gremlint/pom.xml b/gremlint/pom.xml
index af6c7a4..d53b17e 100644
--- a/gremlint/pom.xml
+++ b/gremlint/pom.xml
@@ -68,11 +68,20 @@ limitations under the License.
<goal>execute</goal>
</goals>
<configuration>
+ <properties>
+ <property>
+ <name>projectBaseDir</name>
+ <value>${project.basedir}</value>
+ </property>
+ <property>
+ <name>mavenVersion</name>
+ <value>${project.version}</value>
+ </property>
+ </properties>
<scripts>
<script>
- def mavenVersion = "${project.version}"
def versionForJs = mavenVersion.replace("-SNAPSHOT", "-alpha1")
- def file = new File("${project.basedir}/package.json")
+ def file = new File(projectBaseDir,"package.json")
file.write(file.getText("UTF-8").replaceFirst(/"version": "(.*)",/, "\"version\": \"" + versionForJs + "\","))
</script>
</scripts>
diff --git a/pom.xml b/pom.xml
index d75f368..f89fc9d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -400,7 +400,7 @@ limitations under the License.
<exclude>.repository/**</exclude>
<exclude>**/target/**</exclude>
<exclude>data/*.txt</exclude>
- <exclude>bin/gremlin.sh</exclude>
+ <exclude>**/bin/gremlin.sh</exclude>
<exclude>docs/static/**</exclude>
<exclude>docs/site/home/css/**</exclude>
<exclude>docs/site/home/js/**</exclude>