Files
impala/tests/comparison/conftest.py
Casey Ching f288867833 Stress test: Various changes
The major changes are:

1) Collect backtrace and fatal log on crash.
2) Poll memory usage. The data is only displayed at this time.
3) Support kerberos.
4) Add random queries.
5) Generate random and TPC-H nested data on a remote cluster. The
   random data generator was converted to use MR for scaling.
6) Add a cluster abstraction to run data loading for #5 on a
   remote or local cluster. This also moves and consolidates some
   Cloudera Manager utilities that were in the stress test.
7) Cleanup the wrappers around impyla. That stuff was getting
   messy.

Change-Id: I4e4b72dbee1c867626a0b22291dd6462819e35d7
Reviewed-on: http://gerrit.cloudera.org:8080/1298
Reviewed-by: Casey Ching <casey@cloudera.com>
Tested-by: Internal Jenkins
2016-01-20 23:00:25 +00:00

47 lines
1.2 KiB
Python

import pytest
import cli_options
from cluster import CmCluster, MiniCluster
"""This module provides pytest 'fixtures'. See cluster_tests.py for usage."""
__cluster = None
def pytest_addoption(parser):
if not hasattr(parser, "add_argument"):
parser.add_argument = parser.addoption
cli_options.add_cm_options(parser)
@pytest.fixture
def cluster(request):
global __cluster
if not __cluster:
cm_host = get_option_value(request, "cm_host")
if cm_host:
__cluster = CmCluster(cm_host, port=get_option_value(request, "cm_port"),
user=get_option_value(request, "cm_user"),
password=get_option_value(request, "cm_password"),
cluster_name=get_option_value(request, "cm_cluster_name"))
else:
__cluster = MiniCluster()
return __cluster
@pytest.yield_fixture
def hive_cursor(request):
with cluster(request).hive.connect() as conn:
with conn.cursor() as cur:
yield cur
@pytest.yield_fixture
def cursor(request):
with cluster(request).impala.connect() as conn:
with conn.cursor() as cur:
yield cur
def get_option_value(request, dest_var_name):
return request.config.getoption("--" + dest_var_name.replace("_", "-"))