Mercurial > public > mercurial-scm > hg-stable
diff tests/test-simplekeyvaluefile.py @ 32319:68c43a416585
tests: use context manager form of assertRaises
Support for using unittest.TestCase.assertRaises as a context
manager was added in Python 2.7. This form is more readable,
especially for complex tests.
While I was here, I also restored the use of assertRaisesRegexp,
which was removed in c6921568cd20 for Python 2.6 compatibility.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Sat, 13 May 2017 11:52:44 -0700 |
parents | 218ca8526ec0 |
children | 1859b9a7ddef |
line wrap: on
line diff
--- a/tests/test-simplekeyvaluefile.py Sat May 13 11:42:42 2017 -0700 +++ b/tests/test-simplekeyvaluefile.py Sat May 13 11:52:44 2017 -0700 @@ -53,24 +53,24 @@ def testinvalidkeys(self): d = {'0key1': 'value1', 'Key2': 'value2'} - self.assertRaises(error.ProgrammingError, - scmutil.simplekeyvaluefile(self.vfs, 'kvfile').write, - d) + with self.assertRaisesRegexp(error.ProgrammingError, + 'keys must start with a letter.*'): + scmutil.simplekeyvaluefile(self.vfs, 'kvfile').write(d) + d = {'key1@': 'value1', 'Key2': 'value2'} - self.assertRaises(error.ProgrammingError, - scmutil.simplekeyvaluefile(self.vfs, 'kvfile').write, - d) + with self.assertRaisesRegexp(error.ProgrammingError, 'invalid key.*'): + scmutil.simplekeyvaluefile(self.vfs, 'kvfile').write(d) def testinvalidvalues(self): d = {'key1': 'value1', 'Key2': 'value2\n'} - self.assertRaises(error.ProgrammingError, - scmutil.simplekeyvaluefile(self.vfs, 'kvfile').write, - d) + with self.assertRaisesRegexp(error.ProgrammingError, 'invalid val.*'): + scmutil.simplekeyvaluefile(self.vfs, 'kvfile').write(d) def testcorruptedfile(self): self.vfs.contents['badfile'] = 'ababagalamaga\n' - self.assertRaises(error.CorruptedState, - scmutil.simplekeyvaluefile(self.vfs, 'badfile').read) + with self.assertRaisesRegexp(error.CorruptedState, + 'dictionary.*element.*'): + scmutil.simplekeyvaluefile(self.vfs, 'badfile').read() def testfirstline(self): dw = {'key1': 'value1'}