diff -r 000000000000 -r 6474c204b198 testing/mozbase/mozdevice/sut_tests/test_getdir.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/testing/mozbase/mozdevice/sut_tests/test_getdir.py Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,50 @@ +# 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.getDeviceRoot(), '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'))