diff --git a/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java b/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java index a59fbc7..588e4bf 100644 --- a/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java +++ b/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java @@ -46,7 +46,7 @@ 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 String getHiveRootDirectory() { 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 void execute() throws BuildException { Set includeOnly = null; if (includeQueryFile != null && !includeQueryFile.isEmpty()) { - includeOnly = Sets.newHashSet(CSV_SPLITTER.split(includeQueryFile)); + includeOnly = Sets.newHashSet(TEST_SPLITTER.split(includeQueryFile)); } List qFiles; @@ -364,7 +364,7 @@ public void execute() throws BuildException { Set testFiles = new HashSet(); 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 void execute() throws BuildException { } } } 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 void execute() throws BuildException { 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 { diff --git a/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java b/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java index d350796..aef6ac1 100644 --- a/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java +++ b/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java @@ -47,6 +47,8 @@ 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 TestParser(Context context, String testCasePropertyName, this.logger = logger; } private List parseTests() { - Splitter splitter = Splitter.on(" ").trimResults().omitEmptyStrings(); Context unitContext = new Context(context.getSubProperties( Joiner.on(".").join("unitTests", ""))); - Set excluded = Sets.newHashSet(splitter.split(unitContext.getString("exclude", ""))); - Set isolated = Sets.newHashSet(splitter.split(unitContext.getString("isolate", ""))); - Set included = Sets.newHashSet(splitter.split(unitContext.getString("include", ""))); + Set excluded = Sets.newHashSet(TEST_SPLITTER.split(unitContext.getString("exclude", ""))); + Set isolated = Sets.newHashSet(TEST_SPLITTER.split(unitContext.getString("isolate", ""))); + Set 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 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 TestParser(Context context, String testCasePropertyName, private List parseQFileTests() { Map properties = parseQTestProperties(); - Splitter splitter = Splitter.on(" ").trimResults().omitEmptyStrings(); List result = Lists.newArrayList(); for(String alias : context.getString("qFileTests", "").split(" ")) { Context testContext = new Context(context.getSubProperties( @@ -122,20 +122,20 @@ public TestParser(Context context, String testCasePropertyName, File directory = new File(sourceDirectory, checkNotNull(testContext.getString("directory"), "directory").trim()); Set 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 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 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 @@ private void expandTestProperties(Set tests, Map pro logger.warn("No properties found in file: " + propName + " for property: " + propValue); throw new IllegalArgumentException("No propertifies found in file: " + propName + " for property: " + propValue); } - Iterable splits = Splitter.on(',').trimResults().omitEmptyStrings().split(result); + Iterable splits = TEST_SPLITTER.split(result); for (String split : splits) { toAdd.add(split); }