Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(353)

Unified Diff: tools/telemetry/third_party/pyfakefs/pyfakefs/example.py

Issue 1310343005: [Telemetry] Add pyfakefs to telemetry/third_party (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add license header to setup.py Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/pyfakefs/pyfakefs/example.py
diff --git a/tools/telemetry/third_party/pyfakefs/pyfakefs/example.py b/tools/telemetry/third_party/pyfakefs/pyfakefs/example.py
new file mode 100644
index 0000000000000000000000000000000000000000..f71402e2b4e37f38f8a2aff3efb78c64a090a413
--- /dev/null
+++ b/tools/telemetry/third_party/pyfakefs/pyfakefs/example.py
@@ -0,0 +1,120 @@
+# 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 `file()` and `open()` built-ins are bound to the fake `open()`:
+
+>>> file #doctest: +ELLIPSIS
+<fake_filesystem.FakeFileOpen object...>
+>>> open #doctest: +ELLIPSIS
+<fake_filesystem.FakeFileOpen object...>
+"""
+
+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)

Powered by Google App Engine
This is Rietveld 408576698