diff --git a/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java b/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java index 787fbb1..3ed24d0 100644 --- a/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java +++ b/ant/src/org/apache/hadoop/hive/ant/QTestGenTask.java @@ -58,6 +58,12 @@ public class QTestGenTask extends Task { } + public class DisabledQFileFilter implements FileFilter { + public boolean accept(File fpath) { + return !fpath.isDirectory() && fpath.getName().endsWith(".q.disabled"); + } + } + public class QFileRegexFilter extends QFileFilter { Pattern filterPattern; @@ -97,6 +103,8 @@ public class QTestGenTask extends Task { private String logFile; private String clusterMode; + + private String runDisabled; private String hadoopVersion; @@ -116,6 +124,14 @@ public class QTestGenTask extends Task { return clusterMode; } + public void setRunDisabled(String runDisabled) { + this.runDisabled = runDisabled; + } + + public String getRunDisabled() { + return runDisabled; + } + public void setLogFile(String logFile) { this.logFile = logFile; } @@ -264,6 +280,8 @@ public class QTestGenTask extends Task { } } else if (queryFileRegex != null && !queryFileRegex.equals("")) { qFiles.addAll(Arrays.asList(inpDir.listFiles(new QFileRegexFilter(queryFileRegex)))); + } else if (runDisabled != null && runDisabled.equals("true")) { + qFiles.addAll(Arrays.asList(inpDir.listFiles(new DisabledQFileFilter()))); } else { qFiles.addAll(Arrays.asList(inpDir.listFiles(new QFileFilter()))); } diff --git a/build-common.xml b/build-common.xml index dac20d4..99b69eb 100644 --- a/build-common.xml +++ b/build-common.xml @@ -373,6 +373,12 @@ + + + + + + diff --git a/contrib/build.xml b/contrib/build.xml index 21c004e..e95a0e0 100644 --- a/contrib/build.xml +++ b/contrib/build.xml @@ -71,6 +71,7 @@ queryDirectory="${contrib.test.query.dir}/positive" queryFile="${qfile}" queryFileRegex="${qfile_regex}" + runDisabled="${run_disabled}" resultsDirectory="${contrib.test.results.dir}/compiler" className="TestContribParse" logFile="${test.log.dir}/testcontribparsegen.log" logDirectory="${test.log.dir}/contribpositive"/> @@ -80,6 +81,7 @@ queryDirectory="${contrib.test.query.dir}/negative" queryFile="${qfile}" queryFileRegex="${qfile_regex}" + runDisabled="${run_disabled}" resultsDirectory="${contrib.test.results.dir}/compiler/errors" className="TestContribParseNegative" logFile="${test.log.dir}/testcontribparseneggen.log" logDirectory="${test.log.dir}/contribnegative"/> @@ -89,6 +91,7 @@ queryDirectory="${contrib.test.query.dir}/clientpositive" queryFile="${qfile}" queryFileRegex="${qfile_regex}" + runDisabled="${run_disabled}" clusterMode="${clustermode}" resultsDirectory="${contrib.test.results.dir}/clientpositive" className="TestContribCliDriver" logFile="${test.log.dir}/testcontribclidrivergen.log" @@ -101,6 +104,7 @@ queryDirectory="${contrib.test.query.dir}/clientnegative" queryFile="${qfile}" queryFileRegex="${qfile_regex}" + runDisabled="${run_disabled}" resultsDirectory="${contrib.test.results.dir}/clientnegative" className="TestContribNegativeCliDriver" logFile="${test.log.dir}/testcontribnegclidrivergen.log" logDirectory="${test.log.dir}/contribclientnegative"/> diff --git a/hbase-handler/build.xml b/hbase-handler/build.xml index e0a3ae6..4990b13 100644 --- a/hbase-handler/build.xml +++ b/hbase-handler/build.xml @@ -71,6 +71,7 @@ templatePath="${ql.hbase.test.template.dir}" template="TestHBaseCliDriver.vm" queryDirectory="${hbase-handler.test.query.dir}" queryFile="${qfile}" + runDisabled="${run_disabled}" clusterMode="${clustermode}" resultsDirectory="${hbase-handler.test.results.dir}" className="TestHBaseCliDriver" logFile="${test.log.dir}/testhbaseclidrivergen.log" @@ -79,6 +80,7 @@ templatePath="${ql.hbase.test.template.dir}" template="TestHBaseCliDriver.vm" queryDirectory="${hbase-handler.test.query.dir}" queryFile="hbase_bulk.m" + runDisabled="${run_disabled}" clusterMode="miniMR" resultsDirectory="${hbase-handler.test.results.dir}" className="TestHBaseMinimrCliDriver" logFile="${test.log.dir}/testhbaseminimrclidrivergen.log" diff --git a/hbase-handler/src/test/templates/TestHBaseCliDriver.vm b/hbase-handler/src/test/templates/TestHBaseCliDriver.vm index f2f172d..e59b6e6 100644 --- a/hbase-handler/src/test/templates/TestHBaseCliDriver.vm +++ b/hbase-handler/src/test/templates/TestHBaseCliDriver.vm @@ -73,7 +73,7 @@ public class $className extends TestCase { HBaseTestSetup setup = new HBaseTestSetup(suite); #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) suite.addTest(new $className("testCliDriver_$tname", setup)); #end @@ -82,7 +82,7 @@ public class $className extends TestCase { #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) public void testCliDriver_$tname() throws Exception { try { diff --git a/ql/build.xml b/ql/build.xml index 50c604e..1c7570d 100644 --- a/ql/build.xml +++ b/ql/build.xml @@ -71,6 +71,7 @@ queryDirectory="${ql.test.query.dir}/positive" queryFile="${qfile}" queryFileRegex="${qfile_regex}" + runDisabled="${run_disabled}" resultsDirectory="${ql.test.results.dir}/compiler" className="TestParse" logFile="${test.log.dir}/testparsegen.log" hadoopVersion="${hadoopVersion}" @@ -81,6 +82,7 @@ queryDirectory="${ql.test.query.dir}/negative" queryFile="${qfile}" queryFileRegex="${qfile_regex}" + runDisabled="${run_disabled}" resultsDirectory="${ql.test.results.dir}/compiler/errors" className="TestParseNegative" logFile="${test.log.dir}/testparseneggen.log" hadoopVersion="${hadoopVersion}" @@ -93,6 +95,7 @@ excludeQueryFile="${ql.test.clientpositive.exclude}" queryFileRegex="${qfile_regex}" clusterMode="${clustermode}" + runDisabled="${run_disabled}" resultsDirectory="${ql.test.results.clientpositive.dir}" className="TestCliDriver" logFile="${test.log.dir}/testclidrivergen.log" logDirectory="${test.log.dir}/clientpositive" @@ -110,6 +113,7 @@ queryFile="${minimr.query.files}" queryFileRegex="${qfile_regex}" clusterMode="miniMR" + runDisabled="${run_disabled}" resultsDirectory="${ql.test.results.clientpositive.dir}" className="TestMinimrCliDriver" logFile="${test.log.dir}/testminimrclidrivergen.log" logDirectory="${test.log.dir}/clientpositive" @@ -123,6 +127,7 @@ queryDirectory="${ql.test.query.dir}/clientnegative" queryFile="${qfile}" queryFileRegex="${qfile_regex}" + runDisabled="${run_disabled}" resultsDirectory="${ql.test.results.dir}/clientnegative" className="TestNegativeCliDriver" logFile="${test.log.dir}/testnegclidrivergen.log" logDirectory="${test.log.dir}/clientnegative" diff --git a/ql/src/test/queries/clientnegative/dyn_part_empty.q b/ql/src/test/queries/clientnegative/dyn_part_empty.q deleted file mode 100644 index 4ac7530..0000000 --- a/ql/src/test/queries/clientnegative/dyn_part_empty.q +++ /dev/null @@ -1,8 +0,0 @@ -set hive.exec.dynamic.partition=true; -set hive.exec.dynamic.partition.mode=nonstrict; -set hive.stats.autogether=false; -set hive.error.on.empty.partition=true; - -create table dyn_err(key string, value string) partitioned by (ds string); - -insert overwrite table dyn_err partition(ds) select key, value, ds from srcpart where ds is not null and key = 'no exists'; diff --git a/ql/src/test/queries/clientnegative/dyn_part_empty.q.disabled b/ql/src/test/queries/clientnegative/dyn_part_empty.q.disabled new file mode 100644 index 0000000..4ac7530 --- /dev/null +++ b/ql/src/test/queries/clientnegative/dyn_part_empty.q.disabled @@ -0,0 +1,8 @@ +set hive.exec.dynamic.partition=true; +set hive.exec.dynamic.partition.mode=nonstrict; +set hive.stats.autogether=false; +set hive.error.on.empty.partition=true; + +create table dyn_err(key string, value string) partitioned by (ds string); + +insert overwrite table dyn_err partition(ds) select key, value, ds from srcpart where ds is not null and key = 'no exists'; diff --git a/ql/src/test/results/clientnegative/dyn_part_empty.q.disabled.out b/ql/src/test/results/clientnegative/dyn_part_empty.q.disabled.out new file mode 100644 index 0000000..4f7cc03 --- /dev/null +++ b/ql/src/test/results/clientnegative/dyn_part_empty.q.disabled.out @@ -0,0 +1,14 @@ +PREHOOK: query: create table dyn_err(key string, value string) partitioned by (ds string) +PREHOOK: type: CREATETABLE +POSTHOOK: query: create table dyn_err(key string, value string) partitioned by (ds string) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: default@dyn_err +PREHOOK: query: insert overwrite table dyn_err partition(ds) select key, value, ds from srcpart where ds is not null and key = 'no exists' +PREHOOK: type: QUERY +PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 +PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 +PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 +PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 +PREHOOK: Output: default@dyn_err +Failed with exception This query creates no partitions. To turn off this error, set hive.error.on.empty.partition=false. +FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask diff --git a/ql/src/test/results/clientnegative/dyn_part_empty.q.out b/ql/src/test/results/clientnegative/dyn_part_empty.q.out deleted file mode 100644 index 4f7cc03..0000000 --- a/ql/src/test/results/clientnegative/dyn_part_empty.q.out +++ /dev/null @@ -1,14 +0,0 @@ -PREHOOK: query: create table dyn_err(key string, value string) partitioned by (ds string) -PREHOOK: type: CREATETABLE -POSTHOOK: query: create table dyn_err(key string, value string) partitioned by (ds string) -POSTHOOK: type: CREATETABLE -POSTHOOK: Output: default@dyn_err -PREHOOK: query: insert overwrite table dyn_err partition(ds) select key, value, ds from srcpart where ds is not null and key = 'no exists' -PREHOOK: type: QUERY -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11 -PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12 -PREHOOK: Output: default@dyn_err -Failed with exception This query creates no partitions. To turn off this error, set hive.error.on.empty.partition=false. -FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask diff --git a/ql/src/test/templates/TestCliDriver.vm b/ql/src/test/templates/TestCliDriver.vm index 53be3f7..31e7cd2 100644 --- a/ql/src/test/templates/TestCliDriver.vm +++ b/ql/src/test/templates/TestCliDriver.vm @@ -87,7 +87,7 @@ public class $className extends TestCase { TestSuite suite = new TestSuite(); #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) suite.addTest(new $className("testCliDriver_$tname")); #end @@ -100,7 +100,7 @@ public class $className extends TestCase { #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) public void testCliDriver_$tname() throws Exception { try { diff --git a/ql/src/test/templates/TestNegativeCliDriver.vm b/ql/src/test/templates/TestNegativeCliDriver.vm index ccc1238..ec13f79 100644 --- a/ql/src/test/templates/TestNegativeCliDriver.vm +++ b/ql/src/test/templates/TestNegativeCliDriver.vm @@ -66,7 +66,7 @@ public class $className extends TestCase { TestSuite suite = new TestSuite(); #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) suite.addTest(new $className("testNegativeCliDriver_$tname")); #end @@ -86,7 +86,7 @@ public class $className extends TestCase { #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) public void testNegativeCliDriver_$tname() throws Exception { try { diff --git a/ql/src/test/templates/TestParse.vm b/ql/src/test/templates/TestParse.vm index 3982468..cf860ac 100644 --- a/ql/src/test/templates/TestParse.vm +++ b/ql/src/test/templates/TestParse.vm @@ -69,7 +69,7 @@ public class $className extends TestCase { #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) suite.addTest(new $className("testParse_$tname")); #end @@ -89,7 +89,7 @@ public class $className extends TestCase { #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) public void testParse_$tname() throws Exception { try { diff --git a/ql/src/test/templates/TestParseNegative.vm b/ql/src/test/templates/TestParseNegative.vm index cf89529..48a0031 100755 --- a/ql/src/test/templates/TestParseNegative.vm +++ b/ql/src/test/templates/TestParseNegative.vm @@ -77,7 +77,7 @@ public class $className extends TestCase { #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) suite.addTest(new $className("testParseNegative_$tname")); #end @@ -90,7 +90,7 @@ public class $className extends TestCase { #foreach ($qf in $qfiles) #set ($fname = $qf.getName()) - #set ($eidx = $fname.length() - 2) + #set ($eidx = $fname.indexOf('.')) #set ($tname = $fname.substring(0, $eidx)) public void testParseNegative_$tname() throws Exception { try {