| 
13 | 13 | from cStringIO import StringIO  | 
14 | 14 | import time  | 
15 | 15 | import sys  | 
 | 16 | +import re  | 
16 | 17 | 
 
  | 
17 | 18 | 
 
  | 
18 | 19 | def assert_commit_serialization(rwrepo, commit_id, print_performance_info=False):  | 
@@ -273,3 +274,44 @@ def test_serialization_unicode_support(self):  | 
273 | 274 | 		# it appears  | 
274 | 275 | 		cmt.author.__repr__()  | 
275 | 276 | 
 
  | 
 | 277 | +	def test_gpgsig(self):  | 
 | 278 | +		cmt = self.rorepo.commit()  | 
 | 279 | +		cmt._deserialize(open(fixture_path('commit_with_gpgsig')))  | 
 | 280 | + | 
 | 281 | +		fixture_sig = """-----BEGIN PGP SIGNATURE-----  | 
 | 282 | +Version: GnuPG v1.4.11 (GNU/Linux)  | 
 | 283 | +
  | 
 | 284 | +iQIcBAABAgAGBQJRk8zMAAoJEG5mS6x6i9IjsTEP/0v2Wx/i7dqyKban6XMIhVdj  | 
 | 285 | +uI0DycfXqnCCZmejidzeao+P+cuK/ZAA/b9fU4MtwkDm2USvnIOrB00W0isxsrED  | 
 | 286 | +sdv6uJNa2ybGjxBolLrfQcWutxGXLZ1FGRhEvkPTLMHHvVriKoNFXcS7ewxP9MBf  | 
 | 287 | +NH97K2wauqA+J4BDLDHQJgADCOmLrGTAU+G1eAXHIschDqa6PZMH5nInetYZONDh  | 
 | 288 | +3SkOOv8VKFIF7gu8X7HC+7+Y8k8U0TW0cjlQ2icinwCc+KFoG6GwXS7u/VqIo1Yp  | 
 | 289 | +Tack6sxIdK7NXJhV5gAeAOMJBGhO0fHl8UUr96vGEKwtxyZhWf8cuIPOWLk06jA0  | 
 | 290 | +g9DpLqmy/pvyRfiPci+24YdYRBua/vta+yo/Lp85N7Hu/cpIh+q5WSLvUlv09Dmo  | 
 | 291 | +TTTG8Hf6s3lEej7W8z2xcNZoB6GwXd8buSDU8cu0I6mEO9sNtAuUOHp2dBvTA6cX  | 
 | 292 | +PuQW8jg3zofnx7CyNcd3KF3nh2z8mBcDLgh0Q84srZJCPRuxRcp9ylggvAG7iaNd  | 
 | 293 | +XMNvSK8IZtWLkx7k3A3QYt1cN4y1zdSHLR2S+BVCEJea1mvUE+jK5wiB9S4XNtKm  | 
 | 294 | +BX/otlTa8pNE3fWYBxURvfHnMY4i3HQT7Bc1QjImAhMnyo2vJk4ORBJIZ1FTNIhJ  | 
 | 295 | +JzJMZDRLQLFvnzqZuCjE  | 
 | 296 | +=przd  | 
 | 297 | +-----END PGP SIGNATURE-----"""  | 
 | 298 | +		self.assertEqual(cmt.gpgsig, fixture_sig)  | 
 | 299 | +		self.assertIn('NTB: Multiple NTB client fix', cmt.message)  | 
 | 300 | +		cmt.gpgsig = "<test\ndummy\nsig>"  | 
 | 301 | +		self.assertNotEqual(cmt.gpgsig, fixture_sig)  | 
 | 302 | + | 
 | 303 | +		cstream = StringIO()  | 
 | 304 | +		cmt._serialize(cstream)  | 
 | 305 | +		value = cstream.getvalue()  | 
 | 306 | +		self.assertRegexpMatches(value, re.compile(r"^gpgsig <test\n dummy\n sig>$", re.MULTILINE))  | 
 | 307 | + | 
 | 308 | +		cstream.seek(0)  | 
 | 309 | +		cmt.gpgsig = None  | 
 | 310 | +		cmt._deserialize(cstream)  | 
 | 311 | +		self.assertEqual(cmt.gpgsig, "<test\ndummy\nsig>")  | 
 | 312 | + | 
 | 313 | +		cmt.gpgsig = None  | 
 | 314 | +		cstream = StringIO()  | 
 | 315 | +		cmt._serialize(cstream)  | 
 | 316 | +		value = cstream.getvalue()  | 
 | 317 | +		self.assertNotRegexpMatches(value, re.compile(r"^gpgsig ", re.MULTILINE))  | 
0 commit comments