Home | History | Annotate | Download | only in test_tools
      1 """Tests for the gprof2html script in the Tools directory."""
      2 
      3 import os
      4 import sys
      5 import unittest
      6 from unittest import mock
      7 import tempfile
      8 
      9 from test.test_tools import skip_if_missing, import_tool
     10 
     11 skip_if_missing()
     12 
     13 class Gprof2htmlTests(unittest.TestCase):
     14 
     15     def setUp(self):
     16         self.gprof = import_tool('gprof2html')
     17         oldargv = sys.argv
     18         def fixup():
     19             sys.argv = oldargv
     20         self.addCleanup(fixup)
     21         sys.argv = []
     22 
     23     def test_gprof(self):
     24         # Issue #14508: this used to fail with a NameError.
     25         with mock.patch.object(self.gprof, 'webbrowser') as wmock, \
     26                 tempfile.TemporaryDirectory() as tmpdir:
     27             fn = os.path.join(tmpdir, 'abc')
     28             open(fn, 'w').close()
     29             sys.argv = ['gprof2html', fn]
     30             self.gprof.main()
     31         self.assertTrue(wmock.open.called)
     32 
     33 
     34 if __name__ == '__main__':
     35     unittest.main()
     36