fix the assert per empty results

Signed-off-by: Gal Salomon <gal.salomon@gmail.com>
(cherry picked from commit 9444c29674)
This commit is contained in:
Gal Salomon 2024-08-19 16:00:16 +03:00 committed by galsalomon66
parent d776898f61
commit 0802a6f1f8

View file

@ -7,6 +7,8 @@ from botocore.exceptions import ClientError
from botocore.exceptions import EventStreamError
import uuid
import warnings
import traceback
from . import (
configfile,
@ -96,6 +98,7 @@ def test_generate_where_clause():
for _ in range(100):
generate_s3select_where_clause(bucket_name,obj_name)
@pytest.mark.s3select
def test_generate_projection():
@ -112,9 +115,23 @@ def s3select_assert_result(a,b):
if type(a) == str:
a_strip = a.strip()
b_strip = b.strip()
if a=="" and b=="":
warnings.warn(UserWarning("{}".format("both results are empty, it may indicates a wrong input, please check the test input")))
## print the calling function that created the empty result.
stack = traceback.extract_stack(limit=2)
formatted_stack = traceback.format_list(stack)[0]
warnings.warn(UserWarning("{}".format(formatted_stack)))
return a==b
assert a_strip != ""
assert b_strip != ""
else:
if a=="" and b=="":
warnings.warn(UserWarning("{}".format("both results are empty, it may indicates a wrong input, please check the test input")))
## print the calling function that created the empty result.
stack = traceback.extract_stack(limit=2)
formatted_stack = traceback.format_list(stack)[0]
warnings.warn(UserWarning("{}".format(formatted_stack)))
return a==b
assert a != ""
assert b != ""
assert a == b
@ -806,6 +823,9 @@ def test_true_false_in_expressions():
csv_obj_name = get_random_string()
bucket_name = get_new_bucket_name()
## 1,2 must exist in first/second column (to avoid empty results)
csv_obj = csv_obj + "1,2,,,,,,,,,,\n"
upload_object(bucket_name,csv_obj_name,csv_obj)
res_s3select_in = remove_xml_tags_from_result( run_s3select(bucket_name,csv_obj_name,'select int(_1) from s3object where (int(_1) in(1)) = true;')).replace("\n","")