IMPALA-4750: Rename test infra classes so they don't mimic test classes.
This patch addresses warning messages from pytest re: the imported
TestMatrix, TestVector, and TestDimension classes, which were being
collected as potential test classes. The fix was to simply prepend
the class names with Impala-
git grep -l 'TestDimension' | xargs \
sed -i 's/TestDimension/ImpalaTestDimension/g'
git grep -l 'TestMatrix' | xargs \
sed -i 's/TestMatrix/ImpalaTestMatrix/g'
git grep -l 'TestVector' | xargs \
sed -i 's/TestVector/ImpalaTestVector/g'
The tests all passed in an exhaustive run on the upstream jenkins
server:
http://jenkins.impala.io:8080/view/Utility/job/pre-review-test/8/
Change-Id: I06b7bc6fd99fbb637a47ba376bf9830705c1fce1
Reviewed-on: http://gerrit.cloudera.org:8080/5794
Reviewed-by: Michael Brown <[email protected]>
Reviewed-by: Jim Apple <[email protected]>
Tested-by: Impala Public Jenkins
Project: http://git-wip-us.apache.org/repos/asf/incubator-impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-impala/commit/f590bc0d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-impala/tree/f590bc0d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-impala/diff/f590bc0d
Branch: refs/heads/master
Commit: f590bc0da63ea957aa2be21f2dda8d67e6794d68
Parents: 253ea71
Author: David Knupp <[email protected]>
Authored: Fri Jan 6 11:00:59 2017 -0800
Committer: Impala Public Jenkins <[email protected]>
Committed: Thu Jan 26 23:40:22 2017 +0000
----------------------------------------------------------------------
tests/authorization/test_grant_revoke.py | 3 +-
.../test_catalog_service_client.py | 4 +-
tests/catalog_service/test_hms_failure.py | 4 +-
.../test_large_num_partitions.py | 4 +-
tests/common/base_test_suite.py | 6 +-
tests/common/custom_cluster_test_suite.py | 4 +-
tests/common/impala_test_suite.py | 8 +--
tests/common/kudu_test_suite.py | 3 +-
tests/common/test_dimensions.py | 10 +--
tests/common/test_vector.py | 72 ++++++++++----------
tests/conftest.py | 2 +-
.../custom_cluster/test_admission_controller.py | 26 ++++---
.../test_hive_parquet_timestamp_conversion.py | 2 +-
.../test_parquet_max_page_header.py | 2 +-
tests/custom_cluster/test_permanent_udfs.py | 3 +-
tests/custom_cluster/test_spilling.py | 15 ++--
tests/data_errors/test_data_errors.py | 14 ++--
tests/experiments/test_targeted_perf.py | 5 +-
tests/failure/test_failpoints.py | 23 ++++---
tests/metadata/test_compute_stats.py | 19 +++---
tests/metadata/test_ddl.py | 2 +-
tests/metadata/test_ddl_base.py | 5 +-
tests/metadata/test_explain.py | 2 +-
tests/metadata/test_hdfs_encryption.py | 18 +++--
tests/metadata/test_hdfs_permissions.py | 5 +-
tests/metadata/test_hidden_files.py | 7 +-
tests/metadata/test_hms_integration.py | 8 +--
tests/metadata/test_last_ddl_time_update.py | 4 +-
tests/metadata/test_load.py | 5 +-
.../metadata/test_metadata_query_statements.py | 5 +-
tests/metadata/test_partition_metadata.py | 4 +-
tests/metadata/test_recover_partitions.py | 5 +-
tests/metadata/test_refresh_partition.py | 4 +-
tests/metadata/test_set.py | 5 +-
tests/metadata/test_show_create_table.py | 7 +-
tests/metadata/test_stale_metadata.py | 4 +-
tests/metadata/test_views_compatibility.py | 5 +-
tests/query_test/test_aggregation.py | 19 +++---
tests/query_test/test_analytic_tpcds.py | 6 +-
tests/query_test/test_avro_schema_resolution.py | 2 +-
tests/query_test/test_cancellation.py | 72 ++++++++++++--------
tests/query_test/test_chars.py | 8 +--
tests/query_test/test_compressed_formats.py | 26 +++----
tests/query_test/test_decimal_casting.py | 10 +--
tests/query_test/test_decimal_queries.py | 10 +--
tests/query_test/test_delimited_text.py | 5 +-
tests/query_test/test_errorlog.py | 4 +-
tests/query_test/test_exprs.py | 14 ++--
tests/query_test/test_hash_join_timer.py | 7 +-
tests/query_test/test_hbase_queries.py | 2 +-
tests/query_test/test_hdfs_caching.py | 8 +--
tests/query_test/test_hdfs_fd_caching.py | 2 +-
tests/query_test/test_insert.py | 36 +++++-----
tests/query_test/test_insert_parquet.py | 34 +++++----
tests/query_test/test_insert_permutation.py | 5 +-
tests/query_test/test_invalid_test_header.py | 2 +-
tests/query_test/test_join_queries.py | 26 +++----
tests/query_test/test_limit.py | 16 ++---
tests/query_test/test_local_fs.py | 4 +-
tests/query_test/test_mem_usage_scaling.py | 25 +++----
tests/query_test/test_mt_dop.py | 10 +--
tests/query_test/test_multiple_filesystems.py | 4 +-
tests/query_test/test_nested_types.py | 6 +-
tests/query_test/test_partitioning.py | 4 +-
tests/query_test/test_queries.py | 17 ++---
tests/query_test/test_query_mem_limit.py | 23 ++++---
tests/query_test/test_query_opts.py | 8 +--
tests/query_test/test_rows_availability.py | 6 +-
tests/query_test/test_runtime_filters.py | 4 +-
tests/query_test/test_scanners.py | 40 +++++------
tests/query_test/test_scanners_fuzz.py | 4 +-
tests/query_test/test_scratch_limit.py | 4 +-
tests/query_test/test_sort.py | 2 +-
tests/query_test/test_timezones.py | 2 +-
tests/query_test/test_tpcds_queries.py | 12 ++--
tests/query_test/test_tpch_nested_queries.py | 4 +-
tests/query_test/test_tpch_queries.py | 4 +-
tests/query_test/test_udfs.py | 8 ++-
tests/stress/test_ddl_stress.py | 9 +--
tests/stress/test_mini_stress.py | 8 +--
tests/unittests/test_result_verifier.py | 3 +-
81 files changed, 457 insertions(+), 392 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/authorization/test_grant_revoke.py
----------------------------------------------------------------------
diff --git a/tests/authorization/test_grant_revoke.py
b/tests/authorization/test_grant_revoke.py
index 07194d9..1a191ba 100644
--- a/tests/authorization/test_grant_revoke.py
+++ b/tests/authorization/test_grant_revoke.py
@@ -32,7 +32,8 @@ class TestGrantRevoke(CustomClusterTestSuite,
ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestGrantRevoke, cls).add_test_dimensions()
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
@classmethod
def get_workload(cls):
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/catalog_service/test_catalog_service_client.py
----------------------------------------------------------------------
diff --git a/tests/catalog_service/test_catalog_service_client.py
b/tests/catalog_service/test_catalog_service_client.py
index a4527da..05a4f24 100644
--- a/tests/catalog_service/test_catalog_service_client.py
+++ b/tests/catalog_service/test_catalog_service_client.py
@@ -46,10 +46,10 @@ class TestCatalogServiceClient(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestCatalogServiceClient, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# There is no reason to run these tests using all dimensions.
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'parquet' and\
v.get_value('table_format').compression_codec == 'none')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/catalog_service/test_hms_failure.py
----------------------------------------------------------------------
diff --git a/tests/catalog_service/test_hms_failure.py
b/tests/catalog_service/test_hms_failure.py
index 1577f06..d98f0b4 100644
--- a/tests/catalog_service/test_hms_failure.py
+++ b/tests/catalog_service/test_hms_failure.py
@@ -34,10 +34,10 @@ class TestHiveMetaStoreFailure(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestHiveMetaStoreFailure, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# There is no reason to run these tests using all dimensions.
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'parquet' and\
v.get_value('table_format').compression_codec == 'none')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/catalog_service/test_large_num_partitions.py
----------------------------------------------------------------------
diff --git a/tests/catalog_service/test_large_num_partitions.py
b/tests/catalog_service/test_large_num_partitions.py
index c2671e6..548723b 100644
--- a/tests/catalog_service/test_large_num_partitions.py
+++ b/tests/catalog_service/test_large_num_partitions.py
@@ -29,10 +29,10 @@ class TestLargeNumPartitions(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestLargeNumPartitions, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# There is no reason to run these tests using all dimensions.
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'text' and\
v.get_value('table_format').compression_codec == 'none')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/common/base_test_suite.py
----------------------------------------------------------------------
diff --git a/tests/common/base_test_suite.py b/tests/common/base_test_suite.py
index 8c87789..e4bb067 100644
--- a/tests/common/base_test_suite.py
+++ b/tests/common/base_test_suite.py
@@ -18,13 +18,13 @@
# The base class that should be used for tests.
import logging
-from tests.common.test_vector import TestMatrix
+from tests.common.test_vector import ImpalaTestMatrix
LOG = logging.getLogger('base_test_suite')
# Base class for tests.
class BaseTestSuite(object):
- TestMatrix = TestMatrix()
+ ImpalaTestMatrix = ImpalaTestMatrix()
@classmethod
def add_test_dimensions(cls):
@@ -34,4 +34,4 @@ class BaseTestSuite(object):
By default load the table_info and exec_option dimensions, but if a test
wants to
add more dimensions or different dimensions they can override this
function.
"""
- cls.TestMatrix = TestMatrix()
+ cls.ImpalaTestMatrix = ImpalaTestMatrix()
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/common/custom_cluster_test_suite.py
----------------------------------------------------------------------
diff --git a/tests/common/custom_cluster_test_suite.py
b/tests/common/custom_cluster_test_suite.py
index 365776a..28f598c 100644
--- a/tests/common/custom_cluster_test_suite.py
+++ b/tests/common/custom_cluster_test_suite.py
@@ -47,10 +47,10 @@ class CustomClusterTestSuite(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(CustomClusterTestSuite, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
v.get_value('table_format').file_format == 'text' and
v.get_value('table_format').compression_codec == 'none')
- cls.TestMatrix.add_constraint(lambda v:
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
v.get_value('exec_option')['batch_size'] == 0 and
v.get_value('exec_option')['disable_codegen'] == False and
v.get_value('exec_option')['num_nodes'] == 0)
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/common/impala_test_suite.py
----------------------------------------------------------------------
diff --git a/tests/common/impala_test_suite.py
b/tests/common/impala_test_suite.py
index c85b58b..e3b98a4 100644
--- a/tests/common/impala_test_suite.py
+++ b/tests/common/impala_test_suite.py
@@ -47,7 +47,7 @@ from tests.common.test_result_verifier import (
apply_error_match_filter,
verify_raw_results,
verify_runtime_profile)
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
from tests.performance.query import Query
from tests.performance.query_exec_functions import execute_using_jdbc
from tests.performance.query_executor import JdbcQueryExecConfig
@@ -96,9 +96,9 @@ class ImpalaTestSuite(BaseTestSuite):
add more dimensions or different dimensions they can override this
function.
"""
super(ImpalaTestSuite, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(
+ cls.ImpalaTestMatrix.add_dimension(
cls.create_table_info_dimension(cls.exploration_strategy()))
- cls.TestMatrix.add_dimension(cls.__create_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(cls.__create_exec_option_dimension())
@classmethod
def setup_class(cls):
@@ -583,7 +583,7 @@ class ImpalaTestSuite(BaseTestSuite):
for tf in pytest.config.option.table_formats.split(','):
dataset = get_dataset_from_workload(cls.get_workload())
table_formats.append(TableFormatInfo.create_from_string(dataset, tf))
- tf_dimensions = TestDimension('table_format', *table_formats)
+ tf_dimensions = ImpalaTestDimension('table_format', *table_formats)
else:
tf_dimensions = load_table_info_dimension(cls.get_workload(),
exploration_strategy)
# If 'skip_hbase' is specified or the filesystem is isilon, s3 or local,
we don't
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/common/kudu_test_suite.py
----------------------------------------------------------------------
diff --git a/tests/common/kudu_test_suite.py b/tests/common/kudu_test_suite.py
index ff37c99..e9763ed 100644
--- a/tests/common/kudu_test_suite.py
+++ b/tests/common/kudu_test_suite.py
@@ -58,7 +58,8 @@ class KuduTestSuite(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(KuduTestSuite, cls).add_test_dimensions()
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
@classmethod
def auto_create_db(cls):
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/common/test_dimensions.py
----------------------------------------------------------------------
diff --git a/tests/common/test_dimensions.py b/tests/common/test_dimensions.py
index 8f886b8..3f9c47c 100644
--- a/tests/common/test_dimensions.py
+++ b/tests/common/test_dimensions.py
@@ -20,7 +20,7 @@
import os
from itertools import product
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
WORKLOAD_DIR = os.environ['IMPALA_WORKLOAD_DIR']
@@ -87,12 +87,12 @@ class TableFormatInfo(object):
def create_uncompressed_text_dimension(workload):
dataset = get_dataset_from_workload(workload)
- return TestDimension('table_format',
+ return ImpalaTestDimension('table_format',
TableFormatInfo.create_from_string(dataset, 'text/none'))
def create_parquet_dimension(workload):
dataset = get_dataset_from_workload(workload)
- return TestDimension('table_format',
+ return ImpalaTestDimension('table_format',
TableFormatInfo.create_from_string(dataset, 'parquet/none'))
# Available Exec Options:
@@ -159,7 +159,7 @@ def
create_exec_option_dimension_from_dict(exec_option_dimensions):
exec_option_dimension_values = [dict(zip(keys, prod)) for prod in
combinations]
# Build a test vector out of it
- return TestDimension('exec_option', *exec_option_dimension_values)
+ return ImpalaTestDimension('exec_option', *exec_option_dimension_values)
def get_dataset_from_workload(workload):
# TODO: We need a better way to define the workload -> dataset mapping so we
can
@@ -198,7 +198,7 @@ def load_table_info_dimension(workload_name,
exploration_strategy, file_formats=
continue
vector_values.append(TableFormatInfo(**vals))
- return TestDimension('table_format', *vector_values)
+ return ImpalaTestDimension('table_format', *vector_values)
def is_supported_insert_format(table_format):
# Returns true if the given table_format is a supported Impala INSERT format
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/common/test_vector.py
----------------------------------------------------------------------
diff --git a/tests/common/test_vector.py b/tests/common/test_vector.py
index db6309c..9ae7355 100644
--- a/tests/common/test_vector.py
+++ b/tests/common/test_vector.py
@@ -15,41 +15,43 @@
# specific language governing permissions and limitations
# under the License.
-# A TextMatrix is used to generate a set of TestVectors. The vectors that are
generated
-# are based on one or more TestDimensions inputs. These lists define the set of
-# values that are interesting to a test. For example, for file_format these
might be
-# 'seq', 'text', etc
+# A TextMatrix is used to generate a set of ImpalaTestVectors. The vectors
that are
+# generated are based on one or more ImpalaTestDimensions inputs. These lists
define
+# the set of values that are interesting to a test. For example, for
file_format
+# these might be 'seq', 'text', etc
#
-# The TestMatrix is then used to generate a set of TestVectors. Each
TestVector contains a
-# single value from each of the input TestDimensions. An example:
+# The ImpalaTestMatrix is then used to generate a set of ImpalaTestVectors.
Each
+# ImpalaTestVector contains a single value from each of the input
ImpalaTestDimensions.
+# An example:
#
-# TestMatrix.add_dimension('file_format', 'seq', 'text')
-# TestMatrix.add_dimension('agg_func', 'min', 'max', 'sum')
-# TestMatrix.add_dimension('col_type', 'int', 'bool')
-# test_vectors = TestMatrix.generate_test_vectors(...)
+# ImpalaTestMatrix.add_dimension('file_format', 'seq', 'text')
+# ImpalaTestMatrix.add_dimension('agg_func', 'min', 'max', 'sum')
+# ImpalaTestMatrix.add_dimension('col_type', 'int', 'bool')
+# test_vectors = ImpalaTestMatrix.generate_test_vectors(...)
#
-# Would return a collection of TestVectors, with each one containing a
combination of
-# file_format, agg_func, and col_type:
+# Would return a collection of ImpalaTestVectors, with each one containing a
+# combination of file_format, agg_func, and col_type:
# seq, min, int
# text, max, bool
# ...
#
-# A TestVector is an object itself, and the 'get_value' function is used to
extract the
-# actual value from the TestVector for this particular combination:
+# A ImpalaTestVector is an object itself, and the 'get_value' function is used
to
+# extract the actual value from the ImpalaTestVector for this particular
combination:
# test_vector = test_vectors[0]
# print test_vector.get_value('file_format')
#
-# The combinations of TestVectors generated can be done in two ways: pairwise
and
-# exhaustive. Pairwise provides a way to get good coverage and reduce the
total number
-# of combinations generated where exhaustive will generate all valid
combinations.
+# The combinations of ImpalaTestVectors generated can be done in two ways:
pairwise
+# and exhaustive. Pairwise provides a way to get good coverage and reduce the
total
+# number of combinations generated where exhaustive will generate all valid
+# combinations.
#
-# Finally, the TestMatrix also provides a way to add constraints to the
vectors that
-# are generated. This is useful to filter out invalid combinations. These can
be added
-# before calling 'generate_test_vectors'. The constraint is a function that
-# accepts a TestVector object and returns true if the vector is valid, false
otherwise.
-# For example, if we want to make sure 'bool' columns are not used with 'sum':
+# Finally, the ImpalaTestMatrix also provides a way to add constraints to the
vectors
+# that are generated. This is useful to filter out invalid combinations. These
can
+# be added before calling 'generate_test_vectors'. The constraint is a
function that
+# accepts a ImpalaTestVector object and returns true if the vector is valid,
false
+# otherwise. For example, if we want to make sure 'bool' columns are not used
with 'sum':
#
-# TestMatrix.add_constraint(lambda v:\
+# ImpalaTestMatrix.add_constraint(lambda v:\
# not (v.get_value('col_type') == 'bool and v.get_value('agg_func') ==
'sum'))
#
# Additional examples of usage can be found within the test suites.
@@ -57,15 +59,15 @@
from itertools import product
# A list of test dimension values.
-class TestDimension(list):
+class ImpalaTestDimension(list):
def __init__(self, name, *args):
self.name = name
- self.extend([TestVector.Value(name, arg) for arg in args])
+ self.extend([ImpalaTestVector.Value(name, arg) for arg in args])
-# A test vector that passed to test method. The TestVector can be used to
extract values
-# for the specified dimension(s)
-class TestVector(object):
+# A test vector that passed to test method. The ImpalaTestVector can be used to
+# extract values for the specified dimension(s)
+class ImpalaTestVector(object):
def __init__(self, vector_values):
self.vector_values = vector_values
@@ -89,7 +91,7 @@ class TestVector(object):
# Matrix -> Collection of vectors
# Vector -> Call to get specific values
-class TestMatrix(object):
+class ImpalaTestMatrix(object):
def __init__(self, *args):
self.dimensions = dict((arg.name, arg) for arg in args)
self.constraint_list = list()
@@ -118,8 +120,8 @@ class TestMatrix(object):
raise ValueError, 'Unknown exploration strategy: %s' %
exploration_strategy
def __generate_exhaustive_combinations(self):
- return [TestVector(vec) for vec in
product(*self.__extract_vector_values()) if\
- self.is_valid(vec)]
+ return [ImpalaTestVector(vec) for vec in
product(*self.__extract_vector_values())
+ if self.is_valid(vec)]
def __generate_pairwise_combinations(self):
import metacomm.combinatorics.all_pairs2
@@ -129,7 +131,7 @@ class TestMatrix(object):
# results will be the same.
if len(self.dimensions) == 1:
return self.__generate_exhaustive_combinations()
- return [TestVector(vec) for vec in
all_pairs(self.__extract_vector_values(),
+ return [ImpalaTestVector(vec) for vec in
all_pairs(self.__extract_vector_values(),
filter_func = self.is_valid)]
def add_constraint(self, constraint_func):
@@ -139,15 +141,15 @@ class TestMatrix(object):
self.constraint_list = list()
def __extract_vector_values(self):
- # The data is stored as a tuple of (name, [val1, val2, val3]). So extract
the actual
- # values from this
+ # The data is stored as a tuple of (name, [val1, val2, val3]). So extract
the
+ # actual values from this
return [v[1] for v in self.dimensions.items()]
def is_valid(self, vector):
for constraint in self.constraint_list:
if (isinstance(vector, list) or isinstance(vector, tuple)) and\
len(vector) == len(self.dimensions):
- valid = constraint(TestVector(vector))
+ valid = constraint(ImpalaTestVector(vector))
if valid:
continue
return False
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/conftest.py
----------------------------------------------------------------------
diff --git a/tests/conftest.py b/tests/conftest.py
index 56941c2..44b00ff 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -157,7 +157,7 @@ def pytest_generate_tests(metafunc):
"""
if 'vector' in metafunc.fixturenames:
metafunc.cls.add_test_dimensions()
- vectors = metafunc.cls.TestMatrix.generate_test_vectors(
+ vectors = metafunc.cls.ImpalaTestMatrix.generate_test_vectors(
metafunc.config.option.exploration_strategy)
if len(vectors) == 0:
LOG.warning('No test vectors generated. Check constraints and input
vectors')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/custom_cluster/test_admission_controller.py
----------------------------------------------------------------------
diff --git a/tests/custom_cluster/test_admission_controller.py
b/tests/custom_cluster/test_admission_controller.py
index 3992e3a..bf677d9 100644
--- a/tests/custom_cluster/test_admission_controller.py
+++ b/tests/custom_cluster/test_admission_controller.py
@@ -33,7 +33,7 @@ from tests.common.impala_test_suite import ImpalaTestSuite
from tests.common.test_dimensions import (
create_single_exec_option_dimension,
create_uncompressed_text_dimension)
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
from tests.hs2.hs2_test_suite import HS2TestSuite, needs_session
from ImpalaService import ImpalaHiveServer2Service
from TCLIService import TCLIService
@@ -129,9 +129,10 @@ class TestAdmissionControllerBase(CustomClusterTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestAdmissionControllerBase, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# There's no reason to test this on other file formats/compression codecs
right now
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
class TestAdmissionController(TestAdmissionControllerBase, HS2TestSuite):
def __check_pool_rejected(self, client, pool, expected_error_re):
@@ -343,11 +344,12 @@ class
TestAdmissionControllerStress(TestAdmissionControllerBase):
@classmethod
def add_test_dimensions(cls):
super(TestAdmissionControllerStress, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(TestDimension('num_queries', *NUM_QUERIES))
- cls.TestMatrix.add_dimension(
- TestDimension('round_robin_submission', *ROUND_ROBIN_SUBMISSION))
- cls.TestMatrix.add_dimension(
- TestDimension('submission_delay_ms', *SUBMISSION_DELAY_MS))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('num_queries', *NUM_QUERIES))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('round_robin_submission', *ROUND_ROBIN_SUBMISSION))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('submission_delay_ms', *SUBMISSION_DELAY_MS))
# Additional constraints for code coverage jobs and core.
num_queries = None
@@ -356,12 +358,14 @@ class
TestAdmissionControllerStress(TestAdmissionControllerBase):
num_queries = 15
elif cls.exploration_strategy() == 'core':
num_queries = 30
- cls.TestMatrix.add_constraint(lambda v:
v.get_value('submission_delay_ms') == 0)
- cls.TestMatrix.add_constraint(\
+ cls.ImpalaTestMatrix.add_constraint(
+ lambda v: v.get_value('submission_delay_ms') == 0)
+ cls.ImpalaTestMatrix.add_constraint(\
lambda v: v.get_value('round_robin_submission') == True)
if num_queries is not None:
- cls.TestMatrix.add_constraint(lambda v: v.get_value('num_queries') ==
num_queries)
+ cls.ImpalaTestMatrix.add_constraint(
+ lambda v: v.get_value('num_queries') == num_queries)
def setup(self):
# All threads are stored in this list and it's used just to make sure we
clean up
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/custom_cluster/test_hive_parquet_timestamp_conversion.py
----------------------------------------------------------------------
diff --git a/tests/custom_cluster/test_hive_parquet_timestamp_conversion.py
b/tests/custom_cluster/test_hive_parquet_timestamp_conversion.py
index 731c766..4d7c202 100644
--- a/tests/custom_cluster/test_hive_parquet_timestamp_conversion.py
+++ b/tests/custom_cluster/test_hive_parquet_timestamp_conversion.py
@@ -32,7 +32,7 @@ class
TestHiveParquetTimestampConversion(CustomClusterTestSuite):
@classmethod
def add_test_dimensions(cls):
super(CustomClusterTestSuite, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
v.get_value('table_format').file_format == 'parquet' and
v.get_value('table_format').compression_codec == 'none')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/custom_cluster/test_parquet_max_page_header.py
----------------------------------------------------------------------
diff --git a/tests/custom_cluster/test_parquet_max_page_header.py
b/tests/custom_cluster/test_parquet_max_page_header.py
index 155ac09..b87a10e 100644
--- a/tests/custom_cluster/test_parquet_max_page_header.py
+++ b/tests/custom_cluster/test_parquet_max_page_header.py
@@ -42,7 +42,7 @@ class TestParquetMaxPageHeader(CustomClusterTestSuite):
@classmethod
def add_test_dimensions(cls):
super(CustomClusterTestSuite, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
v.get_value('table_format').file_format == 'parquet' and
v.get_value('table_format').compression_codec == 'none')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/custom_cluster/test_permanent_udfs.py
----------------------------------------------------------------------
diff --git a/tests/custom_cluster/test_permanent_udfs.py
b/tests/custom_cluster/test_permanent_udfs.py
index 0170b8e..ae1c19f 100644
--- a/tests/custom_cluster/test_permanent_udfs.py
+++ b/tests/custom_cluster/test_permanent_udfs.py
@@ -45,7 +45,8 @@ class TestUdfPersistence(CustomClusterTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestUdfPersistence, cls).add_test_dimensions()
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def setup_method(self, method):
super(TestUdfPersistence, self).setup_method(method)
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/custom_cluster/test_spilling.py
----------------------------------------------------------------------
diff --git a/tests/custom_cluster/test_spilling.py
b/tests/custom_cluster/test_spilling.py
index a0c1e62..7f90a8e 100644
--- a/tests/custom_cluster/test_spilling.py
+++ b/tests/custom_cluster/test_spilling.py
@@ -19,7 +19,7 @@ import pytest
from copy import deepcopy
from tests.common.custom_cluster_test_suite import CustomClusterTestSuite
-from tests.common.test_dimensions import (TestDimension,
+from tests.common.test_dimensions import (ImpalaTestDimension,
create_single_exec_option_dimension,
create_parquet_dimension)
@@ -53,15 +53,16 @@ class TestSpillStress(CustomClusterTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestSpillStress, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'text')
# Each client will get a different test id.
# TODO: this test takes extremely long so only run on exhaustive. It would
# be good to configure it so we can run some version on core.
TEST_IDS = xrange(0, 3)
NUM_ITERATIONS = [1]
- cls.TestMatrix.add_dimension(TestDimension('test_id', *TEST_IDS))
- cls.TestMatrix.add_dimension(TestDimension('iterations', *NUM_ITERATIONS))
+ cls.ImpalaTestMatrix.add_dimension(ImpalaTestDimension('test_id',
*TEST_IDS))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('iterations', *NUM_ITERATIONS))
@pytest.mark.stress
def test_spill_stress(self, vector):
@@ -77,9 +78,9 @@ class TestSpilling(CustomClusterTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestSpilling, cls).add_test_dimensions()
- cls.TestMatrix.clear_constraints()
- cls.TestMatrix.add_dimension(create_parquet_dimension('tpch'))
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.clear_constraints()
+ cls.ImpalaTestMatrix.add_dimension(create_parquet_dimension('tpch'))
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# Reduce the IO read size. This reduces the memory required to trigger
spilling.
@pytest.mark.execute_serially
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/data_errors/test_data_errors.py
----------------------------------------------------------------------
diff --git a/tests/data_errors/test_data_errors.py
b/tests/data_errors/test_data_errors.py
index 54c66d3..51add81 100644
--- a/tests/data_errors/test_data_errors.py
+++ b/tests/data_errors/test_data_errors.py
@@ -33,7 +33,7 @@ class TestDataErrors(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestDataErrors, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(
+ cls.ImpalaTestMatrix.add_dimension(
create_exec_option_dimension(batch_sizes=cls.BATCH_SIZES))
@@ -48,7 +48,7 @@ class TestHdfsScanNodeErrors(TestDataErrors):
def add_test_dimensions(cls):
super(TestHdfsScanNodeErrors, cls).add_test_dimensions()
# Only run on delimited text with no compression.
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format != 'hbase' and
v.get_value('table_format').file_format != 'parquet')
@@ -66,7 +66,7 @@ class TestHdfsSeqScanNodeErrors(TestHdfsScanNodeErrors):
@classmethod
def add_test_dimensions(cls):
super(TestHdfsSeqScanNodeErrors, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'seq')
def test_hdfs_seq_scan_node_errors(self, vector):
@@ -79,7 +79,7 @@ class TestHdfsRcFileScanNodeErrors(TestHdfsScanNodeErrors):
@classmethod
def add_test_dimensions(cls):
super(TestHdfsRcFileScanNodeErrors, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'rc')
def test_hdfs_rcfile_scan_node_errors(self, vector):
@@ -91,7 +91,7 @@ class TestAvroErrors(TestDataErrors):
@classmethod
def add_test_dimensions(cls):
super(TestAvroErrors, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
v.get_value('table_format').file_format == 'avro' and
v.get_value('table_format').compression_codec == 'snap')
@@ -105,7 +105,7 @@ class TestHBaseDataErrors(TestDataErrors):
super(TestHBaseDataErrors, cls).add_test_dimensions()
# Only run on hbase.
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'hbase' and\
v.get_value('table_format').compression_codec == 'none')
@@ -133,7 +133,7 @@ class TestTimestampErrors(TestDataErrors):
@classmethod
def add_test_dimensions(cls):
super(TestTimestampErrors, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'text')
def _setup_test_table(self, fq_tbl_name):
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/experiments/test_targeted_perf.py
----------------------------------------------------------------------
diff --git a/tests/experiments/test_targeted_perf.py
b/tests/experiments/test_targeted_perf.py
index 1943a30..1c28fda 100644
--- a/tests/experiments/test_targeted_perf.py
+++ b/tests/experiments/test_targeted_perf.py
@@ -28,9 +28,10 @@ class TestTargetedPerf(ImpalaTestSuite):
return 'targeted-perf'
@classmethod
- def add_test_dimension(cls):
+ def add_test_dimensions(cls):
super(TestTargetedPerf, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:
v.get_value('exec_option')['batch_size'] == 0)
+ cls.ImpalaTestMatrix.add_constraint(
+ lambda v: v.get_value('exec_option')['batch_size'] == 0)
def test_perf_aggregation(self, vector):
self.run_test_case('aggregation', vector)
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/failure/test_failpoints.py
----------------------------------------------------------------------
diff --git a/tests/failure/test_failpoints.py b/tests/failure/test_failpoints.py
index 49a4699..b51950e 100644
--- a/tests/failure/test_failpoints.py
+++ b/tests/failure/test_failpoints.py
@@ -28,7 +28,7 @@ from tests.beeswax.impala_beeswax import
ImpalaBeeswaxException
from tests.common.impala_test_suite import ImpalaTestSuite, LOG
from tests.common.skip import SkipIf, SkipIfS3, SkipIfIsilon, SkipIfLocal
from tests.common.test_dimensions import create_exec_option_dimension
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
FAILPOINT_ACTION = ['FAIL', 'CANCEL', 'MEM_LIMIT_EXCEEDED']
FAILPOINT_LOCATION = ['PREPARE', 'PREPARE_SCANNER', 'OPEN', 'GETNEXT', 'CLOSE']
@@ -89,15 +89,20 @@ class TestFailpoints(ImpalaTestSuite):
if os.getenv("TARGET_FILESYSTEM") in ["s3", "isilon", "local"]: return
node_id_map = TestFailpoints.parse_plan_nodes_from_explain_output(QUERY,
"functional")
assert node_id_map
- cls.TestMatrix.add_dimension(TestDimension('location',
*FAILPOINT_LOCATION))
- cls.TestMatrix.add_dimension(TestDimension('target_node',
*(node_id_map.items())))
- cls.TestMatrix.add_dimension(TestDimension('action', *FAILPOINT_ACTION))
- cls.TestMatrix.add_dimension(TestDimension('query_type', *QUERY_TYPE))
- cls.TestMatrix.add_dimension(create_exec_option_dimension([0], [False],
[0]))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('location', *FAILPOINT_LOCATION))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('target_node', *(node_id_map.items())))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('action', *FAILPOINT_ACTION))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('query_type', *QUERY_TYPE))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_exec_option_dimension([0], [False], [0]))
# These are invalid test cases.
# For more info see IMPALA-55 and IMPALA-56.
- cls.TestMatrix.add_constraint(lambda v: not (
+ cls.ImpalaTestMatrix.add_constraint(lambda v: not (
v.get_value('action') == 'FAIL' and
v.get_value('location') in ['CLOSE'] and
v.get_value('target_node')[0] in ['AGGREGATE', 'HASH JOIN']) and
@@ -106,12 +111,12 @@ class TestFailpoints(ImpalaTestSuite):
# Don't create CLOSE:WAIT debug actions to avoid leaking plan fragments
(there's no
# way to cancel a plan fragment once Close() has been called)
- cls.TestMatrix.add_constraint(
+ cls.ImpalaTestMatrix.add_constraint(
lambda v: not (v.get_value('action') == 'CANCEL'
and v.get_value('location') == 'CLOSE'))
# No need to test error in scanner preparation for non-scan nodes.
- cls.TestMatrix.add_constraint(
+ cls.ImpalaTestMatrix.add_constraint(
lambda v: (v.get_value('location') != 'PREPARE_SCANNER' or
v.get_value('target_node')[0] == 'SCAN HDFS'))
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_compute_stats.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_compute_stats.py
b/tests/metadata/test_compute_stats.py
index 8c71d35..f39fd02 100644
--- a/tests/metadata/test_compute_stats.py
+++ b/tests/metadata/test_compute_stats.py
@@ -34,10 +34,11 @@ class TestComputeStats(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestComputeStats, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# Do not run these tests using all dimensions because the expected results
# are different for different file formats.
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
@SkipIfLocal.hdfs_blocks
def test_compute_stats(self, vector, unique_database):
@@ -127,8 +128,8 @@ class TestHbaseComputeStats(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestHbaseComputeStats, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
- cls.TestMatrix.add_constraint(
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_constraint(
lambda v: v.get_value('table_format').file_format == 'hbase')
@pytest.mark.xfail(pytest.config.option.testing_remote_cluster,
@@ -153,9 +154,10 @@ class TestCorruptTableStats(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestCorruptTableStats, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_exec_option_dimension(
+ cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension(
disable_codegen_options=[False], exec_single_node_option=[100]))
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def test_corrupt_stats(self, vector, unique_database):
"""IMPALA-1983/IMPALA-1657: Test that in the presence of corrupt table
statistics a
@@ -173,8 +175,9 @@ class TestIncompatibleColStats(ImpalaTestSuite):
def add_test_dimensions(cls):
super(TestIncompatibleColStats, cls).add_test_dimensions()
# There is no reason to run these tests using all dimensions.
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def test_incompatible_col_stats(self, vector, unique_database):
"""Tests Impala is able to use tables when the column stats data is not
compatible
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_ddl.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_ddl.py b/tests/metadata/test_ddl.py
index 58f42eb..40c7a99 100644
--- a/tests/metadata/test_ddl.py
+++ b/tests/metadata/test_ddl.py
@@ -408,7 +408,7 @@ class TestLibCache(TestDdlBase):
@classmethod
def add_test_dimensions(cls):
super(TestLibCache, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
def test_create_drop_function(self, vector, unique_database):
"""This will create, run, and drop the same function repeatedly,
exercising the
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_ddl_base.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_ddl_base.py b/tests/metadata/test_ddl_base.py
index b20d897..3044ef0 100644
--- a/tests/metadata/test_ddl_base.py
+++ b/tests/metadata/test_ddl_base.py
@@ -37,14 +37,15 @@ class TestDdlBase(ImpalaTestSuite):
# Only run with sync_ddl on exhaustive since it increases test runtime.
sync_ddl_opts = [0]
- cls.TestMatrix.add_dimension(create_exec_option_dimension(
+ cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension(
cluster_sizes=ALL_NODES_ONLY,
disable_codegen_options=[False],
batch_sizes=[0],
sync_ddl=sync_ddl_opts))
# There is no reason to run these tests using all dimensions.
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
@classmethod
def _use_multiple_impalad(cls, vector):
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_explain.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_explain.py b/tests/metadata/test_explain.py
index 052bf8f..fd5b09a 100644
--- a/tests/metadata/test_explain.py
+++ b/tests/metadata/test_explain.py
@@ -39,7 +39,7 @@ class TestExplain(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestExplain, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'text' and\
v.get_value('table_format').compression_codec == 'none' and\
v.get_value('exec_option')['batch_size'] == 0 and\
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_hdfs_encryption.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_hdfs_encryption.py
b/tests/metadata/test_hdfs_encryption.py
index a257de0..9ace3c4 100644
--- a/tests/metadata/test_hdfs_encryption.py
+++ b/tests/metadata/test_hdfs_encryption.py
@@ -23,7 +23,7 @@ from tests.common.skip import SkipIfS3, SkipIfIsilon,
SkipIfLocal
from tests.common.test_dimensions import (
create_single_exec_option_dimension,
create_uncompressed_text_dimension)
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
from tests.util.shell_util import exec_process
TEST_DB = 'test_encryption_db'
@@ -52,8 +52,9 @@ class TestHdfsEncryption(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestHdfsEncryption, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
PARTITIONED = [True, False]
# For 'core', just test loading from a directory that is encrypted.
@@ -64,10 +65,13 @@ class TestHdfsEncryption(ImpalaTestSuite):
KEY_LOAD_DIR = [None, "testkey1", "testkey2"]
KEY_TBL_DIR = [None, "testkey1", "testkey2"]
- cls.TestMatrix.add_dimension(TestDimension('partitioned', *PARTITIONED))
- cls.TestMatrix.add_dimension(TestDimension('key_load_dir', *KEY_LOAD_DIR))
- cls.TestMatrix.add_dimension(TestDimension('key_tbl_dir', *KEY_TBL_DIR))
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('partitioned', *PARTITIONED))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('key_load_dir', *KEY_LOAD_DIR))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('key_tbl_dir', *KEY_TBL_DIR))
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('key_load_dir') is not None or\
v.get_value('key_tbl_dir') is not None)
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_hdfs_permissions.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_hdfs_permissions.py
b/tests/metadata/test_hdfs_permissions.py
index 993f26c..3c4957e 100644
--- a/tests/metadata/test_hdfs_permissions.py
+++ b/tests/metadata/test_hdfs_permissions.py
@@ -36,8 +36,9 @@ class TestHdfsPermissions(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestHdfsPermissions, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def setup_method(self, method):
self._cleanup()
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_hidden_files.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_hidden_files.py
b/tests/metadata/test_hidden_files.py
index 2360519..a48531a 100644
--- a/tests/metadata/test_hidden_files.py
+++ b/tests/metadata/test_hidden_files.py
@@ -39,11 +39,12 @@ class TestHiddenFiles(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestHiddenFiles, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
# Only run in exhaustive mode on hdfs since this test takes a long time.
if cls.exploration_strategy() != 'exhaustive' and not IS_S3:
- cls.TestMatrix.clear()
+ cls.ImpalaTestMatrix.clear()
def __prepare_test_table(self, db_name, tbl_name):
"""Creates a test table with two partitions, and copies files into the HDFS
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_hms_integration.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_hms_integration.py
b/tests/metadata/test_hms_integration.py
index 23254ac..8dca2f6 100644
--- a/tests/metadata/test_hms_integration.py
+++ b/tests/metadata/test_hms_integration.py
@@ -52,8 +52,8 @@ class TestHmsIntegrationSanity(ImpalaTestSuite):
def add_test_dimensions(cls):
super(TestHmsIntegrationSanity, cls).add_test_dimensions()
# There is no reason to run these tests using all dimensions.
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
- cls.TestMatrix.add_dimension(
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(
create_uncompressed_text_dimension(cls.get_workload()))
@pytest.mark.execute_serially
@@ -103,8 +103,8 @@ class TestHmsIntegration(ImpalaTestSuite):
pytest.skip("Should only run in exhaustive due to long execution time.")
# There is no reason to run these tests using all dimensions.
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
- cls.TestMatrix.add_dimension(
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(
create_uncompressed_text_dimension(cls.get_workload()))
class ImpalaDbWrapper(object):
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_last_ddl_time_update.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_last_ddl_time_update.py
b/tests/metadata/test_last_ddl_time_update.py
index e9fe902..0ec57ee 100644
--- a/tests/metadata/test_last_ddl_time_update.py
+++ b/tests/metadata/test_last_ddl_time_update.py
@@ -32,14 +32,14 @@ class TestLastDdlTimeUpdate(ImpalaTestSuite):
def add_test_dimensions(cls):
super(TestLastDdlTimeUpdate, cls).add_test_dimensions()
# There is no reason to run these tests using all dimensions.
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'text' and\
v.get_value('table_format').compression_codec == 'none')
if cls.exploration_strategy() == 'core' and not IS_S3:
# Don't run on core. This test is very slow and we are unlikely
# to regress here.
- cls.TestMatrix.add_constraint(lambda v: False)
+ cls.ImpalaTestMatrix.add_constraint(lambda v: False)
def test_alter(self, vector, unique_database):
TBL_NAME = "alter_test_tbl"
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_load.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_load.py b/tests/metadata/test_load.py
index 38442bc..5c0a5e5 100644
--- a/tests/metadata/test_load.py
+++ b/tests/metadata/test_load.py
@@ -42,8 +42,9 @@ class TestLoadData(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestLoadData, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def _clean_test_tables(self):
self.client.execute("drop table if exists
functional.{0}".format(TEST_TBL_NOPART))
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_metadata_query_statements.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_metadata_query_statements.py
b/tests/metadata/test_metadata_query_statements.py
index 8e25a2a..cadc209 100644
--- a/tests/metadata/test_metadata_query_statements.py
+++ b/tests/metadata/test_metadata_query_statements.py
@@ -51,12 +51,13 @@ class TestMetadataQueryStatements(ImpalaTestSuite):
# Cut down on test runtime by only running with SYNC_DDL=0
sync_ddl_opts = [0]
- cls.TestMatrix.add_dimension(create_exec_option_dimension(
+ cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension(
cluster_sizes=ALL_NODES_ONLY,
disable_codegen_options=[False],
batch_sizes=[0],
sync_ddl=sync_ddl_opts))
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def test_use(self, vector):
self.run_test_case('QueryTest/use', vector)
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_partition_metadata.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_partition_metadata.py
b/tests/metadata/test_partition_metadata.py
index e5ad0bb..c9f90e1 100644
--- a/tests/metadata/test_partition_metadata.py
+++ b/tests/metadata/test_partition_metadata.py
@@ -31,10 +31,10 @@ class TestPartitionMetadata(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestPartitionMetadata, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# There is no reason to run these tests using all dimensions.
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'text' and\
v.get_value('table_format').compression_codec == 'none')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_recover_partitions.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_recover_partitions.py
b/tests/metadata/test_recover_partitions.py
index 8d21cb0..cb0cf98 100644
--- a/tests/metadata/test_recover_partitions.py
+++ b/tests/metadata/test_recover_partitions.py
@@ -42,14 +42,15 @@ class TestRecoverPartitions(ImpalaTestSuite):
# Only run without sync_ddl on exhaustive since it increases test
runtime.
sync_ddl_opts = [0]
- cls.TestMatrix.add_dimension(create_exec_option_dimension(
+ cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension(
cluster_sizes=ALL_NODES_ONLY,
disable_codegen_options=[False],
batch_sizes=[0],
sync_ddl=sync_ddl_opts))
# There is no reason to run these tests using all dimensions.
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def __get_fs_location(self, db_name, table_name):
return 'test-warehouse/%s.db/%s/' % (db_name, table_name)
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_refresh_partition.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_refresh_partition.py
b/tests/metadata/test_refresh_partition.py
index 92f9a19..2489c81 100644
--- a/tests/metadata/test_refresh_partition.py
+++ b/tests/metadata/test_refresh_partition.py
@@ -39,8 +39,8 @@ class TestRefreshPartition(ImpalaTestSuite):
super(TestRefreshPartition, cls).add_test_dimensions()
# There is no reason to run these tests using all dimensions.
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
- cls.TestMatrix.add_dimension(
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(
create_uncompressed_text_dimension(cls.get_workload()))
def impala_partition_names(self, table_name):
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_set.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_set.py b/tests/metadata/test_set.py
index d39a6c7..a1b3276 100644
--- a/tests/metadata/test_set.py
+++ b/tests/metadata/test_set.py
@@ -31,8 +31,9 @@ class TestSet(ImpalaTestSuite):
def add_test_dimensions(cls):
super(TestSet, cls).add_test_dimensions()
# This test only needs to be run once.
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def test_set(self, vector):
# Please note that query options modified during the test will be reset
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_show_create_table.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_show_create_table.py
b/tests/metadata/test_show_create_table.py
index 19841ad..d0ce87f 100644
--- a/tests/metadata/test_show_create_table.py
+++ b/tests/metadata/test_show_create_table.py
@@ -44,10 +44,11 @@ class TestShowCreateTable(ImpalaTestSuite):
def add_test_dimensions(cls):
super(TestShowCreateTable, cls).add_test_dimensions()
# don't use any exec options, running exactly once is fine
- cls.TestMatrix.clear_dimension('exec_option')
+ cls.ImpalaTestMatrix.clear_dimension('exec_option')
# There is no reason to run these tests using all dimensions.
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
- cls.TestMatrix.add_constraint(
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_constraint(
lambda v: v.get_value('table_format').file_format == 'text' and
v.get_value('table_format').compression_codec == 'none')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_stale_metadata.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_stale_metadata.py
b/tests/metadata/test_stale_metadata.py
index 55d55e9..cd72035 100644
--- a/tests/metadata/test_stale_metadata.py
+++ b/tests/metadata/test_stale_metadata.py
@@ -44,9 +44,9 @@ class TestRewrittenFile(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestRewrittenFile, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# TODO: add more file formats
- cls.TestMatrix.add_constraint(
+ cls.ImpalaTestMatrix.add_constraint(
lambda v: v.get_value('table_format').file_format == 'parquet')
def __overwrite_file_and_query(self, db_name, table_name, old_file, new_file,
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/metadata/test_views_compatibility.py
----------------------------------------------------------------------
diff --git a/tests/metadata/test_views_compatibility.py
b/tests/metadata/test_views_compatibility.py
index 203092f..3fd38f2 100644
--- a/tests/metadata/test_views_compatibility.py
+++ b/tests/metadata/test_views_compatibility.py
@@ -64,9 +64,10 @@ class TestViewCompatibility(ImpalaTestSuite):
pytest.skip("Should only run in exhaustive due to long execution time.")
# don't use any exec options, running exactly once is fine
- cls.TestMatrix.clear_dimension('exec_option')
+ cls.ImpalaTestMatrix.clear_dimension('exec_option')
# There is no reason to run these tests using all dimensions.
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def test_view_compatibility(self, vector, unique_database):
self._run_view_compat_test_case('QueryTest/views-compatibility', vector,
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_aggregation.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_aggregation.py
b/tests/query_test/test_aggregation.py
index 38900e6..a257bc0 100644
--- a/tests/query_test/test_aggregation.py
+++ b/tests/query_test/test_aggregation.py
@@ -32,7 +32,7 @@ from tests.common.test_result_verifier import (
parse_column_labels,
QueryTestResult,
parse_result_rows)
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
# Test dimensions for TestAggregation.
AGG_FUNCTIONS = ['sum', 'count', 'min', 'max', 'avg', 'ndv']
@@ -95,9 +95,9 @@ class TestAggregation(ImpalaTestSuite):
super(TestAggregation, cls).add_test_dimensions()
# Add two more dimensions
- cls.TestMatrix.add_dimension(TestDimension('agg_func', *AGG_FUNCTIONS))
- cls.TestMatrix.add_dimension(TestDimension('data_type', *DATA_TYPES))
- cls.TestMatrix.add_constraint(lambda v: cls.is_valid_vector(v))
+ cls.ImpalaTestMatrix.add_dimension(ImpalaTestDimension('agg_func',
*AGG_FUNCTIONS))
+ cls.ImpalaTestMatrix.add_dimension(ImpalaTestDimension('data_type',
*DATA_TYPES))
+ cls.ImpalaTestMatrix.add_constraint(lambda v: cls.is_valid_vector(v))
@classmethod
def is_valid_vector(cls, vector):
@@ -180,11 +180,12 @@ class TestAggregationQueries(ImpalaTestSuite):
def add_test_dimensions(cls):
super(TestAggregationQueries, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(
+ cls.ImpalaTestMatrix.add_dimension(
create_exec_option_dimension(disable_codegen_options=[False, True]))
if cls.exploration_strategy() == 'core':
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def test_non_codegen_tinyint_grouping(self, vector, unique_database):
# Regression for IMPALA-901. The test includes an INSERT statement, so can
only be run
@@ -280,11 +281,11 @@ class TestWideAggregationQueries(ImpalaTestSuite):
def add_test_dimensions(cls):
super(TestWideAggregationQueries, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(
+ cls.ImpalaTestMatrix.add_dimension(
create_exec_option_dimension(disable_codegen_options=[False, True]))
# File format doesn't matter for this test.
- cls.TestMatrix.add_constraint(
+ cls.ImpalaTestMatrix.add_constraint(
lambda v: v.get_value('table_format').file_format == 'parquet')
def test_many_grouping_columns(self, vector):
@@ -317,7 +318,7 @@ class TestTPCHAggregationQueries(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestTPCHAggregationQueries, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format in ['parquet'])
def test_tpch_aggregations(self, vector):
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_analytic_tpcds.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_analytic_tpcds.py
b/tests/query_test/test_analytic_tpcds.py
index 1fda09f..67224fe 100644
--- a/tests/query_test/test_analytic_tpcds.py
+++ b/tests/query_test/test_analytic_tpcds.py
@@ -18,7 +18,7 @@
# Targeted tests to validate analytic functions use TPCDS dataset.
from tests.common.impala_test_suite import ImpalaTestSuite
-from tests.common.test_dimensions import create_parquet_dimension,
TestDimension
+from tests.common.test_dimensions import create_parquet_dimension,
ImpalaTestDimension
class TestAnalyticTpcds(ImpalaTestSuite):
"""Test class to do functional validation of analytic functions.
@@ -32,14 +32,14 @@ class TestAnalyticTpcds(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestAnalyticTpcds, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_parquet_dimension('tpcds'))
+ cls.ImpalaTestMatrix.add_dimension(create_parquet_dimension('tpcds'))
if cls.exploration_strategy() == 'exhaustive':
batch_size = [1, 3, 10, 100, 0]
else:
batch_size = [0]
- cls.TestMatrix.add_dimension(TestDimension('batch_size', *batch_size))
+ cls.ImpalaTestMatrix.add_dimension(ImpalaTestDimension('batch_size',
*batch_size))
def test_analytic_functions_tpcds(self, vector):
vector.get_value('exec_option')['batch_size'] =
vector.get_value('batch_size')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_avro_schema_resolution.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_avro_schema_resolution.py
b/tests/query_test/test_avro_schema_resolution.py
index b72be5b..4972adb 100644
--- a/tests/query_test/test_avro_schema_resolution.py
+++ b/tests/query_test/test_avro_schema_resolution.py
@@ -27,7 +27,7 @@ class TestAvroSchemaResolution(ImpalaTestSuite):
def add_test_dimensions(cls):
super(TestAvroSchemaResolution, cls).add_test_dimensions()
# avro/snap is the only table format with a schema_resolution_test table
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'avro' and\
v.get_value('table_format').compression_codec == 'snap')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_cancellation.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_cancellation.py
b/tests/query_test/test_cancellation.py
index 3e2e8ba..edb095f 100644
--- a/tests/query_test/test_cancellation.py
+++ b/tests/query_test/test_cancellation.py
@@ -23,7 +23,7 @@ import threading
from random import choice
from time import sleep
from tests.beeswax.impala_beeswax import ImpalaBeeswaxException
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
from tests.common.impala_test_suite import ImpalaTestSuite
from tests.verifiers.metric_verifier import MetricVerifier
@@ -63,28 +63,37 @@ class TestCancellation(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestCancellation, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(TestDimension('query', *QUERIES.keys()))
- cls.TestMatrix.add_dimension(TestDimension('query_type', *QUERY_TYPE))
- cls.TestMatrix.add_dimension(TestDimension('cancel_delay',
*CANCEL_DELAY_IN_SECONDS))
- cls.TestMatrix.add_dimension(TestDimension('action', *DEBUG_ACTIONS))
- cls.TestMatrix.add_dimension(TestDimension('max_block_mgr_memory', 0))
-
- cls.TestMatrix.add_constraint(lambda v: v.get_value('query_type') !=
'CTAS' or (\
- v.get_value('table_format').file_format in ['text', 'parquet', 'kudu']
and\
- v.get_value('table_format').compression_codec == 'none'))
- cls.TestMatrix.add_constraint(lambda v:
v.get_value('exec_option')['batch_size'] == 0)
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('query', *QUERIES.keys()))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('query_type', *QUERY_TYPE))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('cancel_delay', *CANCEL_DELAY_IN_SECONDS))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('action', *DEBUG_ACTIONS))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('max_block_mgr_memory', 0))
+
+ cls.ImpalaTestMatrix.add_constraint(
+ lambda v: v.get_value('query_type') != 'CTAS' or (\
+ v.get_value('table_format').file_format in ['text', 'parquet',
'kudu'] and\
+ v.get_value('table_format').compression_codec == 'none'))
+ cls.ImpalaTestMatrix.add_constraint(
+ lambda v: v.get_value('exec_option')['batch_size'] == 0)
# Ignore 'compute stats' queries for the CTAS query type.
- cls.TestMatrix.add_constraint(lambda v: not (v.get_value('query_type') ==
'CTAS' and
- v.get_value('query').startswith('compute stats')))
+ cls.ImpalaTestMatrix.add_constraint(
+ lambda v: not (v.get_value('query_type') == 'CTAS' and
+ v.get_value('query').startswith('compute stats')))
# Ignore CTAS on Kudu if there is no PRIMARY KEY specified.
- cls.TestMatrix.add_constraint(lambda v: not (v.get_value('query_type') ==
'CTAS' and
- v.get_value('table_format').file_format == 'kudu' and
- QUERIES[v.get_value('query')] is None))
+ cls.ImpalaTestMatrix.add_constraint(
+ lambda v: not (v.get_value('query_type') == 'CTAS' and
+ v.get_value('table_format').file_format == 'kudu' and
+ QUERIES[v.get_value('query')] is None))
# tpch tables are not generated for hbase as the data loading takes a very
long time.
# TODO: Add cancellation tests for hbase.
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format != 'hbase')
if cls.exploration_strategy() != 'core':
NUM_CANCELATION_ITERATIONS = 3
@@ -170,7 +179,7 @@ class TestCancellationParallel(TestCancellation):
@classmethod
def add_test_dimensions(cls):
super(TestCancellationParallel, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v: v.get_value('query_type') !=
'CTAS')
+ cls.ImpalaTestMatrix.add_constraint(lambda v: v.get_value('query_type') !=
'CTAS')
def test_cancel_select(self, vector):
self.execute_cancel_test(vector)
@@ -179,14 +188,14 @@ class TestCancellationSerial(TestCancellation):
@classmethod
def add_test_dimensions(cls):
super(TestCancellationSerial, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v: v.get_value('query_type') ==
'CTAS' or
+ cls.ImpalaTestMatrix.add_constraint(lambda v: v.get_value('query_type') ==
'CTAS' or
v.get_value('query').startswith('compute stats'))
- cls.TestMatrix.add_constraint(lambda v: v.get_value('cancel_delay') != 0)
- cls.TestMatrix.add_constraint(lambda v: v.get_value('action') is None)
+ cls.ImpalaTestMatrix.add_constraint(lambda v: v.get_value('cancel_delay')
!= 0)
+ cls.ImpalaTestMatrix.add_constraint(lambda v: v.get_value('action') is
None)
# Don't run across all cancel delay options unless running in exhaustive
mode
if cls.exploration_strategy() != 'exhaustive':
- cls.TestMatrix.add_constraint(lambda v: v.get_value('cancel_delay') in
[3])
- cls.TestMatrix.add_constraint(lambda v: v.get_value('query') ==\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
v.get_value('cancel_delay') in [3])
+ cls.ImpalaTestMatrix.add_constraint(lambda v: v.get_value('query') ==\
choice(QUERIES.keys()))
@pytest.mark.execute_serially
@@ -203,13 +212,16 @@ class TestCancellationFullSort(TestCancellation):
def add_test_dimensions(cls):
super(TestCancellation, cls).add_test_dimensions()
# Override dimensions to only execute the order-by without limit query.
- cls.TestMatrix.add_dimension(TestDimension('query', SORT_QUERY))
- cls.TestMatrix.add_dimension(TestDimension('query_type', 'SELECT'))
- cls.TestMatrix.add_dimension(TestDimension('cancel_delay',
*SORT_CANCEL_DELAY))
- cls.TestMatrix.add_dimension(TestDimension('max_block_mgr_memory',\
- *SORT_BLOCK_MGR_LIMIT))
- cls.TestMatrix.add_dimension(TestDimension('action', None))
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('query', SORT_QUERY))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('query_type', 'SELECT'))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('cancel_delay', *SORT_CANCEL_DELAY))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('max_block_mgr_memory', *SORT_BLOCK_MGR_LIMIT))
+ cls.ImpalaTestMatrix.add_dimension(ImpalaTestDimension('action', None))
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format =='parquet' and\
v.get_value('table_format').compression_codec == 'none')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_chars.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_chars.py b/tests/query_test/test_chars.py
index ee29279..ec06da8 100644
--- a/tests/query_test/test_chars.py
+++ b/tests/query_test/test_chars.py
@@ -71,9 +71,9 @@ class TestStringQueries(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestStringQueries, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(
+ cls.ImpalaTestMatrix.add_dimension(
create_exec_option_dimension(disable_codegen_options=[False, True]))
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format in ['text'] and
v.get_value('table_format').compression_codec in ['none'])
@@ -117,9 +117,9 @@ class TestCharFormats(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestCharFormats, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(
+ cls.ImpalaTestMatrix.add_dimension(
create_exec_option_dimension(disable_codegen_options=[False, True]))
- cls.TestMatrix.add_constraint(lambda v:
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
(v.get_value('table_format').file_format in ['avro'] and
v.get_value('table_format').compression_codec in ['snap']) or
v.get_value('table_format').file_format in ['parquet'] or
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_compressed_formats.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_compressed_formats.py
b/tests/query_test/test_compressed_formats.py
index 3e754f0..654ea48 100644
--- a/tests/query_test/test_compressed_formats.py
+++ b/tests/query_test/test_compressed_formats.py
@@ -25,7 +25,7 @@ from subprocess import call
from tests.common.impala_test_suite import ImpalaTestSuite
from tests.common.skip import SkipIfS3, SkipIfIsilon, SkipIfLocal
from tests.common.test_dimensions import create_single_exec_option_dimension
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
from tests.util.filesystem_utils import get_fs_path
# (file extension, table suffix) pairs
@@ -55,15 +55,15 @@ class TestCompressedFormats(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestCompressedFormats, cls).add_test_dimensions()
- cls.TestMatrix.clear()
- cls.TestMatrix.add_dimension(\
- TestDimension('file_format', *['rc', 'seq', 'text']))
- cls.TestMatrix.add_dimension(\
- TestDimension('compression_format', *compression_formats))
+ cls.ImpalaTestMatrix.clear()
+ cls.ImpalaTestMatrix.add_dimension(\
+ ImpalaTestDimension('file_format', *['rc', 'seq', 'text']))
+ cls.ImpalaTestMatrix.add_dimension(\
+ ImpalaTestDimension('compression_format', *compression_formats))
if cls.exploration_strategy() == 'core':
# Don't run on core. This test is very slow and we are unlikely
# to regress here.
- cls.TestMatrix.add_constraint(lambda v: False);
+ cls.ImpalaTestMatrix.add_constraint(lambda v: False);
@pytest.mark.execute_serially
def test_compressed_formats(self, vector):
@@ -136,11 +136,11 @@ class TestTableWriters(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestTableWriters, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# This class tests many formats, but doesn't use the contraints
# Each format is tested within one test file, we constrain to text/none
# as each test file only needs to be run once.
- cls.TestMatrix.add_constraint(lambda v:
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
(v.get_value('table_format').file_format =='text' and
v.get_value('table_format').compression_codec == 'none'))
@@ -189,7 +189,7 @@ class TestLargeCompressedFile(ImpalaTestSuite):
if cls.exploration_strategy() != 'exhaustive':
pytest.skip("skipping if it's not exhaustive test.")
- cls.TestMatrix.add_constraint(lambda v:
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
(v.get_value('table_format').file_format =='text' and
v.get_value('table_format').compression_codec == 'snap'))
@@ -267,9 +267,9 @@ class TestBzip2Streaming(ImpalaTestSuite):
if cls.exploration_strategy() != 'exhaustive':
pytest.skip("skipping if it's not exhaustive test.")
- cls.TestMatrix.add_dimension(
- TestDimension('max_scan_range_length', *cls.MAX_SCAN_RANGE_LENGTHS))
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('max_scan_range_length',
*cls.MAX_SCAN_RANGE_LENGTHS))
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'text' and\
v.get_value('table_format').compression_codec == 'bzip')
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_decimal_casting.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_decimal_casting.py
b/tests/query_test/test_decimal_casting.py
index 69a9555..b23e790 100644
--- a/tests/query_test/test_decimal_casting.py
+++ b/tests/query_test/test_decimal_casting.py
@@ -23,7 +23,7 @@ from metacomm.combinatorics.all_pairs2 import all_pairs2 as
all_pairs
from random import randint
from tests.common.impala_test_suite import ImpalaTestSuite
-from tests.common.test_vector import TestDimension, TestMatrix
+from tests.common.test_vector import ImpalaTestDimension, ImpalaTestMatrix
class TestDecimalCasting(ImpalaTestSuite):
"""Test Suite to verify that casting to Decimal works.
@@ -55,11 +55,11 @@ class TestDecimalCasting(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
- cls.TestMatrix = TestMatrix()
- cls.TestMatrix.add_dimension(TestDimension('decimal_type',
+ cls.ImpalaTestMatrix = ImpalaTestMatrix()
+ cls.ImpalaTestMatrix.add_dimension(ImpalaTestDimension('decimal_type',
*TestDecimalCasting.DECIMAL_TYPES_MAP[cls.exploration_strategy()]))
- cls.TestMatrix.add_dimension(
- TestDimension('cast_from', *TestDecimalCasting.CAST_FROM))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('cast_from', *TestDecimalCasting.CAST_FROM))
cls.iterations = 1
def setup_method(self, method):
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_decimal_queries.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_decimal_queries.py
b/tests/query_test/test_decimal_queries.py
index f95d940..80caf56 100644
--- a/tests/query_test/test_decimal_queries.py
+++ b/tests/query_test/test_decimal_queries.py
@@ -20,7 +20,7 @@
from copy import copy
from tests.common.impala_test_suite import ImpalaTestSuite
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
class TestDecimalQueries(ImpalaTestSuite):
BATCH_SIZES = [0, 1]
@@ -32,13 +32,13 @@ class TestDecimalQueries(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestDecimalQueries, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(
- TestDimension('batch_size', *TestDecimalQueries.BATCH_SIZES))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('batch_size', *TestDecimalQueries.BATCH_SIZES))
# Hive < 0.11 does not support decimal so we can't run these tests against
the other
# file formats.
# TODO: Enable them on Hive >= 0.11.
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
(v.get_value('table_format').file_format == 'text' and
v.get_value('table_format').compression_codec == 'none') or
v.get_value('table_format').file_format == 'parquet')
@@ -58,7 +58,7 @@ class TestAvroDecimalQueries(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestAvroDecimalQueries, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:
+ cls.ImpalaTestMatrix.add_constraint(lambda v:
(v.get_value('table_format').file_format == 'avro' and
v.get_value('table_format').compression_codec == 'snap'))
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_delimited_text.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_delimited_text.py
b/tests/query_test/test_delimited_text.py
index 7c6679f..779397c 100644
--- a/tests/query_test/test_delimited_text.py
+++ b/tests/query_test/test_delimited_text.py
@@ -37,9 +37,10 @@ class TestDelimitedText(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestDelimitedText, cls).add_test_dimensions()
- cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
+ cls.ImpalaTestMatrix.add_dimension(create_single_exec_option_dimension())
# Only run on delimited text with no compression.
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def test_delimited_text(self, vector, unique_database):
self.run_test_case('QueryTest/delimited-text', vector, unique_database)
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_errorlog.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_errorlog.py
b/tests/query_test/test_errorlog.py
index bbb82c5..0580764 100644
--- a/tests/query_test/test_errorlog.py
+++ b/tests/query_test/test_errorlog.py
@@ -33,9 +33,9 @@ class TestErrorLogs(ImpalaTestSuite):
@classmethod
def add_test_dimensions(cls):
super(TestErrorLogs, cls).add_test_dimensions()
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'text')
- cls.TestMatrix.add_dimension(create_exec_option_dimension(
+ cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension(
cluster_sizes=[0], disable_codegen_options=[False], batch_sizes=[0]))
def test_errorlog(self, vector):
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/f590bc0d/tests/query_test/test_exprs.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_exprs.py b/tests/query_test/test_exprs.py
index 3a9beb3..a52b2a9 100644
--- a/tests/query_test/test_exprs.py
+++ b/tests/query_test/test_exprs.py
@@ -20,7 +20,7 @@ import pytest
from tests.common.impala_test_suite import ImpalaTestSuite
from tests.common.test_dimensions import create_exec_option_dimension
from tests.common.test_dimensions import create_uncompressed_text_dimension
-from tests.common.test_vector import TestDimension
+from tests.common.test_vector import ImpalaTestDimension
from tests.util.test_file_parser import QueryTestSectionReader
class TestExprs(ImpalaTestSuite):
@@ -33,10 +33,11 @@ class TestExprs(ImpalaTestSuite):
super(TestExprs, cls).add_test_dimensions()
# Test with and without expr rewrites to cover regular expr evaluations
# as well as constant folding, in particular, timestamp literals.
- cls.TestMatrix.add_dimension(TestDimension('enable_expr_rewrites', *[0,1]))
+ cls.ImpalaTestMatrix.add_dimension(
+ ImpalaTestDimension('enable_expr_rewrites', *[0,1]))
if cls.exploration_strategy() == 'core':
# Test with file format that supports codegen
- cls.TestMatrix.add_constraint(lambda v:\
+ cls.ImpalaTestMatrix.add_constraint(lambda v:\
v.get_value('table_format').file_format == 'text' and\
v.get_value('table_format').compression_codec == 'none')
@@ -81,12 +82,13 @@ class TestExprLimits(ImpalaTestSuite):
if cls.exploration_strategy() != 'exhaustive':
# Ensure the test runs with codegen enabled and disabled, even when the
# exploration strategy is not exhaustive.
- cls.TestMatrix.clear_dimension('exec_option')
- cls.TestMatrix.add_dimension(create_exec_option_dimension(
+ cls.ImpalaTestMatrix.clear_dimension('exec_option')
+ cls.ImpalaTestMatrix.add_dimension(create_exec_option_dimension(
cluster_sizes=[0], disable_codegen_options=[False, True],
batch_sizes=[0]))
# There is no reason to run these tests using all dimensions.
-
cls.TestMatrix.add_dimension(create_uncompressed_text_dimension(cls.get_workload()))
+ cls.ImpalaTestMatrix.add_dimension(
+ create_uncompressed_text_dimension(cls.get_workload()))
def test_expr_child_limit(self, vector):
# IN predicate