-
Notifications
You must be signed in to change notification settings - Fork 49
Closed
Labels
🚨This issue needs some love.This issue needs some love.priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.Important issue which blocks shipping the next release. Will be fixed prior to next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Description
Running the default unit tests session:
$ nox -f noxfile.py -s unit_tests
results in an error when computing coverage:
traceback
Traceback (most recent call last):
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/coverage/data.py", line 293, in read_file
self.read_fileobj(f)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/coverage/data.py", line 271, in read_fileobj
data = self._read_raw_data(file_obj)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/coverage/data.py", line 311, in _read_raw_data
go_away = file_obj.read(len(cls._GO_AWAY))
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/codecs.py", line 313, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x99 in position 99: invalid start byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/bin/py.test", line 10, in <module>
sys.exit(main())
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/_pytest/config/__init__.py", line 63, in main
config = _prepareconfig(args, plugins)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/_pytest/config/__init__.py", line 207, in _prepareconfig
pluginmanager=pluginmanager, args=args
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/manager.py", line 87, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/callers.py", line 203, in _multicall
gen.send(outcome)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/_pytest/helpconfig.py", line 94, in pytest_cmdline_parse
config = outcome.get_result()
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/_pytest/config/__init__.py", line 739, in pytest_cmdline_parse
self.parse(args)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/_pytest/config/__init__.py", line 947, in parse
self._preparse(args, addopts=addopts)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/_pytest/config/__init__.py", line 903, in _preparse
early_config=self, args=args, parser=self._parser
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/hooks.py", line 286, in __call__
return self._hookexec(self, self.get_hookimpls(), kwargs)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/manager.py", line 93, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/manager.py", line 87, in <lambda>
firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/callers.py", line 208, in _multicall
return outcome.get_result()
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/callers.py", line 80, in get_result
raise ex[1].with_traceback(ex[2])
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pluggy/callers.py", line 187, in _multicall
res = hook_impl.function(*args)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pytest_cov/plugin.py", line 118, in pytest_load_initial_conftests
plugin = CovPlugin(early_config.known_args_namespace, early_config.pluginmanager)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pytest_cov/plugin.py", line 164, in __init__
self.start(engine.Central)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pytest_cov/plugin.py", line 186, in start
self.cov_controller.start()
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/pytest_cov/engine.py", line 187, in start
self.cov.load()
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/coverage/control.py", line 677, in load
self.data_files.read(self.data)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/coverage/data.py", line 653, in read
data.read_file(self.filename)
File "/home/peter/workspace/google-resumable-media-python/.nox/unit_tests-3-4/lib/python3.4/site-packages/coverage/data.py", line 297, in read_file
filename, exc.__class__.__name__, exc,
coverage.misc.CoverageException: Couldn't read data from '/home/peter/workspace/google-resumable-media-python/.coverage': UnicodeDecodeError: 'utf-8' codec can't decode byte 0x99 in position 99: invalid start byte
The error does not occur if the .coverage file is removed and Python 3.4 tests are run in isolation:
$ nox -f noxfile.py -s unit_tests-3.4
It might very well be related to the fact that officially pytest does not support Python 3.4.
A quick workaround would be to drop Python 3.4 support in this library, as it is already the case with many (all?) google-cloud-python libraries, unless of course there are good reasons to keep supporting it.
Update: As discussed offline, Python 3.4 support is not needed and should be dropped.
Metadata
Metadata
Assignees
Labels
🚨This issue needs some love.This issue needs some love.priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.Important issue which blocks shipping the next release. Will be fixed prior to next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.Error or flaw in code with unintended results or allowing sub-optimal usage patterns.