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
|
from sut import MockAgent
import mozdevice
import logging
import unittest
class PullTest(unittest.TestCase):
def test_pull_success(self):
for count in [1, 4, 1024, 2048]:
cheeseburgers = ""
for i in range(count):
cheeseburgers += "cheeseburgers"
# pull file is kind of gross, make sure we can still execute commands after it's done
remoteName = "/mnt/sdcard/cheeseburgers"
a = MockAgent(self, commands=[("pull %s" % remoteName,
"%s,%s\n%s" % (remoteName,
len(cheeseburgers),
cheeseburgers)),
("isdir /mnt/sdcard", "TRUE")])
d = mozdevice.DroidSUT("127.0.0.1", port=a.port,
logLevel=logging.DEBUG)
pulledData = d.pullFile("/mnt/sdcard/cheeseburgers")
self.assertEqual(pulledData, cheeseburgers)
d.dirExists('/mnt/sdcard')
def test_pull_failure(self):
# this test simulates only receiving a few bytes of what we expect
# to be larger file
remoteName = "/mnt/sdcard/cheeseburgers"
a = MockAgent(self, commands=[("pull %s" % remoteName,
"%s,15\n%s" % (remoteName,
"cheeseburgh"))])
d = mozdevice.DroidSUT("127.0.0.1", port=a.port,
logLevel=logging.DEBUG)
exceptionThrown = False
try:
d.pullFile("/mnt/sdcard/cheeseburgers")
except mozdevice.DMError:
exceptionThrown = True
self.assertTrue(exceptionThrown)
if __name__ == '__main__':
unittest.main()
|