You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by br...@apache.org on 2014/08/18 18:11:19 UTC

svn commit: r1618647 - in /hive/trunk: ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java

Author: brock
Date: Mon Aug 18 16:11:19 2014
New Revision: 1618647

URL: http://svn.apache.org/r1618647
Log:
HIVE-7757 - PTest2 separates test files with spaces while QTestGen uses commas (Brock reviewed by Szehon)

Modified:
    hive/trunk/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java
    hive/trunk/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java

Modified: hive/trunk/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java
URL: http://svn.apache.org/viewvc/hive/trunk/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java?rev=1618647&r1=1618646&r2=1618647&view=diff
==============================================================================
--- hive/trunk/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java (original)
+++ hive/trunk/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java Mon Aug 18 16:11:19 2014
@@ -46,7 +46,7 @@ import org.apache.velocity.exception.Res
 import org.apache.velocity.runtime.RuntimeConstants;
 
 public class QTestGenTask extends Task {
-   private static final Splitter CSV_SPLITTER = Splitter.on(',')
+   private static final Splitter TEST_SPLITTER = Splitter.onPattern("[, ]")
        .trimResults()
        .omitEmptyStrings();
 
@@ -233,7 +233,7 @@ public class QTestGenTask extends Task {
 
   public void setTemplatePath(String templatePath) throws Exception {
     templatePaths.clear();
-    for (String relativePath : CSV_SPLITTER.split(templatePath)) {
+    for (String relativePath : TEST_SPLITTER.split(templatePath)) {
       templatePaths.add(project.resolveFile(relativePath).getCanonicalPath());
     }
     System.out.println("Template Path:" + getTemplatePath());
@@ -338,7 +338,7 @@ public class QTestGenTask extends Task {
 
     Set<String> includeOnly = null;
     if (includeQueryFile != null && !includeQueryFile.isEmpty()) {
-      includeOnly = Sets.<String>newHashSet(CSV_SPLITTER.split(includeQueryFile));
+      includeOnly = Sets.<String>newHashSet(TEST_SPLITTER.split(includeQueryFile));
     }
 
     List<File> qFiles;
@@ -364,7 +364,7 @@ public class QTestGenTask extends Task {
       Set<File> testFiles = new HashSet<File>();
       if (queryFile != null && !queryFile.equals("")) {
         // The user may have passed a list of files - comma separated
-        for (String qFile : CSV_SPLITTER.split(queryFile)) {
+        for (String qFile : TEST_SPLITTER.split(queryFile)) {
           if (null != queryDir) {
             testFiles.add(new File(queryDir, qFile));
           } else {
@@ -372,7 +372,7 @@ public class QTestGenTask extends Task {
           }
         }
       } else if (queryFileRegex != null && !queryFileRegex.equals("")) {
-        for (String regex : CSV_SPLITTER.split(queryFileRegex)) {
+        for (String regex : TEST_SPLITTER.split(queryFileRegex)) {
           testFiles.addAll(Arrays.asList(queryDir.listFiles(
               new QFileRegexFilter(regex))));
         }
@@ -384,7 +384,7 @@ public class QTestGenTask extends Task {
 
       if (excludeQueryFile != null && !excludeQueryFile.equals("")) {
         // Exclude specified query files, comma separated
-        for (String qFile : CSV_SPLITTER.split(excludeQueryFile)) {
+        for (String qFile : TEST_SPLITTER.split(excludeQueryFile)) {
           if (null != queryDir) {
             testFiles.remove(new File(queryDir, qFile));
           } else {

Modified: hive/trunk/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java
URL: http://svn.apache.org/viewvc/hive/trunk/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java?rev=1618647&r1=1618646&r2=1618647&view=diff
==============================================================================
--- hive/trunk/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java (original)
+++ hive/trunk/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java Mon Aug 18 16:11:19 2014
@@ -47,6 +47,8 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
 public class TestParser {
+  private static final Splitter TEST_SPLITTER = Splitter.onPattern("[, ]")
+    .trimResults().omitEmptyStrings();
 
   private final Context context;
   private final String testCasePropertyName;
@@ -61,18 +63,17 @@ public class TestParser {
     this.logger = logger;
   }
   private List<TestBatch> parseTests() {
-    Splitter splitter = Splitter.on(" ").trimResults().omitEmptyStrings();
     Context unitContext = new Context(context.getSubProperties(
         Joiner.on(".").join("unitTests", "")));
-    Set<String> excluded = Sets.newHashSet(splitter.split(unitContext.getString("exclude", "")));
-    Set<String> isolated = Sets.newHashSet(splitter.split(unitContext.getString("isolate", "")));
-    Set<String> included = Sets.newHashSet(splitter.split(unitContext.getString("include", "")));
+    Set<String> excluded = Sets.newHashSet(TEST_SPLITTER.split(unitContext.getString("exclude", "")));
+    Set<String> isolated = Sets.newHashSet(TEST_SPLITTER.split(unitContext.getString("isolate", "")));
+    Set<String> included = Sets.newHashSet(TEST_SPLITTER.split(unitContext.getString("include", "")));
     if(!included.isEmpty() && !excluded.isEmpty()) {
       throw new IllegalArgumentException(String.format("Included and excluded mutally exclusive." +
           " Included = %s, excluded = %s", included.toString(), excluded.toString()));
     }
     List<File> unitTestsDirs = Lists.newArrayList();
-    for(String unitTestDir : Splitter.on(" ").omitEmptyStrings()
+    for(String unitTestDir : TEST_SPLITTER
         .split(checkNotNull(unitContext.getString("directories"), "directories"))) {
       File unitTestParent = new File(sourceDirectory, unitTestDir);
       if(unitTestParent.isDirectory()) {
@@ -111,7 +112,6 @@ public class TestParser {
   private List<QFileTestBatch> parseQFileTests() {
     Map<String, Properties> properties = parseQTestProperties();
 
-    Splitter splitter = Splitter.on(" ").trimResults().omitEmptyStrings();
     List<QFileTestBatch> result = Lists.newArrayList();
     for(String alias : context.getString("qFileTests", "").split(" ")) {
       Context testContext = new Context(context.getSubProperties(
@@ -122,20 +122,20 @@ public class TestParser {
       File directory = new File(sourceDirectory,
           checkNotNull(testContext.getString("directory"), "directory").trim());
       Set<String> excludedTests = Sets.newHashSet();
-      for(String excludedTestGroup : splitter.split(testContext.getString("exclude", ""))) {
+      for(String excludedTestGroup : TEST_SPLITTER.split(testContext.getString("exclude", ""))) {
         excludedTests.addAll(Arrays.asList(testContext.
             getString(Joiner.on(".").join("groups", excludedTestGroup), "").trim().split(" ")));
         expandTestProperties(excludedTests, properties);
       }
       Set<String> isolatedTests = Sets.newHashSet();
-      for(String ioslatedTestGroup : splitter.split(testContext.getString("isolate", ""))) {
+      for(String ioslatedTestGroup : TEST_SPLITTER.split(testContext.getString("isolate", ""))) {
         isolatedTests.addAll(Arrays.asList(testContext.
             getString(Joiner.on(".").join("groups", ioslatedTestGroup), "").trim().split(" ")));
         expandTestProperties(isolatedTests, properties);
       }
 
       Set<String> includedTests = Sets.newHashSet();
-      for(String includedTestGroup : splitter.split(testContext.getString("include", ""))) {
+      for(String includedTestGroup : TEST_SPLITTER.split(testContext.getString("include", ""))) {
         includedTests.addAll(Arrays.asList(testContext.
             getString(Joiner.on(".").join("groups", includedTestGroup), "").trim().split(" ")));
         expandTestProperties(includedTests, properties);
@@ -249,7 +249,7 @@ public class TestParser {
           logger.warn("No properties found in file: " + propName + " for property: " + propValue);
           throw new IllegalArgumentException("No propertifies found in file: " + propName + " for property: " + propValue);
         }
-        Iterable<String> splits = Splitter.on(',').trimResults().omitEmptyStrings().split(result);
+        Iterable<String> splits = TEST_SPLITTER.split(result);
         for (String split : splits) {
           toAdd.add(split);
         }