ImportError: No module named 'cPickle' with Python 3
Categories
(Firefox Build System :: General, defect, P3)
Tracking
(Not tracked)
People
(Reporter: rgpt, Unassigned)
Details
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:70.0) Gecko/20100101 Firefox/70.0
Steps to reproduce:
Ran specific test
$ python3 mach test testing/marionette/harness/marionette_harness/tests/unit/test_accessibility.py
Actual results:
If filing a bug, please include the full output of mach, including this error
message.
The details of the failure are as follows:
ImportError: No module named 'cPickle'
File "/home/rgpt/Desktop/mozilla/mozilla-unified/testing/mach_commands.py", line 327, in test
run_suites, run_tests = resolver.resolve_metadata(what)
File "/home/rgpt/Desktop/mozilla/mozilla-unified/testing/mozbase/moztest/moztest/resolve.py", line 757, in resolve_metadata
tests = list(self.resolve_tests(paths=[relpath]))
File "/home/rgpt/Desktop/mozilla/mozilla-unified/testing/mozbase/moztest/moztest/resolve.py", line 705, in resolve_tests
for test in self._resolve(**kwargs):
File "/home/rgpt/Desktop/mozilla/mozilla-unified/testing/mozbase/moztest/moztest/resolve.py", line 539, in _resolve
if (path in self.test_dirs or
File "/home/rgpt/Desktop/mozilla/mozilla-unified/testing/mozbase/moztest/moztest/resolve.py", line 486, in test_dirs
for test in self.tests:
File "/home/rgpt/Desktop/mozilla/mozilla-unified/testing/mozbase/moztest/moztest/resolve.py", line 464, in tests
for test in self.load_tests():
File "/home/rgpt/Desktop/mozilla/mozilla-unified/testing/mozbase/moztest/moztest/resolve.py", line 354, in call
from mozbuild.gen_test_backend import gen_test_backend
File "/home/rgpt/Desktop/mozilla/mozilla-unified/build/mach_bootstrap.py", line 431, in call
module = self._original_import(name, globals, locals, fromlist, level)
File "/home/rgpt/Desktop/mozilla/mozilla-unified/python/mozbuild/mozbuild/gen_test_backend.py", line 10, in <module>
from mozbuild.backend.test_manifest import TestManifestBackend
File "/home/rgpt/Desktop/mozilla/mozilla-unified/build/mach_bootstrap.py", line 431, in call
module = self._original_import(name, globals, locals, fromlist, level)
File "/home/rgpt/Desktop/mozilla/mozilla-unified/python/mozbuild/mozbuild/backend/test_manifest.py", line 7, in <module>
import cPickle as pickle
File "/home/rgpt/Desktop/mozilla/mozilla-unified/build/mach_bootstrap.py", line 431, in call
module = self._original_import(name, globals, locals, fromlist, level)
Expected results:
It should work in py3 too.
Updated•6 years ago
|
Comment 1•6 years ago
|
||
Afaik mach test
hasn't been ported to Python 3 yet and you are force running it there with the python3 ./mach ...
. So I'm not surprised this isn't working :).
Note, this doesn't necessarily need to block bug 1355537 as users could use ./mach marionette-test
instead. It depends how important you feel it is to support ./mach test
.
Comment 2•6 years ago
|
||
Oh, indeed. I didn't notice that the general test
command was used.
Comment 3•6 years ago
|
||
Btw. for Python3 the following import should work: import _pickle as cPickle
. So creating a conditional would fix it.
Updated•6 years ago
|
Updated•3 years ago
|
Comment 4•11 days ago
|
||
I think this was fixed in bug 1428718.
Description
•