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);
}