summaryrefslogtreecommitdiffstats
path: root/testing/mozbase/mozdevice/sut_tests/test_getdir.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/mozbase/mozdevice/sut_tests/test_getdir.py')
-rw-r--r--testing/mozbase/mozdevice/sut_tests/test_getdir.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/testing/mozbase/mozdevice/sut_tests/test_getdir.py b/testing/mozbase/mozdevice/sut_tests/test_getdir.py
new file mode 100644
index 000000000..00ea8c9ae
--- /dev/null
+++ b/testing/mozbase/mozdevice/sut_tests/test_getdir.py
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+import os
+import posixpath
+import shutil
+import tempfile
+
+from mozdevice.devicemanager import DMError
+from dmunit import DeviceManagerTestCase
+
+
+class GetDirectoryTestCase(DeviceManagerTestCase):
+
+ def _setUp(self):
+ self.localsrcdir = tempfile.mkdtemp()
+ os.makedirs(os.path.join(self.localsrcdir, 'push1', 'sub.1', 'sub.2'))
+ path = os.path.join(self.localsrcdir,
+ 'push1', 'sub.1', 'sub.2', 'testfile')
+ file(path, 'w').close()
+ os.makedirs(os.path.join(self.localsrcdir, 'push1', 'emptysub'))
+ self.localdestdir = tempfile.mkdtemp()
+ self.expected_filelist = ['emptysub', 'sub.1']
+
+ def tearDown(self):
+ shutil.rmtree(self.localsrcdir)
+ shutil.rmtree(self.localdestdir)
+
+ def runTest(self):
+ """This tests the getDirectory() function.
+ """
+ testroot = posixpath.join(self.dm.deviceRoot, 'infratest')
+ self.dm.removeDir(testroot)
+ self.dm.mkDir(testroot)
+ self.dm.pushDir(
+ os.path.join(self.localsrcdir, 'push1'),
+ posixpath.join(testroot, 'push1'))
+ # pushDir doesn't copy over empty directories, but we want to make sure
+ # that they are retrieved correctly.
+ self.dm.mkDir(posixpath.join(testroot, 'push1', 'emptysub'))
+ self.dm.getDirectory(posixpath.join(testroot, 'push1'),
+ os.path.join(self.localdestdir, 'push1'))
+ self.assertTrue(os.path.exists(
+ os.path.join(self.localdestdir,
+ 'push1', 'sub.1', 'sub.2', 'testfile')))
+ self.assertTrue(os.path.exists(
+ os.path.join(self.localdestdir, 'push1', 'emptysub')))
+ self.assertRaises(DMError, self.dm.getDirectory,
+ '/dummy', os.path.join(self.localdestdir, '/none'))
+ self.assertFalse(os.path.exists(self.localdestdir + '/none'))