# Any copyright is dedicated to the Public Domain. # http://creativecommons.org/publicdomain/zero/1.0/ import mozdevice import logging import unittest from sut import MockAgent class MkDirsTest(unittest.TestCase): def test_mkdirs(self): subTests = [{'cmds': [('isdir /mnt/sdcard/baz/boop', 'FALSE'), ('info os', 'android'), ('isdir /mnt', 'TRUE'), ('isdir /mnt/sdcard', 'TRUE'), ('isdir /mnt/sdcard/baz', 'FALSE'), ('mkdr /mnt/sdcard/baz', '/mnt/sdcard/baz successfully created'), ('isdir /mnt/sdcard/baz/boop', 'FALSE'), ('mkdr /mnt/sdcard/baz/boop', '/mnt/sdcard/baz/boop successfully created')], 'expectException': False}, {'cmds': [('isdir /mnt/sdcard/baz/boop', 'FALSE'), ('info os', 'android'), ('isdir /mnt', 'TRUE'), ('isdir /mnt/sdcard', 'TRUE'), ('isdir /mnt/sdcard/baz', 'FALSE'), ('mkdr /mnt/sdcard/baz', "##AGENT-WARNING## " "Could not create the directory /mnt/sdcard/baz")], 'expectException': True}, ] for subTest in subTests: a = MockAgent(self, commands=subTest['cmds']) exceptionThrown = False try: d = mozdevice.DroidSUT('127.0.0.1', port=a.port, logLevel=logging.DEBUG) d.mkDirs('/mnt/sdcard/baz/boop/bip') except mozdevice.DMError: exceptionThrown = True self.assertEqual(exceptionThrown, subTest['expectException']) a.wait() def test_repeated_path_part(self): """ Ensure that all dirs are created when last path part also found earlier in the path (bug 826492). """ cmds = [('isdir /mnt/sdcard/foo', 'FALSE'), ('info os', 'android'), ('isdir /mnt', 'TRUE'), ('isdir /mnt/sdcard', 'TRUE'), ('isdir /mnt/sdcard/foo', 'FALSE'), ('mkdr /mnt/sdcard/foo', '/mnt/sdcard/foo successfully created')] a = MockAgent(self, commands=cmds) d = mozdevice.DroidSUT('127.0.0.1', port=a.port, logLevel=logging.DEBUG) d.mkDirs('/mnt/sdcard/foo/foo') a.wait() def test_mkdirs_on_root(self): cmds = [('isdir /', 'TRUE')] a = MockAgent(self, commands=cmds) d = mozdevice.DroidSUT('127.0.0.1', port=a.port, logLevel=logging.DEBUG) d.mkDirs('/foo') a.wait() if __name__ == '__main__': unittest.main()