2 @message |
firebird.qa.plugin.ExecutionError: ISQL execution failed
LOG DETAILS:
2024-08-09 16:27:06.509
2024-08-09 16:27:06.516 act = <firebird.qa.plugin.Action object at [hex]>
2024-08-09 16:27:06.521
2024-08-09 16:27:06.527 @pytest.mark.es_eds
2024-08-09 16:27:06.533 @pytest.mark.version('>=3.0.1')
2024-08-09 16:27:06.539 def test_1(act: Action):
2024-08-09 16:27:06.544
2024-08-09 16:27:06.553 if (res := check_ipv6_avail()) < 0:
2024-08-09 16:27:06.565 pytest.skip(f"IPv6 not avail, retcode: {res}")
2024-08-09 16:27:06.575
2024-08-09 16:27:06.584 sql_chk = f"""
2024-08-09 16:27:06.591 set list on;
2024-08-09 16:27:06.597 commit;
2024-08-09 16:27:06.604 connect 'inet4://127.0.0.1/{act.db.db_path}';
2024-08-09 16:27:06.609
2024-08-09 16:27:06.618 select mon$remote_protocol as procotol_when_connect_from_isql
2024-08-09 16:27:06.628 from mon$attachments where mon$attachment_id = current_connection;
2024-08-09 16:27:06.639
2024-08-09 16:27:06.646 set term ^;
2024-08-09 16:27:06.657 execute block returns(protocol_when_connect_by_es_eds varchar(20) ) as
2024-08-09 16:27:06.667 declare stt varchar(255) = 'select mon$remote_protocol from mon$attachments where mon$attachment_id = current_connection';
2024-08-09 16:27:06.676 begin
2024-08-09 16:27:06.686 for
2024-08-09 16:27:06.698 execute statement (stt)
2024-08-09 16:27:06.707 on external 'inet4://127.0.0.1/{act.db.db_path}'
2024-08-09 16:27:06.715 as user '{act.db.user}' password '{act.db.password}'
2024-08-09 16:27:06.720 into protocol_when_connect_by_es_eds
2024-08-09 16:27:06.725 do
2024-08-09 16:27:06.730 suspend;
2024-08-09 16:27:06.735 end
2024-08-09 16:27:06.745 ^
2024-08-09 16:27:06.758 set term ;^
2024-08-09 16:27:06.767 commit;
2024-08-09 16:27:06.775
2024-08-09 16:27:06.783 -- since 27.10.2019; checked again 13.06.2024
2024-08-09 16:27:06.789 connect 'inet6://[::1]/{act.db.db_path}';
2024-08-09 16:27:06.795
2024-08-09 16:27:06.801 select mon$remote_protocol as procotol_when_connect_from_isql
2024-08-09 16:27:06.807 from mon$attachments where mon$attachment_id = current_connection;
2024-08-09 16:27:06.813
2024-08-09 16:27:06.819 set term ^;
2024-08-09 16:27:06.826 execute block returns(protocol_when_connect_by_es_eds varchar(20) ) as
2024-08-09 16:27:06.833 declare stt varchar(255) = 'select mon$remote_protocol from mon$attachments where mon$attachment_id = current_connection';
2024-08-09 16:27:06.839 begin
2024-08-09 16:27:06.845 for
2024-08-09 16:27:06.851 execute statement (stt)
2024-08-09 16:27:06.859 -- Failed before fix #8156 ("Can not specify concrete IPv6 address in ES/EDS connection string"):
2024-08-09 16:27:06.865 on external 'inet6://[::1]/{act.db.db_path}'
2024-08-09 16:27:06.872 as user '{act.db.user}' password '{act.db.password}'
2024-08-09 16:27:06.879 into protocol_when_connect_by_es_eds
2024-08-09 16:27:06.885 do
2024-08-09 16:27:06.897 suspend;
2024-08-09 16:27:06.906 end
2024-08-09 16:27:06.915 ^
2024-08-09 16:27:06.925 set term ;^
2024-08-09 16:27:06.934 commit;
2024-08-09 16:27:06.941 """
2024-08-09 16:27:06.948
2024-08-09 16:27:06.955 expected_stdout = """
2024-08-09 16:27:06.961 PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv4
2024-08-09 16:27:06.967 PROTOCOL_WHEN_CONNECT_BY_ES_EDS TCPv4
2024-08-09 16:27:06.972 PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv6
2024-08-09 16:27:06.977 PROTOCOL_WHEN_CONNECT_BY_ES_EDS TCPv6
2024-08-09 16:27:06.983 """
2024-08-09 16:27:06.988
2024-08-09 16:27:06.994 act.expected_stdout = expected_stdout
2024-08-09 16:27:07.001 > act.isql(switches=['-q', f'inet://{act.db.db_path}'], input=sql_chk, connect_db=False)
2024-08-09 16:27:07.012 E firebird.qa.plugin.ExecutionError: ISQL execution failed
2024-08-09 16:27:07.018
2024-08-09 16:27:07.024 tests/bugs/core_5229_test.py:144: ExecutionError
2024-08-09 16:27:07.036 ---------------------------- Captured stdout setup -----------------------------
2024-08-09 16:27:07.047 Creating db: localhost:/var/tmp/qa_2024/test_11052/test.fdb [page_size=None, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
2024-08-09 16:27:07.060 -------------------------- Captured ISQL stdout call ---------------------------
2024-08-09 16:27:07.069
2024-08-09 16:27:07.075 PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv4
2024-08-09 16:27:07.082
2024-08-09 16:27:07.088
2024-08-09 16:27:07.093
2024-08-09 16:27:07.103 PROTOCOL_WHEN_CONNECT_BY_ES_EDS TCPv4
2024-08-09 16:27:07.113
2024-08-09 16:27:07.120
2024-08-09 16:27:07.128
2024-08-09 16:27:07.137 PROCOTOL_WHEN_CONNECT_FROM_ISQL TCPv6
2024-08-09 16:27:07.144
2024-08-09 16:27:07.155
2024-08-09 16:27:07.162
2024-08-09 16:27:07.170 -------------------------- Captured ISQL stderr call ---------------------------
2024-08-09 16:27:07.177 Statement failed, SQLSTATE = 42000
2024-08-09 16:27:07.190 External Data Source provider 'inet6://[' not found
2024-08-09 16:27:07.198 -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
|