Check firebird.log [no messages found for interval when this test was running]
Jump to: output_first_mismatch    outcomes_full_history    elapsed_time_chart
Show cross-report outcomes.

Annotation type Annotation details
2 @message
assert   
  - Total unique BLOB_ID values: 1
  + UNEXPECTED: number of unique BLOB_ID values is different from 1:
  + BLOB_ID_MON_STATEMENTS 0:3
  + BLOB_ID_MON_COMPILED_S 0:1

LOG DETAILS:

2025-04-18 13:46:15.294
2025-04-18 13:46:15.308 act = <firebird.qa.plugin.Action object at [hex]>
2025-04-18 13:46:15.323 capsys = <_pytest.capture.CaptureFixture object at [hex]>
2025-04-18 13:46:15.335
2025-04-18 13:46:15.344 @pytest.mark.version('>=5.0.3')
2025-04-18 13:46:15.359 def test_1(act: Action, capsys):
2025-04-18 13:46:15.370 test_sql = f"""
2025-04-18 13:46:15.378 set list on;
2025-04-18 13:46:15.387 set blob all;
2025-04-18 13:46:15.396 select
2025-04-18 13:46:15.403 s.mon$sql_text as blob_id_mon_statements
2025-04-18 13:46:15.413 ,c.mon$sql_text as blob_id_mon_compiled_s
2025-04-18 13:46:15.426 from mon$statements s
2025-04-18 13:46:15.442 join mon$compiled_statements c using(mon$compiled_statement_id)
2025-04-18 13:46:15.454 where mon$attachment_id = current_connection and s.mon$sql_text is not null
2025-04-18 13:46:15.464 ;
2025-04-18 13:46:15.471 """
2025-04-18 13:46:15.478
2025-04-18 13:46:15.486 act.isql(switches = ['-q'], input = test_sql, combine_output = True)
2025-04-18 13:46:15.498
2025-04-18 13:46:15.509 blob_id_pattern = re.compile('^blob_id_mon_', re.IGNORECASE);
2025-04-18 13:46:15.521
2025-04-18 13:46:15.535 blob_ids_map = {}
2025-04-18 13:46:15.544 if act.return_code == 0:
2025-04-18 13:46:15.557 # Print only interesting lines from ISQl output tail:
2025-04-18 13:46:15.573 for line in act.clean_stdout.splitlines():
2025-04-18 13:46:15.588 if (blob_id_pattern.search(line)):
2025-04-18 13:46:15.602 blob_ids_map[ line.split()[0] ] = line.split()[1]
2025-04-18 13:46:15.614 if len(set(blob_ids_map.values())) == 1:
2025-04-18 13:46:15.626 print(f'{msg_prefix} {len(set(blob_ids_map.values()))}')
2025-04-18 13:46:15.639 else:
2025-04-18 13:46:15.650 print('UNEXPECTED: number of unique BLOB_ID values is different from 1:')
2025-04-18 13:46:15.660 for k,v in blob_ids_map.items():
2025-04-18 13:46:15.674 print(k,v)
2025-04-18 13:46:15.683 else:
2025-04-18 13:46:15.693 # If retcode !=0 then we can print the whole output of failed gbak:
2025-04-18 13:46:15.706 print('ISQL failed, check output:')
2025-04-18 13:46:15.720 for line in act.clean_stdout.splitlines():
2025-04-18 13:46:15.730 print(line)
2025-04-18 13:46:15.737 act.reset()
2025-04-18 13:46:15.743
2025-04-18 13:46:15.749 expected_stdout = f"""
2025-04-18 13:46:15.756 {msg_prefix} 1
2025-04-18 13:46:15.763 """
2025-04-18 13:46:15.770
2025-04-18 13:46:15.784 act.expected_stdout = expected_stdout
2025-04-18 13:46:15.793 act.stdout = capsys.readouterr().out
2025-04-18 13:46:15.801 >       assert act.clean_stdout == act.clean_expected_stdout
2025-04-18 13:46:15.808 E       assert
2025-04-18 13:46:15.817 E         - Total unique BLOB_ID values: 1
2025-04-18 13:46:15.825 E         + UNEXPECTED: number of unique BLOB_ID values is different from 1:
2025-04-18 13:46:15.832 E         + BLOB_ID_MON_STATEMENTS 0:3
2025-04-18 13:46:15.840 E         + BLOB_ID_MON_COMPILED_S 0:1
2025-04-18 13:46:15.848
2025-04-18 13:46:15.856 tests/bugs/gh_8513_test.py:75: AssertionError
2025-04-18 13:46:15.864 ---------------------------- Captured stdout setup -----------------------------
2025-04-18 13:46:15.872 Creating db: localhost:/var/tmp/qa_2024/test_11694/test.fdb [page_size=None, sql_dialect=None, charset='NONE', user=SYSDBA, password=masterkey]
3 #text
act = <firebird.qa.plugin.Action pytest object at [hex]>
capsys = <_pytest.capture.CaptureFixture pytest object at [hex]>

    @pytest.mark.version('>=5.0.3')
    def test_1(act: Action, capsys):
        test_sql = f"""
            set list on;
            set blob all;
            select
                 s.mon$sql_text as blob_id_mon_statements
                ,c.mon$sql_text as blob_id_mon_compiled_s
            from mon$statements s
            join mon$compiled_statements c using(mon$compiled_statement_id)
            where mon$attachment_id = current_connection and s.mon$sql_text is not null
            ;
        """
    
        act.isql(switches = ['-q'], input = test_sql, combine_output = True)
    
        blob_id_pattern = re.compile('^blob_id_mon_', re.IGNORECASE);
    
        blob_ids_map = {}
        if act.return_code == 0:
            # Print only interesting lines from ISQl output tail:
            for line in act.clean_stdout.splitlines():
                if (blob_id_pattern.search(line)):
                    blob_ids_map[ line.split()[0] ] = line.split()[1]
            if len(set(blob_ids_map.values())) == 1:
                print(f'{msg_prefix} {len(set(blob_ids_map.values()))}')
            else:
                print('UNEXPECTED: number of unique BLOB_ID values is different from 1:')
                for k,v in blob_ids_map.items():
                    print(k,v)
        else:
            # If retcode !=0 then we can print the whole output of failed gbak:
            print('ISQL failed, check output:')
            for line in act.clean_stdout.splitlines():
                print(line)
        act.reset()
    
        expected_stdout = f"""
            {msg_prefix} 1
        """
    
        act.expected_stdout = expected_stdout
        act.stdout = capsys.readouterr().out
