2 @message |
firebird.qa.plugin.ExecutionError: ISQL execution failed
LOG DETAILS:
2024-08-09 14:21:04.361
2024-08-09 14:21:04.366 act = <firebird.qa.plugin.Action object at [hex]>
2024-08-09 14:21:04.371
2024-08-09 14:21:04.376 @pytest.mark.es_eds
2024-08-09 14:21:04.381 @pytest.mark.version('>=3.0.1')
2024-08-09 14:21:04.386 def test_1(act: Action):
2024-08-09 14:21:04.391
2024-08-09 14:21:04.396 if (res := check_ipv6_avail()) < 0:
2024-08-09 14:21:04.401 pytest.skip(f"IPv6 not avail, retcode: {res}")
2024-08-09 14:21:04.406
2024-08-09 14:21:04.412 sql_chk = f"""
2024-08-09 14:21:04.417 set list on;
2024-08-09 14:21:04.422 commit;
2024-08-09 14:21:04.427 connect 'inet4://127.0.0.1/{act.db.db_path}';
2024-08-09 14:21:04.432
2024-08-09 14:21:04.437 select mon$remote_protocol as procotol_when_connect_from_isql
2024-08-09 14:21:04.442 from mon$attachments where mon$attachment_id = current_connection;
2024-08-09 14:21:04.452
2024-08-09 14:21:04.457 set term ^;
2024-08-09 14:21:04.462 execute block returns(protocol_when_connect_by_es_eds varchar(20) ) as
2024-08-09 14:21:04.467 declare stt varchar(255) = 'select mon$remote_protocol from mon$attachments where mon$attachment_id = current_connection';
2024-08-09 14:21:04.473 begin
2024-08-09 14:21:04.478 for
2024-08-09 14:21:04.483 execute statement (stt)
2024-08-09 14:21:04.487 on external 'inet4://127.0.0.1/{act.db.db_path}'
2024-08-09 14:21:04.492 as user '{act.db.user}' password '{act.db.password}'
2024-08-09 14:21:04.501 into protocol_when_connect_by_es_eds
2024-08-09 14:21:04.511 do
2024-08-09 14:21:04.517 suspend;
2024-08-09 14:21:04.529 end
2024-08-09 14:21:04.534 ^
2024-08-09 14:21:04.545 set term ;^
2024-08-09 14:21:04.550 commit;
2024-08-09 14:21:04.555
2024-08-09 14:21:04.563 -- since 27.10.2019; checked again 13.06.2024
2024-08-09 14:21:04.573 connect 'inet6://[::1]/{act.db.db_path}';
2024-08-09 14:21:04.578
2024-08-09 14:21:04.585 select mon$remote_protocol as procotol_when_connect_from_isql
2024-08-09 14:21:04.595 from mon$attachments where mon$attachment_id = current_connection;
2024-08-09 14:21:04.600
2024-08-09 14:21:04.611 set term ^;
2024-08-09 14:21:04.617 execute block returns(protocol_when_connect_by_es_eds varchar(20) ) as
2024-08-09 14:21:04.627 declare stt varchar(255) = 'select mon$remote_protocol from mon$attachments where mon$attachment_id = current_connection';
2024-08-09 14:21:04.633 begin
2024-08-09 14:21:04.645 for
2024-08-09 14:21:04.651 execute statement (stt)
2024-08-09 14:21:04.659 -- Failed before fix #8156 ("Can not specify concrete IPv6 address in ES/EDS connection string"):
2024-08-09 14:21:04.667 on external 'inet6://[::1]/{act.db.db_path}'
2024-08-09 14:21:04.675 as user '{act.db.user}' password '{act.db.password}'
2024-08-09 14:21:04.683 into protocol_when_connect_by_es_eds
2024-08-09 14:21:04.691 do
2024-08-09 14:21:04.698 suspend;
2024-08-09 14:21:04.706 end
2024-08-09 14:21:04.713 ^
2024-08-09 14:21:04.720 set term ;^
2024-08-09 14:21:04.736 commit;
2024-08-09 14:21:04.744 """
2024-08-09 14:21:04.752
2024-08-09 14:21:04.757 expected_stdout = """
2024-08-09 14:21:04.764 PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv4
2024-08-09 14:21:04.769 PROTOCOL_WHEN_CONNECT_BY_ES_EDS TCPv4
2024-08-09 14:21:04.773 PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv6
2024-08-09 14:21:04.782 PROTOCOL_WHEN_CONNECT_BY_ES_EDS TCPv6
2024-08-09 14:21:04.787 """
2024-08-09 14:21:04.792
2024-08-09 14:21:04.798 act.expected_stdout = expected_stdout
2024-08-09 14:21:04.803 > act.isql(switches=['-q', f'inet://{act.db.db_path}'], input=sql_chk, connect_db=False)
2024-08-09 14:21:04.808 E firebird.qa.plugin.ExecutionError: ISQL execution failed
2024-08-09 14:21:04.813
2024-08-09 14:21:04.818 tests/bugs/core_5229_test.py:144: ExecutionError
2024-08-09 14:21:04.824 ---------------------------- Captured stdout setup -----------------------------
2024-08-09 14:21:04.829 Creating db: localhost:/var/tmp/qa_2024/test_11044/test.fdb [page_size=None, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
2024-08-09 14:21:04.834 -------------------------- Captured ISQL stdout call ---------------------------
2024-08-09 14:21:04.839
2024-08-09 14:21:04.848 PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv4
2024-08-09 14:21:04.853
2024-08-09 14:21:04.858
2024-08-09 14:21:04.863
2024-08-09 14:21:04.869 PROTOCOL_WHEN_CONNECT_BY_ES_EDS TCPv4
2024-08-09 14:21:04.874
2024-08-09 14:21:04.879
2024-08-09 14:21:04.883
2024-08-09 14:21:04.888 PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv6
2024-08-09 14:21:04.893
2024-08-09 14:21:04.899
2024-08-09 14:21:04.905
2024-08-09 14:21:04.910 -------------------------- Captured ISQL stderr call ---------------------------
2024-08-09 14:21:04.915 Statement failed, SQLSTATE = 42000
2024-08-09 14:21:04.920 External Data Source provider 'inet6://[' not found
2024-08-09 14:21:04.925 -At block line: 4, col: 13
|
3 #text |
act = <firebird.qa.plugin.Action pytest object at [hex]>
@pytest.mark.es_eds
@pytest.mark.version('>=3.0.1')
def test_1(act: Action):
if (res := check_ipv6_avail()) < 0:
pytest.skip(f"IPv6 not avail, retcode: {res}")
sql_chk = f"""
set list on;
commit;
connect 'inet4://127.0.0.1/{act.db.db_path}';
select mon$remote_protocol as procotol_when_connect_from_isql
from mon$attachments where mon$attachment_id = current_connection;
set term ^;
execute block returns(protocol_when_connect_by_es_eds varchar(20) ) as
declare stt varchar(255) = 'select mon$remote_protocol from mon$attachments where mon$attachment_id = current_connection';
begin
for
execute statement (stt)
on external 'inet4://127.0.0.1/{act.db.db_path}'
as user '{act.db.user}' password '{act.db.password}'
into protocol_when_connect_by_es_eds
do
suspend;
end
^
set term ;^
commit;
-- since 27.10.2019; checked again 13.06.2024
connect 'inet6://[::1]/{act.db.db_path}';
select mon$remote_protocol as procotol_when_connect_from_isql
from mon$attachments where mon$attachment_id = current_connection;
set term ^;
execute block returns(protocol_when_connect_by_es_eds varchar(20) ) as
declare stt varchar(255) = 'select mon$remote_protocol from mon$attachments where mon$attachment_id = current_connection';
begin
for
execute statement (stt)
-- Failed before fix #8156 ("Can not specify concrete IPv6 address in ES/EDS connection string"):
on external 'inet6://[::1]/{act.db.db_path}'
as user '{act.db.user}' password '{act.db.password}'
into protocol_when_connect_by_es_eds
do
suspend;
end
^
set term ;^
commit;
"""
expected_stdout = """
PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv4
PROTOCOL_WHEN_CONNECT_BY_ES_EDS TCPv4
PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv6
PROTOCOL_WHEN_CONNECT_BY_ES_EDS TCPv6
"""
act.expected_stdout = expected_stdout
> act.isql(switches=['-q', f'inet://{act.db.db_path}'], input=sql_chk, connect_db=False)
E firebird.qa.plugin.ExecutionError: ISQL execution failed
tests/bugs/core_5229_test.py:144: ExecutionError
|