Index: tools/telemetry/third_party/pyfakefs/pyfakefs/example_test.py |
diff --git a/tools/telemetry/third_party/pyfakefs/pyfakefs/example_test.py b/tools/telemetry/third_party/pyfakefs/pyfakefs/example_test.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d984b0bf9e5470b07ed8ffab576e5e260854080e |
--- /dev/null |
+++ b/tools/telemetry/third_party/pyfakefs/pyfakefs/example_test.py |
@@ -0,0 +1,137 @@ |
+#! /usr/bin/env python |
+# |
+# 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. |
+ |
+""" |
+Test the :py:class`pyfakefs.example` module to demonstrate the usage of the |
+:py:class`pyfakefs.fake_filesystem_unittest.TestCase` base class. |
+""" |
+ |
+import os |
+import sys |
+if sys.version_info < (2, 7): |
+ import unittest2 as unittest |
+else: |
+ import unittest |
+ |
+import fake_filesystem_unittest |
+# The module under test is pyfakefs.example |
+import example |
+ |
+ |
+def load_tests(loader, tests, ignore): |
+ '''Load the pyfakefs/example.py doctest tests into unittest.''' |
+ return fake_filesystem_unittest.load_doctests(loader, tests, ignore, example) |
+ |
+ |
+class TestExample(fake_filesystem_unittest.TestCase): # pylint: disable=R0904 |
+ '''Test the pyfakefs.example module.''' |
+ |
+ def setUp(self): |
+ '''Invoke the :py:class:`pyfakefs.fake_filesystem_unittest.TestCase` |
+ `self.setUp()` method. This defines: |
+ |
+ * Attribute `self.fs`, an instance of \ |
+ :py:class:`pyfakefs.fake_filesystem.FakeFilesystem`. This is useful \ |
+ for creating test files. |
+ * Attribute `self.stubs`, an instance of \ |
+ :py:class:`mox.stubout.StubOutForTesting`. Use this if you need to |
+ define additional stubs. |
+ ''' |
+ self.setUpPyfakefs() |
+ |
+ def tearDown(self): |
+ # No longer need self.tearDownPyfakefs() |
+ pass |
+ |
+ def test_create_file(self): |
+ '''Test example.create_file()''' |
+ # The os module has been replaced with the fake os module so all of the |
+ # following occurs in the fake filesystem. |
+ self.assertFalse(os.path.isdir('/test')) |
+ os.mkdir('/test') |
+ self.assertTrue(os.path.isdir('/test')) |
+ |
+ self.assertFalse(os.path.exists('/test/file.txt')) |
+ example.create_file('/test/file.txt') |
+ self.assertTrue(os.path.exists('/test/file.txt')) |
+ |
+ def test_delete_file(self): |
+ '''Test example.delete_file() |
+ |
+ `self.fs.CreateFile()` is convenient because it automatically creates |
+ directories in the fake file system and allows you to specify the file |
+ contents. |
+ |
+ You could also use `open()` or `file()`. |
+ ''' |
+ self.fs.CreateFile('/test/full.txt', |
+ contents='First line\n' |
+ 'Second Line\n') |
+ self.assertTrue(os.path.exists('/test/full.txt')) |
+ example.delete_file('/test/full.txt') |
+ self.assertFalse(os.path.exists('/test/full.txt')) |
+ |
+ def test_file_exists(self): |
+ '''Test example.path_exists() |
+ |
+ `self.fs.CreateFile()` is convenient because it automatically creates |
+ directories in the fake file system and allows you to specify the file |
+ contents. |
+ |
+ You could also use `open()` or `file()` if you wanted. |
+ ''' |
+ self.assertFalse(example.path_exists('/test/empty.txt')) |
+ self.fs.CreateFile('/test/empty.txt') |
+ self.assertTrue(example.path_exists('/test/empty.txt')) |
+ |
+ def test_get_globs(self): |
+ '''Test example.get_glob() |
+ |
+ `self.fs.CreateDirectory()` creates directories. However, you might |
+ prefer the familiar `os.makedirs()`, which also works fine on the fake |
+ file system. |
+ ''' |
+ self.assertFalse(os.path.isdir('/test')) |
+ self.fs.CreateDirectory('/test/dir1/dir2a') |
+ self.assertTrue(os.path.isdir('/test/dir1/dir2a')) |
+ # os.mkdirs() works, too. |
+ os.makedirs('/test/dir1/dir2b') |
+ self.assertTrue(os.path.isdir('/test/dir1/dir2b')) |
+ |
+ self.assertItemsEqual(example.get_glob('/test/dir1/nonexistent*'), |
+ []) |
+ self.assertItemsEqual(example.get_glob('/test/dir1/dir*'), |
+ ['/test/dir1/dir2a', '/test/dir1/dir2b']) |
+ |
+ def test_rm_tree(self): |
+ '''Test example.rm_tree() |
+ |
+ `self.fs.CreateDirectory()` creates directories. However, you might |
+ prefer the familiar `os.makedirs()`, which also works fine on the fake |
+ file system. |
+ ''' |
+ self.fs.CreateDirectory('/test/dir1/dir2a') |
+ # os.mkdirs() works, too. |
+ os.makedirs('/test/dir1/dir2b') |
+ self.assertTrue(os.path.isdir('/test/dir1/dir2b')) |
+ self.assertTrue(os.path.isdir('/test/dir1/dir2a')) |
+ |
+ example.rm_tree('/test/dir1') |
+ self.assertFalse(os.path.exists('/test/dir1')) |
+ |
+if __name__ == "__main__": |
+ unittest.main() |