| def execute(): |
| import os |
| import sys |
| |
| files = None |
| if 'combine' not in sys.argv: |
| |
| if '--pydev-analyze' in sys.argv: |
| |
| #Ok, what we want here is having the files passed through stdin (because |
| #there may be too many files for passing in the command line -- we could |
| #just pass a dir and make the find files here, but as that's already |
| #given in the java side, let's just gather that info here). |
| sys.argv.remove('--pydev-analyze') |
| try: |
| s = raw_input() |
| except: |
| s = input() |
| s = s.replace('\r', '') |
| s = s.replace('\n', '') |
| files = s.split('|') |
| files = [v for v in files if len(v) > 0] |
| |
| #Note that in this case we'll already be in the working dir with the coverage files, so, the |
| #coverage file location is not passed. |
| |
| else: |
| #For all commands, the coverage file is configured in pydev, and passed as the first argument |
| #in the command line, so, let's make sure this gets to the coverage module. |
| os.environ['COVERAGE_FILE'] = sys.argv[1] |
| del sys.argv[1] |
| |
| try: |
| import coverage #@UnresolvedImport |
| except: |
| sys.stderr.write('Error: coverage module could not be imported\n') |
| sys.stderr.write('Please make sure that the coverage module (http://nedbatchelder.com/code/coverage/)\n') |
| sys.stderr.write('is properly installed in your interpreter: %s\n' % (sys.executable,)) |
| |
| import traceback;traceback.print_exc() |
| return |
| |
| #print(coverage.__version__) TODO: Check if the version is a version we support (should be at least 3.4) -- note that maybe the attr is not there. |
| from coverage.cmdline import main #@UnresolvedImport |
| |
| if files is not None: |
| sys.argv.append('-r') |
| sys.argv.append('-m') |
| sys.argv += files |
| |
| main() |
| |
| if __name__ == '__main__': |
| execute() |