示例#1
0
def main(argv=None):
    options = docopt(__doc__, argv=argv)
    if options['debug']:
        options['--verbose'] = True
    level = logging.DEBUG if options['--verbose'] else logging.INFO
    log.addHandler(logging.StreamHandler())
    log.setLevel(level)

    try:
        token_required = not options['debug'] and not options['--output']
        coverallz = Coveralls(token_required, config_file=options['--rcfile'])
        if options['--merge']:
            coverallz.merge(options['--merge'])

        if options['debug']:
            log.info("Testing coveralls-python...")
            coverallz.wear(dry_run=True)
        elif options['--output']:
            log.info('Write coverage report to file...')
            coverallz.save_report(options['--output'])
        else:
            log.info("Submitting coverage to coveralls.io...")
            result = coverallz.wear()
            log.info("Coverage submitted!")
            log.info(result['message'])
            log.info(result['url'])
            log.debug(result)
    except KeyboardInterrupt:  # pragma: no cover
        log.info('Aborted')
    except CoverallsException as e:
        log.error(e)
    except KeyError as e:  # pragma: no cover
        log.error(e)
    except Exception:  # pragma: no cover
        raise
示例#2
0
def main(argv=None):
    options = docopt(__doc__, argv=argv)
    if options['debug']:
        options['--verbose'] = True
    level = logging.DEBUG if options['--verbose'] else logging.INFO
    log.addHandler(logging.StreamHandler())
    log.setLevel(level)

    try:
        token_required = not options['debug'] and not options['--output']
        coverallz = Coveralls(token_required, config_file=options['--rcfile'])
        if options['--merge']:
            coverallz.merge(options['--merge'])

        if options['debug']:
            log.info("Testing coveralls-python...")
            coverallz.wear(dry_run=True)
        elif options['--output']:
            log.info('Write coverage report to file...')
            coverallz.save_report(options['--output'])
        else:
            log.info("Submitting coverage to coveralls.io...")
            result = coverallz.wear()
            log.info("Coverage submitted!")
            log.info(result['message'])
            log.info(result['url'])
            log.debug(result)
    except KeyboardInterrupt:  # pragma: no cover
        log.info('Aborted')
    except CoverallsException as e:
        log.error(e)
    except KeyError as e:  # pragma: no cover
        log.error(e)
    except Exception:  # pragma: no cover
        raise
示例#3
0
 def test_merge_empty_data(self, mock_requests):
     api = Coveralls(repo_token='xxx')
     coverage_file = tempfile.NamedTemporaryFile()
     coverage_file.write(b'{}')
     coverage_file.seek(0)
     api.merge(coverage_file.name)
     result = api.create_report()
     assert json.loads(result)['source_files'] == []
示例#4
0
 def test_merge(self, mock_requests):
     api = Coveralls(repo_token='xxx')
     coverage_file = tempfile.NamedTemporaryFile()
     coverage_file.write(b'{"source_files": [{"name": "foobar", "coverage": []}]}')
     coverage_file.seek(0)
     api.merge(coverage_file.name)
     result = api.create_report()
     assert json.loads(result)['source_files'] == [{'name': 'foobar', 'coverage': []}]
示例#5
0
 def test_merge_invalid_data(self, mock_logger, mock_requests):
     api = Coveralls(repo_token='xxx')
     coverage_file = tempfile.NamedTemporaryFile()
     coverage_file.write(b'{"random": "stuff"}')
     coverage_file.seek(0)
     api.merge(coverage_file.name)
     result = api.create_report()
     assert json.loads(result)['source_files'] == []
     mock_logger.assert_called_once_with('No data to be merged; does the '
                                         'json file contain "source_files" data?')