| 
									
										
										
										
											2014-07-16 14:26:09 -05:00
										 |  |  | """Tests for the gprof2html script in the Tools directory.""" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | import unittest | 
					
						
							|  |  |  | from unittest import mock | 
					
						
							|  |  |  | import tempfile | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-24 21:41:02 +03:00
										 |  |  | from test.test_tools import skip_if_missing, import_tool | 
					
						
							| 
									
										
										
										
											2014-07-16 14:26:09 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | skip_if_missing() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Gprof2htmlTests(unittest.TestCase): | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def setUp(self): | 
					
						
							|  |  |  |         self.gprof = import_tool('gprof2html') | 
					
						
							|  |  |  |         oldargv = sys.argv | 
					
						
							|  |  |  |         def fixup(): | 
					
						
							|  |  |  |             sys.argv = oldargv | 
					
						
							|  |  |  |         self.addCleanup(fixup) | 
					
						
							|  |  |  |         sys.argv = [] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_gprof(self): | 
					
						
							| 
									
										
										
										
											2016-04-17 08:32:47 +03:00
										 |  |  |         # Issue #14508: this used to fail with a NameError. | 
					
						
							| 
									
										
										
										
											2014-07-16 14:26:09 -05:00
										 |  |  |         with mock.patch.object(self.gprof, 'webbrowser') as wmock, \ | 
					
						
							|  |  |  |                 tempfile.TemporaryDirectory() as tmpdir: | 
					
						
							|  |  |  |             fn = os.path.join(tmpdir, 'abc') | 
					
						
							|  |  |  |             open(fn, 'w').close() | 
					
						
							|  |  |  |             sys.argv = ['gprof2html', fn] | 
					
						
							|  |  |  |             self.gprof.main() | 
					
						
							|  |  |  |         self.assertTrue(wmock.open.called) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     unittest.main() |