Skip to content

Commit 04589d4

Browse files
authored
Fixing some sporadically failing tests - part 1 (redis#3589)
1 parent f13456b commit 04589d4

File tree

5 files changed

+46
-24
lines changed

5 files changed

+46
-24
lines changed

docker-compose.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
22
x-client-libs-stack-image: &client-libs-stack-image
3-
image: "redislabs/client-libs-test:${CLIENT_LIBS_TEST_STACK_IMAGE_TAG:-8.0-M06-pre}"
3+
image: "redislabs/client-libs-test:${CLIENT_LIBS_TEST_STACK_IMAGE_TAG:-7.4.2}"
44

55
x-client-libs-image: &client-libs-image
6-
image: "redislabs/client-libs-test:${CLIENT_LIBS_TEST_IMAGE_TAG:-8.0-M06-pre}"
6+
image: "redislabs/client-libs-test:${CLIENT_LIBS_TEST_IMAGE_TAG:-7.4.2}"
77

88
services:
99

redis/_parsers/resp3.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def __init__(self, socket_read_size):
1919

2020
def handle_pubsub_push_response(self, response):
2121
logger = getLogger("push_response")
22-
logger.info("Push response: " + str(response))
22+
logger.debug("Push response: " + str(response))
2323
return response
2424

2525
def read_response(self, disable_decoding=False, push_request=False):
@@ -150,7 +150,7 @@ def __init__(self, socket_read_size):
150150

151151
async def handle_pubsub_push_response(self, response):
152152
logger = getLogger("push_response")
153-
logger.info("Push response: " + str(response))
153+
logger.debug("Push response: " + str(response))
154154
return response
155155

156156
async def read_response(

tests/test_asyncio/test_lock.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,15 @@ async def test_context_manager_not_raise_on_release_lock_error(self, r):
149149
async with self.get_lock(
150150
r, "foo", timeout=0.1, raise_on_release_error=False
151151
) as lock:
152-
lock.release()
152+
await lock.release()
153153
except LockError:
154154
pytest.fail("LockError should not have been raised")
155155

156156
with pytest.raises(LockError):
157157
async with self.get_lock(
158158
r, "foo", timeout=0.1, raise_on_release_error=True
159159
) as lock:
160-
lock.release()
160+
await lock.release()
161161

162162
async def test_high_sleep_small_blocking_timeout(self, r):
163163
lock1 = self.get_lock(r, "foo")

tests/test_asyncio/test_vsets.py

+19-8
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ async def test_vsim_unexisting(d_client):
309309

310310
@skip_if_server_version_lt("7.9.0")
311311
async def test_vsim_with_filter(d_client):
312-
elements_count = 30
312+
elements_count = 50
313313
vector_dim = 800
314314
for i in range(elements_count):
315315
float_array = [random.uniform(0, 10) for x in range(vector_dim)]
@@ -321,6 +321,15 @@ async def test_vsim_with_filter(d_client):
321321
numlinks=4,
322322
attributes=attributes,
323323
)
324+
float_array = [-random.uniform(10, 20) for x in range(vector_dim)]
325+
attributes = {"index": elements_count, "elem_name": "elem_special"}
326+
await d_client.vset().vadd(
327+
"myset",
328+
float_array,
329+
"elem_special",
330+
numlinks=4,
331+
attributes=attributes,
332+
)
324333
sim = await d_client.vset().vsim("myset", input="elem_1", filter=".index > 10")
325334
assert len(sim) == 10
326335
assert isinstance(sim, list)
@@ -348,17 +357,19 @@ async def test_vsim_with_filter(d_client):
348357
sim = await d_client.vset().vsim(
349358
"myset",
350359
input="elem_1",
351-
filter=".index > 28 and .elem_name in ['elem_12', 'elem_17', 'elem_29']",
360+
filter=".index > 28 and .elem_name in ['elem_12', 'elem_17', 'elem_special']",
352361
filter_ef=1,
353362
)
354-
assert len(sim) == 0
363+
assert len(sim) == 0, (
364+
f"Expected 0 results, but got {len(sim)} with filter_ef=1, sim: {sim}"
365+
)
355366
assert isinstance(sim, list)
356367

357368
sim = await d_client.vset().vsim(
358369
"myset",
359370
input="elem_1",
360-
filter=".index > 28 and .elem_name in ['elem_12', 'elem_17', 'elem_29']",
361-
filter_ef=20,
371+
filter=".index > 28 and .elem_name in ['elem_12', 'elem_17', 'elem_special']",
372+
filter_ef=500,
362373
)
363374
assert len(sim) == 1
364375
assert isinstance(sim, list)
@@ -367,7 +378,7 @@ async def test_vsim_with_filter(d_client):
367378
@skip_if_server_version_lt("7.9.0")
368379
async def test_vsim_truth_no_thread_enabled(d_client):
369380
elements_count = 5000
370-
vector_dim = 30
381+
vector_dim = 50
371382
for i in range(1, elements_count + 1):
372383
float_array = [random.uniform(10 * i, 1000 * i) for x in range(vector_dim)]
373384
await d_client.vset().vadd("myset", float_array, f"elem_{i}")
@@ -394,7 +405,7 @@ async def test_vsim_truth_no_thread_enabled(d_client):
394405
)
395406

