/tools/telemetry/third_party/pyfakefs/pyfakefs/example.py
Python | 121 lines | 57 code | 7 blank | 57 comment | 1 complexity | d08283fd5468d7ec274383673dd42e34 MD5 | raw file
- # Copyright 2014 Altera Corporation. All Rights Reserved.
- # Author: John McGehee
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- """
- Example module that is tested in :py:class`pyfakefs.example_test.TestExample`.
- This demonstrates the usage of the
- :py:class`pyfakefs.fake_filesystem_unittest.TestCase` base class.
- The modules related to file handling are bound to the respective fake modules:
- >>> os #doctest: +ELLIPSIS
- <fake_filesystem.FakeOsModule object...>
- >>> os.path #doctest: +ELLIPSIS
- <fake_filesystem.FakePathModule object...>
- >>> glob #doctest: +ELLIPSIS
- <fake_filesystem_glob.FakeGlobModule object...>
- >>> shutil #doctest: +ELLIPSIS
- <fake_filesystem_shutil.FakeShutilModule object...>
- The `open()` built-in is bound to the fake `open()`:
- >>> open #doctest: +ELLIPSIS
- <fake_filesystem.FakeFileOpen object...>
- In Python 2 the `file()` built-in is also bound to the fake `open()`. `file()`
- was eliminated in Python 3.
- """
- import os
- import glob
- import shutil
- def create_file(path):
- '''Create the specified file and add some content to it. Use the `open()`
- built in function.
-
- For example, the following file operations occur in the fake file system.
- In the real file system, we would not even have permission to write `/test`:
-
- >>> os.path.isdir('/test')
- False
- >>> os.mkdir('/test')
- >>> os.path.isdir('/test')
- True
- >>> os.path.exists('/test/file.txt')
- False
- >>> create_file('/test/file.txt')
- >>> os.path.exists('/test/file.txt')
- True
- >>> with open('/test/file.txt') as f:
- ... f.readlines()
- ["This is test file '/test/file.txt'.\\n", 'It was created using the open() function.\\n']
- '''
- with open(path, 'w') as f:
- f.write("This is test file '{}'.\n".format(path))
- f.write("It was created using the open() function.\n")
- def delete_file(path):
- '''Delete the specified file.
-
- For example:
-
- >>> os.mkdir('/test')
- >>> os.path.exists('/test/file.txt')
- False
- >>> create_file('/test/file.txt')
- >>> os.path.exists('/test/file.txt')
- True
- >>> delete_file('/test/file.txt')
- >>> os.path.exists('/test/file.txt')
- False
- '''
- os.remove(path)
-
- def path_exists(path):
- '''Return True if the specified file exists.
-
- For example:
-
- >>> path_exists('/test')
- False
- >>> os.mkdir('/test')
- >>> path_exists('/test')
- True
- >>>
- >>> path_exists('/test/file.txt')
- False
- >>> create_file('/test/file.txt')
- >>> path_exists('/test/file.txt')
- True
- '''
- return os.path.exists(path)
- def get_glob(glob_path):
- '''Return the list of paths matching the specified glob expression.
-
- For example:
-
- >>> os.mkdir('/test')
- >>> create_file('/test/file1.txt')
- >>> create_file('/test/file2.txt')
- >>> get_glob('/test/file*.txt')
- ['/test/file1.txt', '/test/file2.txt']
- '''
- return glob.glob(glob_path)
- def rm_tree(path):
- '''Delete the specified file hierarchy.'''
- shutil.rmtree(path)