@@ -1287,10 +1287,10 @@ def test_write_blocks(s3):
1287
1287
assert f .mpu
1288
1288
assert f .parts
1289
1289
assert s3 .info (test_bucket_name + "/temp" )["size" ] == 6 * 2 ** 20
1290
- with s3 .open (test_bucket_name + "/temp " , "wb" , block_size = 10 * 2 ** 20 ) as f :
1290
+ with s3 .open (test_bucket_name + "/temp2 " , "wb" , block_size = 10 * 2 ** 20 ) as f :
1291
1291
f .write (b"a" * 15 * 2 ** 20 )
1292
1292
assert f .buffer .tell () == 0
1293
- assert s3 .info (test_bucket_name + "/temp " )["size" ] == 15 * 2 ** 20
1293
+ assert s3 .info (test_bucket_name + "/temp2 " )["size" ] == 15 * 2 ** 20
1294
1294
1295
1295
1296
1296
def test_readline (s3 ):
@@ -1406,21 +1406,27 @@ def test_append(s3):
1406
1406
f .write (b"a" * 10 * 2 ** 20 )
1407
1407
with s3 .open (a , "ab" ) as f :
1408
1408
pass # append, no write, big file
1409
- assert s3 .cat (a ) == b"a" * 10 * 2 ** 20
1409
+ data = s3 .cat (a )
1410
+ assert len (data ) == 10 * 2 ** 20 and set (data ) == set (b"a" )
1410
1411
1411
1412
with s3 .open (a , "ab" ) as f :
1412
1413
assert f .parts is None
1413
1414
f ._initiate_upload ()
1414
1415
assert f .parts
1415
1416
assert f .tell () == 10 * 2 ** 20
1416
1417
f .write (b"extra" ) # append, small write, big file
1417
- assert s3 .cat (a ) == b"a" * 10 * 2 ** 20 + b"extra"
1418
+ data = s3 .cat (a )
1419
+ assert len (data ) == 10 * 2 ** 20 + len (b"extra" )
1420
+ assert data [- 5 :] == b"extra"
1418
1421
1419
1422
with s3 .open (a , "ab" ) as f :
1420
1423
assert f .tell () == 10 * 2 ** 20 + 5
1421
1424
f .write (b"b" * 10 * 2 ** 20 ) # append, big write, big file
1422
1425
assert f .tell () == 20 * 2 ** 20 + 5
1423
- assert s3 .cat (a ) == b"a" * 10 * 2 ** 20 + b"extra" + b"b" * 10 * 2 ** 20
1426
+ data = s3 .cat (a )
1427
+ assert len (data ) == 10 * 2 ** 20 + len (b"extra" ) + 10 * 2 ** 20
1428
+ assert data [10 * 2 ** 20 : 10 * 2 ** 20 + 5 ] == b"extra"
1429
+ assert set (data [- 10 * 2 ** 20 :]) == set (b"b" )
1424
1430
1425
1431
# Keep Head Metadata
1426
1432
head = dict (
0 commit comments