On 15.10.18 23:13, Cleber Rosa wrote: > > > On 10/15/18 10:14 AM, Max Reitz wrote: >> In Python 3, / is always a floating-point division. We usually do not >> want this, and as Python 2.7 understands // as well, change all integer >> divisions to use that. >> >> Signed-off-by: Max Reitz >> --- >> tests/qemu-iotests/040 | 4 ++-- >> tests/qemu-iotests/044 | 2 +- >> tests/qemu-iotests/093 | 18 +++++++++--------- >> tests/qemu-iotests/149 | 6 +++--- >> tests/qemu-iotests/151 | 12 ++++++------ >> tests/qemu-iotests/163 | 2 +- >> tests/qemu-iotests/iotests.py | 2 +- >> 7 files changed, 23 insertions(+), 23 deletions(-) >> >> diff --git a/tests/qemu-iotests/040 b/tests/qemu-iotests/040 >> index 1cb1ceeb33..b81133a474 100755 >> --- a/tests/qemu-iotests/040 >> +++ b/tests/qemu-iotests/040 >> @@ -195,7 +195,7 @@ class TestSingleDrive(ImageCommitTestCase): >> >> self.assert_no_active_block_jobs() >> result = self.vm.qmp('block-commit', device='drive0', top=mid_img, >> - base=backing_img, speed=(self.image_len / 4)) >> + base=backing_img, speed=(self.image_len // 4)) >> self.assert_qmp(result, 'return', {}) >> result = self.vm.qmp('device_del', id='scsi0') >> self.assert_qmp(result, 'return', {}) >> @@ -225,7 +225,7 @@ class TestSingleDrive(ImageCommitTestCase): >> >> self.assert_no_active_block_jobs() >> result = self.vm.qmp('block-commit', device='drive0', top=mid_img, >> - base=backing_img, speed=(self.image_len / 4)) >> + base=backing_img, speed=(self.image_len // 4)) >> self.assert_qmp(result, 'return', {}) >> >> result = self.vm.qmp('query-block') >> diff --git a/tests/qemu-iotests/044 b/tests/qemu-iotests/044 >> index 69e736f687..7ef5e46fe9 100755 >> --- a/tests/qemu-iotests/044 >> +++ b/tests/qemu-iotests/044 >> @@ -86,7 +86,7 @@ class TestRefcountTableGrowth(iotests.QMPTestCase): >> off = off + 1024 * 512 >> >> table = b''.join(struct.pack('>Q', (1 << 63) | off + 512 * j) >> - for j in xrange(0, remaining / 512)) >> + for j in xrange(0, remaining // 512)) >> fd.write(table) >> >> >> diff --git a/tests/qemu-iotests/093 b/tests/qemu-iotests/093 >> index 9d1971a56c..d88fbc182e 100755 >> --- a/tests/qemu-iotests/093 >> +++ b/tests/qemu-iotests/093 >> @@ -69,18 +69,18 @@ class ThrottleTestCase(iotests.QMPTestCase): >> # in. The throttled requests won't be executed until we >> # advance the virtual clock. >> rq_size = 512 >> - rd_nr = max(params['bps'] / rq_size / 2, >> - params['bps_rd'] / rq_size, >> - params['iops'] / 2, >> + rd_nr = max(params['bps'] // rq_size // 2, >> + params['bps_rd'] // rq_size, >> + params['iops'] // 2, >> params['iops_rd']) >> rd_nr *= seconds * 2 >> - rd_nr /= ndrives >> - wr_nr = max(params['bps'] / rq_size / 2, >> - params['bps_wr'] / rq_size, >> - params['iops'] / 2, >> + rd_nr //= ndrives >> + wr_nr = max(params['bps'] // rq_size // 2, >> + params['bps_wr'] // rq_size, >> + params['iops'] // 2, >> params['iops_wr']) >> wr_nr *= seconds * 2 >> - wr_nr /= ndrives >> + wr_nr //= ndrives >> >> # Send I/O requests to all drives >> for i in range(rd_nr): >> @@ -196,7 +196,7 @@ class ThrottleTestCase(iotests.QMPTestCase): >> self.configure_throttle(ndrives, settings) >> >> # Wait for the bucket to empty so we can do bursts >> - wait_ns = nsec_per_sec * burst_length * burst_rate / rate >> + wait_ns = nsec_per_sec * burst_length * burst_rate // rate >> self.vm.qtest("clock_step %d" % wait_ns) >> >> # Test I/O at the max burst rate >> diff --git a/tests/qemu-iotests/149 b/tests/qemu-iotests/149 >> index 1225334cb8..4f363f295f 100755 >> --- a/tests/qemu-iotests/149 >> +++ b/tests/qemu-iotests/149 >> @@ -314,13 +314,13 @@ def test_once(config, qemu_img=False): >> image_size = 4 * oneTB >> if qemu_img: >> iotests.log("# Create image") >> - qemu_img_create(config, image_size / oneMB) >> + qemu_img_create(config, image_size // oneMB) >> else: >> iotests.log("# Create image") >> - create_image(config, image_size / oneMB) >> + create_image(config, image_size // oneMB) >> >> lowOffsetMB = 100 >> - highOffsetMB = 3 * oneTB / oneMB >> + highOffsetMB = 3 * oneTB // oneMB >> >> try: >> if not qemu_img: >> diff --git a/tests/qemu-iotests/151 b/tests/qemu-iotests/151 >> index fe53b9f446..1bb74d67c4 100755 >> --- a/tests/qemu-iotests/151 >> +++ b/tests/qemu-iotests/151 >> @@ -67,9 +67,9 @@ class TestActiveMirror(iotests.QMPTestCase): >> 'write -P 1 0 %i' % self.image_len); >> >> # Start some background requests >> - for offset in range(1 * self.image_len / 8, 3 * self.image_len / 8, 1024 * 1024): >> + for offset in range(1 * self.image_len // 8, 3 * self.image_len // 8, 1024 * 1024): >> self.vm.hmp_qemu_io('source', 'aio_write -P 2 %i 1M' % offset) >> - for offset in range(2 * self.image_len / 8, 3 * self.image_len / 8, 1024 * 1024): >> + for offset in range(2 * self.image_len // 8, 3 * self.image_len // 8, 1024 * 1024): >> self.vm.hmp_qemu_io('source', 'aio_write -z %i 1M' % offset) >> >> # Start the block job >> @@ -83,9 +83,9 @@ class TestActiveMirror(iotests.QMPTestCase): >> self.assert_qmp(result, 'return', {}) >> >> # Start some more requests >> - for offset in range(3 * self.image_len / 8, 5 * self.image_len / 8, 1024 * 1024): >> + for offset in range(3 * self.image_len // 8, 5 * self.image_len // 8, 1024 * 1024): >> self.vm.hmp_qemu_io('source', 'aio_write -P 3 %i 1M' % offset) >> - for offset in range(4 * self.image_len / 8, 5 * self.image_len / 8, 1024 * 1024): >> + for offset in range(4 * self.image_len // 8, 5 * self.image_len // 8, 1024 * 1024): >> self.vm.hmp_qemu_io('source', 'aio_write -z %i 1M' % offset) >> >> # Wait for the READY event >> @@ -95,9 +95,9 @@ class TestActiveMirror(iotests.QMPTestCase): >> # the source) should be settled using the active mechanism. >> # The mirror code itself asserts that the source BDS's dirty >> # bitmap will stay clean between READY and COMPLETED. >> - for offset in range(5 * self.image_len / 8, 7 * self.image_len / 8, 1024 * 1024): >> + for offset in range(5 * self.image_len // 8, 7 * self.image_len // 8, 1024 * 1024): >> self.vm.hmp_qemu_io('source', 'aio_write -P 3 %i 1M' % offset) >> - for offset in range(6 * self.image_len / 8, 7 * self.image_len / 8, 1024 * 1024): >> + for offset in range(6 * self.image_len // 8, 7 * self.image_len // 8, 1024 * 1024): >> self.vm.hmp_qemu_io('source', 'aio_write -z %i 1M' % offset) >> >> if sync_source_and_target: >> diff --git a/tests/qemu-iotests/163 b/tests/qemu-iotests/163 >> index 403842354e..5fd424761b 100755 >> --- a/tests/qemu-iotests/163 >> +++ b/tests/qemu-iotests/163 >> @@ -38,7 +38,7 @@ class ShrinkBaseClass(iotests.QMPTestCase): >> entry_bits = 3 >> entry_size = 1 << entry_bits >> l1_mask = 0x00fffffffffffe00 >> - div_roundup = lambda n, d: (n + d - 1) / d >> + div_roundup = lambda n, d: (n + d - 1) // d >> >> def split_by_n(data, n): >> for x in xrange(0, len(data), n): >> diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py >> index 7290c0b159..7ca94e9278 100644 >> --- a/tests/qemu-iotests/iotests.py >> +++ b/tests/qemu-iotests/iotests.py >> @@ -199,7 +199,7 @@ def create_image(name, size): >> file = open(name, 'wb') >> i = 0 >> while i < size: >> - sector = struct.pack('>l504xl', i / 512, i / 512) >> + sector = struct.pack('>l504xl', i // 512, i // 512) >> file.write(sector) >> i = i + 512 >> file.close() >> > > Found a few other occurrences: > > 030:''' % (event, errno, self.STREAM_BUFFER_SIZE / 512, event, event)) > 041:''' % (event, errno, self.MIRROR_GRANULARITY / 512, event, event)) > 041:''' % (event, errno, self.MIRROR_GRANULARITY / 512, event, event)) Oh, thanks. Right, those just worked because they were converted back to integers thanks to the %d in the format string. Will fix. Thanks for reviewing! Max