-
Notifications
You must be signed in to change notification settings - Fork 1
/
GzipChunkMedia_test.py
118 lines (93 loc) · 3.99 KB
/
GzipChunkMedia_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# --------------------------------------------------------
__author__ = "Vladimir Fedorov"
__copyright__ = "Copyright (C) 2013 Migrate2Iaas"
#---------------------------------------------------------
import sys
import unittest
import logging
import GzipChunkMedia
import time
class GzipChunkMedia_test(unittest.TestCase):
#TODO: make more sophisticated config\test reading data from some config. dunno
"""description of class"""
def setUp(self):
handler = logging.StreamHandler(stream=sys.stderr)
handler.setLevel(logging.DEBUG)
logging.getLogger().addHandler(handler)
handler = logging.StreamHandler(stream=sys.stdout)
handler.setLevel(logging.DEBUG)
logging.getLogger().addHandler(handler)
now = time.localtime()
def test_mediapieces(self):
chunksize = 1024
overallsize = 1024*1024
media = GzipChunkMedia.GzipChunkMedia("E:\\rawtest\\arc.tar", overallsize , chunksize, 1) # set no compression to boost operations
file = open('C:\\procmon.exe', "rb")
filedata = file.read()
file.close()
offset = 16
datasize = 64
while datasize < chunksize * 4:
try:
offset = 0
datasize = datasize + 31
while offset + datasize < overallsize:
media.writeDiskData(offset , filedata[0:datasize])
data = media.readDiskData(offset , datasize)
self.assertEqual(datasize , len(data))
self.assertEqual(filedata[0:datasize] , data)
offset = offset + 32
except Exception as e:
print("Error while testng rw data at offset = " + str(offset) + " size = " + str(datasize))
raise
self.assertLessEqual(media.getImageSize() , overallsize)
def test_z_reuse_arch(self):
chunksize = 1024
overallsize = 1024*1024
media = GzipChunkMedia.GzipChunkMedia("E:\\rawtest\\arc.tar", overallsize , chunksize)
file = open('C:\\procmon.exe', "rb")
filedata = file.read()
file.close()
self.assertEqual(media.getImageSize() , overallsize)
def test_mediawhole(self):
chunksize = 1024
overallsize = 1024*1024
media = GzipChunkMedia.GzipChunkMedia("E:\\rawtest_file.tar", overallsize , chunksize)
file = open('C:\\layout.ini', "r")
filedata = file.read()
file.close()
media.writeDiskData(0 , filedata)
data = media.readDiskData(0 , len(filedata))
self.assertEqual(filedata , data)
self.assertTrue(media.getImageSize() <= overallsize)
#TODO: make some lively backup from the smae snapshot
def test_localshare(self):
chunksize = 1024
overallsize = 1024*1024
media = GzipChunkMedia.GzipChunkMedia("\\\\127.0.0.1\\downloads\\rawtest\\tar", overallsize , chunksize)
file = open('C:\\layout.ini', "r")
filedata = file.read()
file.close()
media.writeDiskData(0 , filedata)
data = media.readDiskData(0 , len(filedata))
self.assertEqual(filedata , data)
self.assertTrue(media.getImageSize() <= overallsize)
#TODO: make some lively backup from the smae snapshot
def test_nonlocalshare(self):
logging.info("Test disabled")
return
chunksize = 1024
overallsize = 1024*1024
media = GzipChunkMedia.GzipChunkMedia("\\\\FEOFFNOTE\\Downloads\\rawtest\\tar", overallsize , chunksize)
file = open('C:\\layout.ini', "r")
filedata = file.read()
file.close()
media.writeDiskData(0 , filedata)
data = media.readDiskData(0 , len(filedata))
self.assertEqual(filedata , data)
self.assertTrue(media.getImageSize() <= overallsize)
#TODO: make some lively backup from the smae snapshot
def test_frommediatodisk(self):
return
if __name__ == '__main__':
unittest.main()