mirror of
https://github.com/apache/impala.git
synced 2026-01-08 12:02:54 -05:00
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
47 lines
1.2 KiB
Python
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("_", "-"))
|