>       assert act.clean_stdout == act.clean_expected_stdout
E       assert   
E         - Total unique BLOB_ID values: 1
E         + UNEXPECTED: number of unique BLOB_ID values is different from 1:
E         + BLOB_ID_MON_STATEMENTS 0:3
E         + BLOB_ID_MON_COMPILED_S 0:1

tests/bugs/gh_8513_test.py:75: AssertionError
Full history of outcomes and elapsed time, ms:
NN SNAP_INFO CS_outcome SS_outcome CS_run_time SS_run_time CS_run_beg CS_run_end SS_run_beg SS_run_end
1 5.0.3.1674 2025.06.27 3ee5c P P 708 386 2025.06.29 13:09:37.753 2025.06.29 13:09:38.461 2025.06.29 11:44:24.858 2025.06.29 11:44:25.244
2 5.0.3.1657 2025.06.19 4bd4c P P 672 379 2025.06.27 12:22:23.369 2025.06.27 12:22:24.041 2025.06.27 11:03:08.449 2025.06.27 11:03:08.828
3 5.0.3.1657 2025.06.11 dae6f P P 678 354 2025.06.17 07:27:31.608 2025.06.17 07:27:32.286 2025.06.17 06:07:02.121 2025.06.17 06:07:02.475
4 5.0.3.1657 2025.06.10 dbc92 P P 682 444 2025.06.11 12:18:02.611 2025.06.11 12:18:03.293 2025.06.11 10:49:00.885 2025.06.11 10:49:01.329
5 5.0.3.1656 2025.05.20 c4b11 P P 778 387 2025.06.10 12:11:55.415 2025.06.10 12:11:56.193 2025.06.10 10:47:21.384 2025.06.10 10:47:21.771
6 5.0.3.1652 2025.05.13 f51c6 P P 834 463 2025.05.20 05:16:18.699 2025.05.20 05:16:19.533 2025.05.20 03:39:52.769 2025.05.20 03:39:53.232
7 5.0.3.1651 2025.04.30 141ef P P 836 452 2025.05.13 12:14:19.940 2025.05.13 12:14:20.776 2025.05.13 10:36:48.268 2025.05.13 10:36:48.720
8 5.0.3.1650 2025.04.28 4cbff P P 790 432 2025.05.01 11:48:08.616 2025.05.01 11:48:09.406 2025.05.01 10:11:33.350 2025.05.01 10:11:33.782
9 5.0.3.1649 2025.04.21 5b2d0 P P 817 450 2025.04.28 05:45:53.337 2025.04.28 05:45:54.154 2025.04.28 04:11:11.651 2025.04.28 04:11:12.101
10 5.0.3.1648 2025.04.18 2f4c5 P P 774 432 2025.04.20 05:37:36.186 2025.04.20 05:37:36.960 2025.04.20 04:05:30.383 2025.04.20 04:05:30.815
11 5.0.3.1635 2025.03.31 22ec6 F F 766 427 2025.04.18 12:00:46.042 2025.04.18 12:00:46.808 2025.04.18 10:24:43.358 2025.04.18 10:24:43.785

Elapsed time, ms. Chart for last 11 runs:

Last commits information (all timestamps in UTC):