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

Side by Side 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, 2 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 unified diff | Download patch
OLDNEW
(Empty)
1 # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
2 # For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt
3
4 """Tests of miscellaneous stuff."""
5
6 import sys
7
8 import coverage
9 from coverage.version import _make_url, _make_version
10 from coverage.misc import Hasher, file_be_gone
11
12 from tests.coveragetest import CoverageTest
13
14
15 class HasherTest(CoverageTest):
16 """Test our wrapper of md5 hashing."""
17
18 run_in_temp_dir = False
19
20 def test_string_hashing(self):
21 h1 = Hasher()
22 h1.update("Hello, world!")
23 h2 = Hasher()
24 h2.update("Goodbye!")
25 h3 = Hasher()
26 h3.update("Hello, world!")
27 self.assertNotEqual(h1.hexdigest(), h2.hexdigest())
28 self.assertEqual(h1.hexdigest(), h3.hexdigest())
29
30 def test_bytes_hashing(self):
31 h1 = Hasher()
32 h1.update(b"Hello, world!")
33 h2 = Hasher()
34 h2.update(b"Goodbye!")
35 self.assertNotEqual(h1.hexdigest(), h2.hexdigest())
36
37 def test_dict_hashing(self):
38 h1 = Hasher()
39 h1.update({'a': 17, 'b': 23})
40 h2 = Hasher()
41 h2.update({'b': 23, 'a': 17})
42 self.assertEqual(h1.hexdigest(), h2.hexdigest())
43
44
45 class RemoveFileTest(CoverageTest):
46 """Tests of misc.file_be_gone."""
47
48 def test_remove_nonexistent_file(self):
49 # It's OK to try to remove a file that doesn't exist.
50 file_be_gone("not_here.txt")
51
52 def test_remove_actual_file(self):
53 # It really does remove a file that does exist.
54 self.make_file("here.txt", "We are here, we are here, we are here!")
55 file_be_gone("here.txt")
56 self.assert_doesnt_exist("here.txt")
57
58 def test_actual_errors(self):
59 # Errors can still happen.
60 # ". is a directory" on Unix, or "Access denied" on Windows
61 with self.assertRaises(OSError):
62 file_be_gone(".")
63
64
65 class VersionTest(CoverageTest):
66 """Tests of version.py"""
67
68 run_in_temp_dir = False
69
70 def test_version_info(self):
71 # Make sure we didn't screw up the version_info tuple.
72 self.assertIsInstance(coverage.version_info, tuple)
73 self.assertEqual([type(d) for d in coverage.version_info], [int, int, in t, str, int])
74 self.assertIn(coverage.version_info[3], ['alpha', 'beta', 'candidate', ' final'])
75
76 def test_make_version(self):
77 self.assertEqual(_make_version(4, 0, 0, 'alpha', 0), "4.0a0")
78 self.assertEqual(_make_version(4, 0, 0, 'alpha', 1), "4.0a1")
79 self.assertEqual(_make_version(4, 0, 0, 'final', 0), "4.0")
80 self.assertEqual(_make_version(4, 1, 2, 'beta', 3), "4.1.2b3")
81 self.assertEqual(_make_version(4, 1, 2, 'final', 0), "4.1.2")
82 self.assertEqual(_make_version(5, 10, 2, 'candidate', 7), "5.10.2rc7")
83
84 def test_make_url(self):
85 self.assertEqual(
86 _make_url(4, 0, 0, 'final', 0),
87 "https://coverage.readthedocs.org"
88 )
89 self.assertEqual(
90 _make_url(4, 1, 2, 'beta', 3),
91 "https://coverage.readthedocs.org/en/coverage-4.1.2b3"
92 )
93
94
95 class SetupPyTest(CoverageTest):
96 """Tests of setup.py"""
97
98 run_in_temp_dir = False
99
100 def test_metadata(self):
101 status, output = self.run_command_status(
102 "python setup.py --description --version --url --author"
103 )
104 self.assertEqual(status, 0)
105 out = output.splitlines()
106 self.assertIn("measurement", out[0])
107 self.assertEqual(out[1], coverage.__version__)
108 self.assertEqual(out[2], coverage.__url__)
109 self.assertIn("Ned Batchelder", out[3])
110
111 def test_more_metadata(self):
112 # Let's be sure we pick up our own setup.py
113 # CoverageTest restores the original sys.path for us.
114 sys.path.insert(0, '')
115 from setup import setup_args
116
117 classifiers = setup_args['classifiers']
118 self.assertGreater(len(classifiers), 7)
119 self.assert_starts_with(classifiers[-1], "Development Status ::")
120
121 long_description = setup_args['long_description'].splitlines()
122 self.assertGreater(len(long_description), 7)
123 self.assertNotEqual(long_description[0].strip(), "")
124 self.assertNotEqual(long_description[-1].strip(), "")
OLDNEW
« 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