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

Unified Diff: tools/telemetry/third_party/pyfakefs/pyfakefs/example_test.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_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()

Powered by Google App Engine
This is Rietveld 408576698