396407
found_better_match = False
397-
for index, (score_with_truth, score_without_truth) in enumerate(results_scores):
408+
for score_with_truth, score_without_truth in results_scores:
398409
if score_with_truth < score_without_truth:
399410
assert False, (
400411
"Score with truth [{score_with_truth}] < score without truth [{score_without_truth}]"
@@ -764,7 +775,7 @@ async def test_vset_commands_without_decoding_responces(client):
764775
# test vadd
765776
elements = ["elem1", "elem2", "elem3"]
766777
for elem in elements:
767-
float_array = [random.uniform(0, 10) for x in range(0, 8)]
778+
float_array = [random.uniform(0.5, 10) for x in range(0, 8)]
768779
resp = await client.vset().vadd("myset", float_array, element=elem)
769780
assert resp == 1
770781

tests/test_vsets.py

+21-10
Original file line numberDiff line numberDiff line change
@@ -311,10 +311,10 @@ def test_vsim_unexisting(d_client):
311311

312312
@skip_if_server_version_lt("7.9.0")
313313
def test_vsim_with_filter(d_client):
314-
elements_count = 30
314+
elements_count = 50
315315
vector_dim = 800
316316
for i in range(elements_count):
317-
float_array = [random.uniform(0, 10) for x in range(vector_dim)]
317+
float_array = [random.uniform(10, 20) for x in range(vector_dim)]
318318
attributes = {"index": i, "elem_name": f"elem_{i}"}
319319
d_client.vset().vadd(
320320
"myset",
@@ -323,6 +323,15 @@ def test_vsim_with_filter(d_client):
323323
numlinks=4,
324324
attributes=attributes,
325325
)
326+
float_array = [-random.uniform(10, 20) for x in range(vector_dim)]
327+
attributes = {"index": elements_count, "elem_name": "elem_special"}
328+
d_client.vset().vadd(
329+
"myset",
330+
float_array,
331+
"elem_special",
332+
numlinks=4,
333+
attributes=attributes,
334+
)
326335
sim = d_client.vset().vsim("myset", input="elem_1", filter=".index > 10")
327336
assert len(sim) == 10
328337
assert isinstance(sim, list)
@@ -350,17 +359,19 @@ def test_vsim_with_filter(d_client):
350359
sim = d_client.vset().vsim(
351360
"myset",
352361
input="elem_1",
353-
filter=".index > 28 and .elem_name in ['elem_12', 'elem_17', 'elem_29']",
362+
filter=".index > 28 and .elem_name in ['elem_12', 'elem_17', 'elem_special']",
354363
filter_ef=1,
355364
)
356-
assert len(sim) == 0
365+
assert len(sim) == 0, (
366+
f"Expected 0 results, but got {len(sim)} with filter_ef=1, sim: {sim}"
367+
)
357368
assert isinstance(sim, list)
358369

359370
sim = d_client.vset().vsim(
360371
"myset",
361372
input="elem_1",
362-
filter=".index > 28 and .elem_name in ['elem_12', 'elem_17', 'elem_29']",
363-
filter_ef=20,
373+
filter=".index > 28 and .elem_name in ['elem_12', 'elem_17', 'elem_special']",
374+
filter_ef=500,
364375
)
365376
assert len(sim) == 1
366377
assert isinstance(sim, list)
@@ -369,7 +380,7 @@ def test_vsim_with_filter(d_client):
369380
@skip_if_server_version_lt("7.9.0")
370381
def test_vsim_truth_no_thread_enabled(d_client):
371382
elements_count = 5000
372-
vector_dim = 30
383+
vector_dim = 50
373384
for i in range(1, elements_count + 1):
374385
float_array = [random.uniform(10 * i, 1000 * i) for x in range(vector_dim)]
375386
d_client.vset().vadd("myset", float_array, f"elem_{i}")
@@ -396,7 +407,7 @@ def test_vsim_truth_no_thread_enabled(d_client):
396407
)
397408

398409
found_better_match = False
399-
for index, (score_with_truth, score_without_truth) in enumerate(results_scores):
410+
for score_with_truth, score_without_truth in results_scores:
400411
if score_with_truth < score_without_truth:
401412
assert False, (
402413
"Score with truth [{score_with_truth}] < score without truth [{score_without_truth}]"
@@ -764,15 +775,15 @@ def test_vset_commands_without_decoding_responces(client):
764775
# test vadd
765776
elements = ["elem1", "elem2", "elem3"]
766777
for elem in elements:
767-
float_array = [random.uniform(0, 10) for x in range(0, 8)]
778+
float_array = [random.uniform(0.5, 10) for x in range(0, 8)]
768779
resp = client.vset().vadd("myset", float_array, element=elem)
769780
assert resp == 1
770781

771782
# test vemb
772783
emb = client.vset().vemb("myset", "elem1")
773784
assert len(emb) == 8
774785
assert isinstance(emb, list)
775-
assert all(isinstance(x, float) for x in emb)
786+
assert all(isinstance(x, float) for x in emb), f"Expected float values, got {emb}"
776787

777788
emb_raw = client.vset().vemb("myset", "elem1", raw=True)
778789
assert emb_raw["quantization"] == b"int8"

0 commit comments

Comments
 (0)