summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozdevice/tests/sut_pull.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/mozdevice/tests/sut_pull.py')
-rw-r--r--testing/mozbase/mozdevice/tests/sut_pull.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/testing/mozbase/mozdevice/tests/sut_pull.py b/testing/mozbase/mozdevice/tests/sut_pull.py
new file mode 100644
index 000000000..c9fcae42a
--- /dev/null
+++ b/testing/mozbase/mozdevice/tests/sut_pull.py
@@ -0,0 +1,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()