GithubHelp home page GithubHelp logo

agirish / drill-test-framework Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mapr/drill-test-framework

0.0 1.0 0.0 1.05 GB

Test Framework for Apache Drill

License: Apache License 2.0

E 21.48% Eiffel 69.74% OpenEdge ABL 1.92% Shell 0.15% Python 0.02% PLSQL 0.06% PLpgSQL 0.06% Java 0.33% Forth 0.01% q 4.20% HiveQL 0.94% TSQL 1.11%

drill-test-framework's Introduction

Test Framework for Apache Drill

Test Framework for SQL on Hadoop technologies. Currently supports Apache Drill, 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.

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. Refer to 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 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 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.

Build Project

To begin using the test framework, you need to build the project and download dependent datasets (configured in pom.xml).

git clone [email protected]: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 <suites> -g <groups> -t <Timeout> -x <Exclude> -n <Concurrency> -d

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
  -g groups (required)
     Here, 'functional' is category of tests to execute
  -t timeout (optional)
     Here, '180' seconds is the max time for a query to execute
  -d data generation (required on first run and upon pulling in new changes. Optional otherwise)
     Here, it turns on data copy and data generation
  -n concurrency (optional)
     Here, '20' queries can execute concurrently
  -x exclude dependencies (optional)
     Here, any 'hbase' test suites within the specified directory are excluded
  -h help (optional)
     Use this option to provide the usage of the command, which includes additional options

Contributing

We encourage contributions from users! You can fix bugs, make enhancements or add new tests. Create a PR here on GitHub for your change.

Refer to 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

drill-test-framework's People

Contributors

rchallapalli avatar agirish avatar vmarkman avatar cchang738 avatar agozhiy avatar krystaln avatar khurram-faraaz avatar prasadns14 avatar denysord88 avatar rhou1 avatar kedarbcs16 avatar kfaraaz avatar abhidotravi avatar anishareddyv avatar omalashevsky avatar atri0 avatar jinfengni avatar jacques-n avatar sudheeshkatkam avatar vkorukanti avatar dependabot[bot] avatar hsuanyi avatar kkhatua avatar vvysotskyi avatar dprofeta avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.