зеркало из https://github.com/mozilla/gecko-dev.git
51 строка
2.0 KiB
Python
51 строка
2.0 KiB
Python
# 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'))
|