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

Unified Diff: tools/telemetry/third_party/coverage/tests/test_misc.py

Issue 1366913004: Add coverage Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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/coverage/tests/test_misc.py
diff --git a/tools/telemetry/third_party/coverage/tests/test_misc.py b/tools/telemetry/third_party/coverage/tests/test_misc.py
new file mode 100644
index 0000000000000000000000000000000000000000..931e0bc5fcdd6be5e07a5ff3dcb9813d7f90d907
--- /dev/null
+++ b/tools/telemetry/third_party/coverage/tests/test_misc.py
@@ -0,0 +1,124 @@
+# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
+# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
+
+"""Tests of miscellaneous stuff."""
+
+import sys
+
+import coverage
+from coverage.version import _make_url, _make_version
+from coverage.misc import Hasher, file_be_gone
+
+from tests.coveragetest import CoverageTest
+
+
+class HasherTest(CoverageTest):
+ """Test our wrapper of md5 hashing."""
+
+ run_in_temp_dir = False
+
+ def test_string_hashing(self):
+ h1 = Hasher()
+ h1.update("Hello, world!")
+ h2 = Hasher()
+ h2.update("Goodbye!")
+ h3 = Hasher()
+ h3.update("Hello, world!")
+ self.assertNotEqual(h1.hexdigest(), h2.hexdigest())
+ self.assertEqual(h1.hexdigest(), h3.hexdigest())
+
+ def test_bytes_hashing(self):
+ h1 = Hasher()
+ h1.update(b"Hello, world!")
+ h2 = Hasher()
+ h2.update(b"Goodbye!")
+ self.assertNotEqual(h1.hexdigest(), h2.hexdigest())
+
+ def test_dict_hashing(self):
+ h1 = Hasher()
+ h1.update({'a': 17, 'b': 23})
+ h2 = Hasher()
+ h2.update({'b': 23, 'a': 17})
+ self.assertEqual(h1.hexdigest(), h2.hexdigest())
+
+
+class RemoveFileTest(CoverageTest):
+ """Tests of misc.file_be_gone."""
+
+ def test_remove_nonexistent_file(self):
+ # It's OK to try to remove a file that doesn't exist.
+ file_be_gone("not_here.txt")
+
+ def test_remove_actual_file(self):
+ # It really does remove a file that does exist.
+ self.make_file("here.txt", "We are here, we are here, we are here!")
+ file_be_gone("here.txt")
+ self.assert_doesnt_exist("here.txt")
+
+ def test_actual_errors(self):
+ # Errors can still happen.
+ # ". is a directory" on Unix, or "Access denied" on Windows
+ with self.assertRaises(OSError):
+ file_be_gone(".")
+
+
+class VersionTest(CoverageTest):
+ """Tests of version.py"""
+
+ run_in_temp_dir = False
+
+ def test_version_info(self):
+ # Make sure we didn't screw up the version_info tuple.
+ self.assertIsInstance(coverage.version_info, tuple)
+ self.assertEqual([type(d) for d in coverage.version_info], [int, int, int, str, int])
+ self.assertIn(coverage.version_info[3], ['alpha', 'beta', 'candidate', 'final'])
+
+ def test_make_version(self):
+ self.assertEqual(_make_version(4, 0, 0, 'alpha', 0), "4.0a0")
+ self.assertEqual(_make_version(4, 0, 0, 'alpha', 1), "4.0a1")
+ self.assertEqual(_make_version(4, 0, 0, 'final', 0), "4.0")
+ self.assertEqual(_make_version(4, 1, 2, 'beta', 3), "4.1.2b3")
+ self.assertEqual(_make_version(4, 1, 2, 'final', 0), "4.1.2")
+ self.assertEqual(_make_version(5, 10, 2, 'candidate', 7), "5.10.2rc7")
+
+ def test_make_url(self):
+ self.assertEqual(
+ _make_url(4, 0, 0, 'final', 0),
+ "https://coverage.readthedocs.org"
+ )
+ self.assertEqual(
+ _make_url(4, 1, 2, 'beta', 3),
+ "https://coverage.readthedocs.org/en/coverage-4.1.2b3"
+ )
+
+
+class SetupPyTest(CoverageTest):
+ """Tests of setup.py"""
+
+ run_in_temp_dir = False
+
+ def test_metadata(self):
+ status, output = self.run_command_status(
+ "python setup.py --description --version --url --author"
+ )
+ self.assertEqual(status, 0)
+ out = output.splitlines()
+ self.assertIn("measurement", out[0])
+ self.assertEqual(out[1], coverage.__version__)
+ self.assertEqual(out[2], coverage.__url__)
+ self.assertIn("Ned Batchelder", out[3])
+
+ def test_more_metadata(self):
+ # Let's be sure we pick up our own setup.py
+ # CoverageTest restores the original sys.path for us.
+ sys.path.insert(0, '')
+ from setup import setup_args
+
+ classifiers = setup_args['classifiers']
+ self.assertGreater(len(classifiers), 7)
+ self.assert_starts_with(classifiers[-1], "Development Status ::")
+
+ long_description = setup_args['long_description'].splitlines()
+ self.assertGreater(len(long_description), 7)
+ self.assertNotEqual(long_description[0].strip(), "")
+ self.assertNotEqual(long_description[-1].strip(), "")
« no previous file with comments | « tools/telemetry/third_party/coverage/tests/test_html.py ('k') | tools/telemetry/third_party/coverage/tests/test_oddball.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698