提交 4613ed3a 编写于 作者: J Jin Hai 提交者: GitHub

Merge pull request #95 from del-zhenwu/0.5.1

Update tests timeout

Former-commit-id: 73420f4ed466c19a3ec6bd8bf3449393bb22426f
timeout(time: 30, unit: 'MINUTES') {
timeout(time: 60, unit: 'MINUTES') {
dir ("tests/milvus_python_test") {
sh 'python3 -m pip install -r requirements.txt'
sh "pytest . --alluredir=\"test_out/dev/single/sqlite\" --level=1 --ip ${env.PIPELINE_NAME}-${env.BUILD_NUMBER}-single-gpu-milvus-gpu-engine.milvus.svc.cluster.local"
......
......@@ -36,7 +36,7 @@ class TestIndexBase:
scope="function",
params=gen_simple_index_params()
)
def get_simple_index_params(self, request):
def get_simple_index_params(self, request, args):
if "internal" not in args:
if request.param["index_type"] == IndexType.IVF_SQ8H:
pytest.skip("sq8h not support in open source")
......@@ -68,8 +68,10 @@ class TestIndexBase:
method: create table and add vectors in it, check if added successfully
expected: raise exception
'''
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
with pytest.raises(Exception) as e:
status = dis_connect.create_index(table, random.choice(gen_index_params()))
status = dis_connect.create_index(table, index_param)
@pytest.mark.timeout(BUILD_TIMEOUT)
def test_create_index_search_with_query_vectors(self, connect, table, get_index_params):
......@@ -182,12 +184,14 @@ class TestIndexBase:
def test_create_index_table_not_existed(self, connect):
'''
target: test create index interface when table name not existed
method: create table and add vectors in it, create index with an random table_name
method: create table and add vectors in it, create index
, make sure the table name not in index
expected: return code not equals to 0, create index failed
'''
table_name = gen_unique_str(self.__class__.__name__)
status = connect.create_index(table_name, random.choice(gen_index_params()))
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
status = connect.create_index(table_name, index_param)
assert not status.OK()
def test_create_index_table_None(self, connect):
......@@ -197,8 +201,10 @@ class TestIndexBase:
expected: return code not equals to 0, create index failed
'''
table_name = None
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
with pytest.raises(Exception) as e:
status = connect.create_index(table_name, random.choice(gen_index_params()))
status = connect.create_index(table_name, index_param)
def test_create_index_no_vectors(self, connect, table):
'''
......@@ -206,7 +212,9 @@ class TestIndexBase:
method: create table and add no vectors in it, and then create index
expected: return code equals to 0
'''
status = connect.create_index(table, random.choice(gen_index_params()))
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
status = connect.create_index(table, index_param)
assert status.OK()
@pytest.mark.timeout(BUILD_TIMEOUT)
......@@ -216,7 +224,9 @@ class TestIndexBase:
method: create table and add no vectors in it, and then create index, add vectors in it
expected: return code equals to 0
'''
status = connect.create_index(table, random.choice(gen_index_params()))
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
status = connect.create_index(table, index_param)
status, ids = connect.add_vectors(table, vectors)
assert status.OK()
......@@ -227,11 +237,12 @@ class TestIndexBase:
method: create index after index have been built
expected: return code success, and search ok
'''
nlist = 16384
status, ids = connect.add_vectors(table, vectors)
index_params = random.choice(gen_index_params())
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
# index_params = get_index_params
status = connect.create_index(table, index_params)
status = connect.create_index(table, index_params)
status = connect.create_index(table, index_param)
status = connect.create_index(table, index_param)
assert status.OK()
query_vec = [vectors[0]]
top_k = 1
......@@ -246,16 +257,19 @@ class TestIndexBase:
method: create another index with different index_params after index have been built
expected: return code 0, and describe index result equals with the second index params
'''
nlist = 16384
status, ids = connect.add_vectors(table, vectors)
index_params = random.sample(gen_index_params(), 2)
index_type_1 = IndexType.IVF_SQ8
index_type_2 = IndexType.IVFLAT
index_params = [{"index_type": index_type_1, "nlist": nlist}, {"index_type": index_type_2, "nlist": nlist}]
logging.getLogger().info(index_params)
status = connect.create_index(table, index_params[0])
status = connect.create_index(table, index_params[1])
assert status.OK()
for index_param in index_params:
status = connect.create_index(table, index_param)
assert status.OK()
status, result = connect.describe_index(table)
assert result._nlist == index_params[1]["nlist"]
assert result._nlist == nlist
assert result._table_name == table
assert result._index_type == index_params[1]["index_type"]
assert result._index_type == index_type_2
"""
******************************************************************
......@@ -331,7 +345,7 @@ class TestIndexBase:
def test_describe_index_table_not_existed(self, connect):
'''
target: test describe index interface when table name not existed
method: create table and add vectors in it, create index with an random table_name
method: create table and add vectors in it, create index
, make sure the table name not in index
expected: return code not equals to 0, describe index failed
'''
......@@ -352,7 +366,7 @@ class TestIndexBase:
def test_describe_index_not_create(self, connect, table):
'''
target: test describe index interface when index not created
method: create table and add vectors in it, create index with an random table_name
method: create table and add vectors in it, create index
, make sure the table name not in index
expected: return code not equals to 0, describe index failed
'''
......@@ -425,7 +439,7 @@ class TestIndexBase:
def test_drop_index_table_not_existed(self, connect):
'''
target: test drop index interface when table name not existed
method: create table and add vectors in it, create index with an random table_name
method: create table and add vectors in it, create index
, make sure the table name not in index, and then drop it
expected: return code not equals to 0, drop index failed
'''
......@@ -449,8 +463,8 @@ class TestIndexBase:
method: create table and add vectors in it, create index
expected: return code not equals to 0, drop index failed
'''
index_params = random.choice(gen_index_params())
logging.getLogger().info(index_params)
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
status, ids = connect.add_vectors(table, vectors)
status, result = connect.describe_index(table)
logging.getLogger().info(result)
......@@ -486,7 +500,8 @@ class TestIndexBase:
method: create index, drop index, four times, each tme use different index_params to create index
expected: return code 0
'''
index_params = random.sample(gen_index_params(), 2)
nlist = 16384
index_params = [{"index_type": IndexType.IVFLAT, "nlist": nlist}, {"index_type": IndexType.IVF_SQ8, "nlist": nlist}]
status, ids = connect.add_vectors(table, vectors)
for i in range(2):
status = connect.create_index(table, index_params[i])
......@@ -517,7 +532,7 @@ class TestIndexIP:
scope="function",
params=gen_simple_index_params()
)
def get_simple_index_params(self, request):
def get_simple_index_params(self, request, args):
if "internal" not in args:
if request.param["index_type"] == IndexType.IVF_SQ8H:
pytest.skip("sq8h not support in open source")
......@@ -549,8 +564,10 @@ class TestIndexIP:
method: create table and add vectors in it, check if added successfully
expected: raise exception
'''
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
with pytest.raises(Exception) as e:
status = dis_connect.create_index(ip_table, random.choice(gen_index_params()))
status = dis_connect.create_index(ip_table, index_param)
@pytest.mark.timeout(BUILD_TIMEOUT)
def test_create_index_search_with_query_vectors(self, connect, ip_table, get_index_params):
......@@ -665,7 +682,9 @@ class TestIndexIP:
method: create table and add no vectors in it, and then create index
expected: return code equals to 0
'''
status = connect.create_index(ip_table, random.choice(gen_index_params()))
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
status = connect.create_index(ip_table, index_param)
assert status.OK()
@pytest.mark.timeout(BUILD_TIMEOUT)
......@@ -675,7 +694,9 @@ class TestIndexIP:
method: create table and add no vectors in it, and then create index, add vectors in it
expected: return code equals to 0
'''
status = connect.create_index(ip_table, random.choice(gen_index_params()))
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
status = connect.create_index(ip_table, index_param)
status, ids = connect.add_vectors(ip_table, vectors)
assert status.OK()
......@@ -686,11 +707,11 @@ class TestIndexIP:
method: create index after index have been built
expected: return code success, and search ok
'''
nlist = 16384
status, ids = connect.add_vectors(ip_table, vectors)
index_params = random.choice(gen_index_params())
# index_params = get_index_params
status = connect.create_index(ip_table, index_params)
status = connect.create_index(ip_table, index_params)
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
status = connect.create_index(ip_table, index_param)
status = connect.create_index(ip_table, index_param)
assert status.OK()
query_vec = [vectors[0]]
top_k = 1
......@@ -705,16 +726,19 @@ class TestIndexIP:
method: create another index with different index_params after index have been built
expected: return code 0, and describe index result equals with the second index params
'''
nlist = 16384
status, ids = connect.add_vectors(ip_table, vectors)
index_params = random.sample(gen_index_params(), 2)
index_type_1 = IndexType.IVF_SQ8
index_type_2 = IndexType.IVFLAT
index_params = [{"index_type": index_type_1, "nlist": nlist}, {"index_type": index_type_2, "nlist": nlist}]
logging.getLogger().info(index_params)
status = connect.create_index(ip_table, index_params[0])
status = connect.create_index(ip_table, index_params[1])
assert status.OK()
for index_param in index_params:
status = connect.create_index(ip_table, index_param)
assert status.OK()
status, result = connect.describe_index(ip_table)
assert result._nlist == index_params[1]["nlist"]
assert result._nlist == nlist
assert result._table_name == ip_table
assert result._index_type == index_params[1]["index_type"]
assert result._index_type == index_type_2
"""
******************************************************************
......@@ -790,7 +814,7 @@ class TestIndexIP:
def test_describe_index_not_create(self, connect, ip_table):
'''
target: test describe index interface when index not created
method: create table and add vectors in it, create index with an random table_name
method: create table and add vectors in it, create index
, make sure the table name not in index
expected: return code not equals to 0, describe index failed
'''
......@@ -857,8 +881,10 @@ class TestIndexIP:
method: drop index, and check if drop successfully
expected: raise exception
'''
nlist = 16384
index_param = {"index_type": IndexType.IVFLAT, "nlist": nlist}
with pytest.raises(Exception) as e:
status = dis_connect.drop_index(ip_table, random.choice(gen_index_params()))
status = dis_connect.drop_index(ip_table, index_param)
def test_drop_index_table_not_create(self, connect, ip_table):
'''
......@@ -866,8 +892,9 @@ class TestIndexIP:
method: create table and add vectors in it, create index
expected: return code not equals to 0, drop index failed
'''
index_params = random.choice(gen_index_params())
logging.getLogger().info(index_params)
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
logging.getLogger().info(index_param)
status, ids = connect.add_vectors(ip_table, vectors)
status, result = connect.describe_index(ip_table)
logging.getLogger().info(result)
......@@ -903,7 +930,8 @@ class TestIndexIP:
method: create index, drop index, four times, each tme use different index_params to create index
expected: return code 0
'''
index_params = random.sample(gen_index_params(), 2)
nlist = 16384
index_params = [{"index_type": IndexType.IVFLAT, "nlist": nlist}, {"index_type": IndexType.IVF_SQ8, "nlist": nlist}]
status, ids = connect.add_vectors(ip_table, vectors)
for i in range(2):
status = connect.create_index(ip_table, index_params[i])
......@@ -937,7 +965,9 @@ class TestIndexTableInvalid(object):
@pytest.mark.level(2)
def test_create_index_with_invalid_tablename(self, connect, get_table_name):
table_name = get_table_name
status = connect.create_index(table_name, random.choice(gen_index_params()))
nlist = 16384
index_param = {"index_type": IndexType.IVF_SQ8, "nlist": nlist}
status = connect.create_index(table_name, index_param)
assert not status.OK()
@pytest.mark.level(2)
......
......@@ -656,6 +656,7 @@ class TestTableInvalid(object):
def get_table_name(self, request):
yield request.param
@pytest.mark.level(2)
def test_create_table_with_invalid_tablename(self, connect, get_table_name):
table_name = get_table_name
param = {'table_name': table_name,
......@@ -691,6 +692,7 @@ class TestCreateTableDimInvalid(object):
def get_dim(self, request):
yield request.param
@pytest.mark.level(2)
@pytest.mark.timeout(5)
def test_create_table_with_invalid_dimension(self, connect, get_dim):
dimension = get_dim
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册