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

Side by Side Diff: tools/code_coverage/coverage_posix.py

Issue 3506006: Print current path for debugging.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 10 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2010 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2010 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """Generate and process code coverage. 6 """Generate and process code coverage.
7 7
8 TODO(jrg): rename this from coverage_posix.py to coverage_all.py! 8 TODO(jrg): rename this from coverage_posix.py to coverage_all.py!
9 9
10 Written for and tested on Mac, Linux, and Windows. To use this script 10 Written for and tested on Mac, Linux, and Windows. To use this script
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 # The "final" lcov-format file 309 # The "final" lcov-format file
310 self.coverage_info_file = os.path.join(self.directory, 'coverage.info') 310 self.coverage_info_file = os.path.join(self.directory, 'coverage.info')
311 # If needed, an intermediate VSTS-format file 311 # If needed, an intermediate VSTS-format file
312 self.vsts_output = os.path.join(self.directory, 'coverage.vsts') 312 self.vsts_output = os.path.join(self.directory, 'coverage.vsts')
313 # Needed for Windows. 313 # Needed for Windows.
314 self.src_root = options.src_root 314 self.src_root = options.src_root
315 self.FindPrograms() 315 self.FindPrograms()
316 self.ConfirmPlatformAndPaths() 316 self.ConfirmPlatformAndPaths()
317 self.tests = [] 317 self.tests = []
318 self.xvfb_pid = 0 318 self.xvfb_pid = 0
319 logging.info('self.directory: ' + self.directory)
320 logging.info('self.directory_parent: ' + self.directory_parent)
319 321
320 def FindInPath(self, program): 322 def FindInPath(self, program):
321 """Find program in our path. Return abs path to it, or None.""" 323 """Find program in our path. Return abs path to it, or None."""
322 if not 'PATH' in os.environ: 324 if not 'PATH' in os.environ:
323 logging.fatal('No PATH environment variable?') 325 logging.fatal('No PATH environment variable?')
324 sys.exit(1) 326 sys.exit(1)
325 paths = os.environ['PATH'].split(os.pathsep) 327 paths = os.environ['PATH'].split(os.pathsep)
326 for path in paths: 328 for path in paths:
327 fullpath = os.path.join(path, program) 329 fullpath = os.path.join(path, program)
328 if os.path.exists(fullpath): 330 if os.path.exists(fullpath):
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 os.kill(self.xvfb_pid, signal.SIGKILL) 717 os.kill(self.xvfb_pid, signal.SIGKILL)
716 except: 718 except:
717 pass 719 pass
718 del os.environ['DISPLAY'] 720 del os.environ['DISPLAY']
719 self.xvfb_pid = 0 721 self.xvfb_pid = 0
720 722
721 723
722 def GenerateLcovPosix(self): 724 def GenerateLcovPosix(self):
723 """Convert profile data to lcov on Mac or Linux.""" 725 """Convert profile data to lcov on Mac or Linux."""
724 start_dir = os.getcwd() 726 start_dir = os.getcwd()
727 logging.info('GenerateLcovPosix: start_dir=' + start_dir)
725 if self.IsLinux(): 728 if self.IsLinux():
726 # With Linux/make (e.g. the coverage_run target), the current 729 # With Linux/make (e.g. the coverage_run target), the current
727 # directory for this command is .../build/src/chrome but we need 730 # directory for this command is .../build/src/chrome but we need
728 # to be in .../build/src for the relative path of source files 731 # to be in .../build/src for the relative path of source files
729 # to be correct. However, when run from buildbot, the current 732 # to be correct. However, when run from buildbot, the current
730 # directory is .../build. Accommodate. 733 # directory is .../build. Accommodate.
731 # On Mac source files are compiled with abs paths so this isn't 734 # On Mac source files are compiled with abs paths so this isn't
732 # a problem. 735 # a problem.
733 # This is a bit of a hack. The best answer is to require this 736 # This is a bit of a hack. The best answer is to require this
734 # script be run in a specific directory for all cases (from 737 # script be run in a specific directory for all cases (from
735 # Makefile or from buildbot). 738 # Makefile or from buildbot).
736 if start_dir.endswith('chrome'): 739 if start_dir.endswith('chrome'):
737 print 'coverage_posix.py: doing a "cd .." to accomodate Linux/make PWD' 740 logging.info('coverage_posix.py: doing a "cd .." '
741 'to accomodate Linux/make PWD')
738 os.chdir('..') 742 os.chdir('..')
739 elif start_dir.endswith('build'): 743 elif start_dir.endswith('build'):
740 print 'coverage_posix.py: doing a "cd src" to accomodate buildbot PWD' 744 logging.info('coverage_posix.py: doing a "cd src" '
745 'to accomodate buildbot PWD')
741 os.chdir('src') 746 os.chdir('src')
747 else:
748 logging.info('coverage_posix.py: NOT changing directory.')
742 elif self.IsMac(): 749 elif self.IsMac():
743 pass 750 pass
744 751
745 command = [self.mcov, 752 command = [self.mcov,
746 '--directory', 753 '--directory',
747 os.path.join(start_dir, self.directory_parent), 754 os.path.join(start_dir, self.directory_parent),
748 '--output', 755 '--output',
749 os.path.join(start_dir, self.coverage_info_file)] 756 os.path.join(start_dir, self.coverage_info_file)]
750 logging.info('Assembly command: ' + ' '.join(command)) 757 logging.info('Assembly command: ' + ' '.join(command))
751 retcode = subprocess.call(command) 758 retcode = subprocess.call(command)
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
900 if options.trim: 907 if options.trim:
901 coverage.TrimTests() 908 coverage.TrimTests()
902 coverage.RunTests() 909 coverage.RunTests()
903 if options.genhtml: 910 if options.genhtml:
904 coverage.GenerateHtml() 911 coverage.GenerateHtml()
905 return 0 912 return 0
906 913
907 914
908 if __name__ == '__main__': 915 if __name__ == '__main__':
909 sys.exit(main()) 916 sys.exit(main())
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698