Skip to content

Commit 904f6f7

Browse files
committed
Add test for end_pos
1 parent 48fe98c commit 904f6f7

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

pymysqlreplication/tests/test_abnormal.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,3 +72,4 @@ def _remove_trailing_rotate_event_from_first_binlog(self):
7272
for _ in reader:
7373
reader.truncatebinlog()
7474
break
75+

pymysqlreplication/tests/test_basic.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -482,6 +482,43 @@ def test_skip_to_timestamp(self):
482482
self.assertIsInstance(event, QueryEvent)
483483
self.assertEqual(event.query, query2)
484484

485+
def test_end_log_pos(self):
486+
"""Test end_log_pos parameter for BinLogStreamReader
487+
488+
MUST BE TESTED IN DEFAULT SYSTEM VARIABLES SETTING
489+
490+
Raises:
491+
AssertionError: if null_bitmask isn't set as specified in 'bit_mask' variable
492+
"""
493+
494+
self.execute('CREATE TABLE test (id INT NOT NULL AUTO_INCREMENT, PRIMARY KEY(id))')
495+
self.execute('INSERT INTO test values (NULL)')
496+
self.execute('INSERT INTO test values (NULL)')
497+
self.execute('INSERT INTO test values (NULL)')
498+
self.execute('INSERT INTO test values (NULL)')
499+
self.execute('INSERT INTO test values (NULL)')
500+
self.execute('COMMIT')
501+
#import os
502+
#os._exit(1)
503+
504+
binlog = self.execute("SHOW BINARY LOGS").fetchone()[0]
505+
506+
self.stream.close()
507+
self.stream = BinLogStreamReader(
508+
self.database,
509+
server_id=1024,
510+
log_pos=0,
511+
log_file=binlog,
512+
end_log_pos=888)
513+
514+
last_log_pos = 0
515+
last_event_type = 0
516+
for event in self.stream:
517+
last_log_pos = self.stream.log_pos
518+
last_event_type = event.event_type
519+
520+
self.assertEqual(last_log_pos, 888)
521+
self.assertEqual(last_event_type, TABLE_MAP_EVENT)
485522

486523
class TestMultipleRowBinLogStreamReader(base.PyMySQLReplicationTestCase):
487524
def ignoredEvents(self):

0 commit comments

Comments
 (0)