diff --git a/.gitignore b/.gitignore index 8da98efad..7e5cfd749 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,11 @@ .idea/ *.iml +# Eclipse +.project +.classpath +.settings + # Mac stuff *.DS_Store diff --git a/README.md b/README.md index e4b442ebe..9a7f2d9c3 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,43 @@ # Test Framework for Apache Drill -Test Framework for SQL on Hadoop technologies. Currently supports [Apache Drill](http://drill.apache.org/), a schema-free SQL query engine for Hadoop, NoSQL and cloud storage. +Test Framework for SQL on Hadoop technologies. Currently supports [Apache Drill](http://drill.apache.org/), a +schema-free SQL query engine for Hadoop, NoSQL and cloud storage. -The framework is built for regression, integration & sanity testing. Includes test coverage (with baselines) for core Drill functionality, and supported features. And are used by the Apache Drill community for pre-commit regression and part of the release criteria. +The framework is built for regression, integration & sanity testing. Includes test coverage (with baselines) for +core Drill functionality, and supported features. The Apache Drill community uses the framework for for pre-commit +regression testing and as part of the release criteria. ## Requirements - 1. The test framework requires a distributed file system such as HDFS or MapR-FS to be configured. Some of the tests can also be run against a local file system. By default, it's configured to run against MapR-FS. You can change the default behavior by modifying [conf/core-site.xml](conf/core-site.xml). Refer to [conf/core-site.xml.example](conf/core-site.xml.example) for settings. - 2. To run all tests, Hive and HBase needs to be installed and running. To exclude Hive and HBase tests, please refer to the example in the Execute Tests section. - 3. The test framework should be run on a Drill cluster node. Refer to [Drill documentation](http://drill.apache.org/docs/installing-drill-in-distributed-mode) for details on how to setup Drill. It can also be run on a client node with additional configuration required. - 4. Cluster information are set in the [conf/drillTestConfig.properties](conf/drillTestConfig.properties) file. This is the main configuration file for the framework. It needs to be modified with local cluster info before compile the framework and run tests. + + 1. The test framework requires a distributed file system such as HDFS or MapR-FS to be configured. + Some of the tests can also be run against a local file system. By default, it's configured to + run against MapR-FS. You can change the default behavior by modifying + [conf/core-site.xml](conf/core-site.xml). Refer to [conf/core-site.xml.example](conf/core-site.xml.example) + for settings. + 2. To run all tests, Hive and HBase needs to be installed and running. To exclude Hive and HBase tests, + please refer to the example in the Execute Tests section. + 3. The test framework should be run on a Drill cluster node. Refer to + [Drill documentation](http://drill.apache.org/docs/installing-drill-in-distributed-mode) for details + on how to setup Drill. It can also be run on a client node with additional configuration required. + 4. Cluster information are set in the [conf/drillTestConfig.properties](conf/drillTestConfig.properties) + file. This is the main configuration file for the framework. It needs to be modified with local + cluster info before compiling the framework and running tests. ## Build Project -To begin using the test framework, you need to build the project and download dependent datasets (configured in [pom.xml](framework/pom.xml)). + +To begin using the test framework, you need to build the project and download dependent +datasets (configured in [pom.xml](framework/pom.xml)). + ``` git clone git@github.com:mapr/drill-test-framework.git cd drill-test-framework bin/build_framework -Pdownload -``` +``` + If you've already downloaded the datasets previously, you can simply skip the download. ## Execute Tests + In the root directory of your repository, execute the following command to run tests: `bin/run_tests -s -g -t -x -n -d` @@ -27,7 +45,9 @@ In the root directory of your repository, execute the following command to run t Example:
 bin/run_tests -s Functional/aggregates,Functional/joins -g functional -x hbase -t 180 -n 20 -d
   -s suites (required)
-     Here, 'Functional/aggregates,Functional/joins' are directories inside [framework/resources/Functional](framework/resources/Functional). All directories within this parent directory are included
+     Here, 'Functional/aggregates,Functional/joins' are directories inside
+    [framework/resources/Functional](framework/resources/Functional). All directories
+    within this parent directory are included
   -g groups (required)
      Here, 'functional' is category of tests to execute
   -t timeout (optional)
@@ -49,4 +69,5 @@ We encourage contributions from users! You can fix bugs, make enhancements or ad
 Refer to [CONTRIBUTING.md](CONTRIBUTING.md) for details on the test framework structure and instructions on how to contribute.
 
 ## License
-Licensed under the Apache License 2.0. Please see [LICENSE.md](LICENSE.md)
\ No newline at end of file
+
+Licensed under the Apache License 2.0. Please see [LICENSE.md](LICENSE.md)
diff --git a/framework/resources/Functional/table_function/positive/data/drill-3149_1.e b/framework/resources/Functional/table_function/positive/data/drill-3149_1.e
index f0abeb2be..94ebaf900 100644
--- a/framework/resources/Functional/table_function/positive/data/drill-3149_1.e
+++ b/framework/resources/Functional/table_function/positive/data/drill-3149_1.e
@@ -1,4 +1,4 @@
-1,aaa,bbb
-2,ccc,ddd
-3,eee,
-4,fff,ggg
+1
+2
+3
+4
diff --git a/framework/resources/Functional/table_function/positive/data/drill-3149_13.e b/framework/resources/Functional/table_function/positive/data/drill-3149_13.e
index 762d129ae..ada279b59 100644
--- a/framework/resources/Functional/table_function/positive/data/drill-3149_13.e
+++ b/framework/resources/Functional/table_function/positive/data/drill-3149_13.e
@@ -1,4 +1,4 @@
-["1,aaa,bbb"]
-["2,ccc,ddd"]
-["3,eee,"]
-["4,fff,ggg"]
+["1","aaa","bbb"]
+["2","ccc","ddd"]
+["3","eee",""]
+["4","fff","ggg"]
diff --git a/framework/resources/Functional/table_function/positive/data/drill-3149_2.e b/framework/resources/Functional/table_function/positive/data/drill-3149_2.e
index 762d129ae..ada279b59 100644
--- a/framework/resources/Functional/table_function/positive/data/drill-3149_2.e
+++ b/framework/resources/Functional/table_function/positive/data/drill-3149_2.e
@@ -1,4 +1,4 @@
-["1,aaa,bbb"]
-["2,ccc,ddd"]
-["3,eee,"]
-["4,fff,ggg"]
+["1","aaa","bbb"]
+["2","ccc","ddd"]
+["3","eee",""]
+["4","fff","ggg"]
diff --git a/framework/resources/Functional/table_function/positive/data/drill-3149_4.e b/framework/resources/Functional/table_function/positive/data/drill-3149_4.e
index 7fbffa20b..ada279b59 100644
--- a/framework/resources/Functional/table_function/positive/data/drill-3149_4.e
+++ b/framework/resources/Functional/table_function/positive/data/drill-3149_4.e
@@ -1,4 +1,4 @@
-["1\taaa\tbbb"]
-["2\tccc\tddd"]
-["3\teee\t"]
-["4\tfff\tggg"]
+["1","aaa","bbb"]
+["2","ccc","ddd"]
+["3","eee",""]
+["4","fff","ggg"]