gecko-dev/testing/mozbase/mozdevice/sut_tests/test_push2.py

39 lines
1.8 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
from dmunit import DeviceManagerTestCase
class Push2TestCase(DeviceManagerTestCase):
def runTest(self):
"""This tests copying a directory structure with files to the device.
"""
testroot = posixpath.join(self.dm.deviceRoot, 'infratest')
self.dm.removeDir(testroot)
self.dm.mkDir(testroot)
path = posixpath.join(testroot, 'push2')
self.dm.pushDir(os.path.join('test-files', 'push2'), path)
# Let's walk the tree and make sure everything is there
# though it's kind of cheesy, we'll use the validate file to compare
# hashes - we use the client side hashing when testing the cat command
# specifically, so that makes this a little less cheesy, I guess.
self.assertTrue(
self.dm.dirExists(posixpath.join(testroot, 'push2', 'sub1')))
self.assertTrue(self.dm.validateFile(
posixpath.join(testroot, 'push2', 'sub1', 'file1.txt'),
os.path.join('test-files', 'push2', 'sub1', 'file1.txt')))
self.assertTrue(self.dm.validateFile(
posixpath.join(testroot, 'push2', 'sub1', 'sub1.1', 'file2.txt'),
os.path.join('test-files', 'push2', 'sub1', 'sub1.1', 'file2.txt')))
self.assertTrue(self.dm.validateFile(
posixpath.join(testroot, 'push2', 'sub2', 'file3.txt'),
os.path.join('test-files', 'push2', 'sub2', 'file3.txt')))
self.assertTrue(self.dm.validateFile(
posixpath.join(testroot, 'push2', 'file4.bin'),
os.path.join('test-files', 'push2', 'file4.bin')))