New issue 2686: pysha3 fails tests due to mutable methods (?) https://bitbucket.org/pypy/pypy/issues/2686/pysha3-fails-tests-due-to-mutable-methods
Michał Górny: ``` $ pypy --version Python 2.7.13 (84a2f3e6a7f88f2fe698e473998755b3bd1a12e2, Oct 08 2017, 10:49:35) [PyPy 5.9.0 with GCC 5.4.0] ``` Originally reported as [tiran/pysha3#13](https://github.com/tiran/pysha3/issues/13). The upstream author claims the failures are due to incompatible behavior with CPython: > It looks like a bug in PyPy. You shouldn't be able to modify any members like > methods or attributes. Happens both with JIT enabled and disabled. To reproduce: ``` $ git clone https://github.com/tiran/pysha3 $ cd pysha3 $ pypy --jit off setup.py test running test running build running build_py running build_ext test_basics (__main__.SHA3_224Tests) ... FAIL test_hashlib (__main__.SHA3_224Tests) ... ok test_hmac (__main__.SHA3_224Tests) ... ok test_vectors (__main__.SHA3_224Tests) ... ok test_vectors_unaligned (__main__.SHA3_224Tests) ... ok test_basics (__main__.SHA3_256Tests) ... FAIL test_hashlib (__main__.SHA3_256Tests) ... ok test_hmac (__main__.SHA3_256Tests) ... ok test_vectors (__main__.SHA3_256Tests) ... ok test_vectors_unaligned (__main__.SHA3_256Tests) ... ok test_basics (__main__.SHA3_384Tests) ... FAIL test_hashlib (__main__.SHA3_384Tests) ... ok test_hmac (__main__.SHA3_384Tests) ... ok test_vectors (__main__.SHA3_384Tests) ... ok test_vectors_unaligned (__main__.SHA3_384Tests) ... ok test_basics (__main__.SHA3_512Tests) ... FAIL test_hashlib (__main__.SHA3_512Tests) ... ok test_hmac (__main__.SHA3_512Tests) ... ok test_vectors (__main__.SHA3_512Tests) ... ok test_vectors_unaligned (__main__.SHA3_512Tests) ... ok test_basics (__main__.Shake_128Tests) ... FAIL test_hashlib (__main__.Shake_128Tests) ... ok test_hmac (__main__.Shake_128Tests) ... ok test_vectors (__main__.Shake_128Tests) ... ok test_vectors_unaligned (__main__.Shake_128Tests) ... ok test_basics (__main__.Shake_256Tests) ... FAIL test_hashlib (__main__.Shake_256Tests) ... ok test_hmac (__main__.Shake_256Tests) ... ok test_vectors (__main__.Shake_256Tests) ... ok test_vectors_unaligned (__main__.Shake_256Tests) ... ok test_basics (__main__.Keccak_224Tests) ... FAIL test_hashlib (__main__.Keccak_224Tests) ... ok test_hmac (__main__.Keccak_224Tests) ... ok test_vectors (__main__.Keccak_224Tests) ... ok test_vectors_unaligned (__main__.Keccak_224Tests) ... ok test_basics (__main__.Keccak_256Tests) ... FAIL test_hashlib (__main__.Keccak_256Tests) ... ok test_hmac (__main__.Keccak_256Tests) ... ok test_vectors (__main__.Keccak_256Tests) ... ok test_vectors_unaligned (__main__.Keccak_256Tests) ... ok test_basics (__main__.Keccak_384Tests) ... FAIL test_hashlib (__main__.Keccak_384Tests) ... ok test_hmac (__main__.Keccak_384Tests) ... ok test_vectors (__main__.Keccak_384Tests) ... ok test_vectors_unaligned (__main__.Keccak_384Tests) ... ok test_basics (__main__.Keccak_512Tests) ... FAIL test_hashlib (__main__.Keccak_512Tests) ... ok test_hmac (__main__.Keccak_512Tests) ... ok test_vectors (__main__.Keccak_512Tests) ... ok test_vectors_unaligned (__main__.Keccak_512Tests) ... ok ====================================================================== FAIL: test_basics (__main__.SHA3_224Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ====================================================================== FAIL: test_basics (__main__.SHA3_256Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ====================================================================== FAIL: test_basics (__main__.SHA3_384Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ====================================================================== FAIL: test_basics (__main__.SHA3_512Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ====================================================================== FAIL: test_basics (__main__.Shake_128Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ====================================================================== FAIL: test_basics (__main__.Shake_256Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ====================================================================== FAIL: test_basics (__main__.Keccak_224Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ====================================================================== FAIL: test_basics (__main__.Keccak_256Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ====================================================================== FAIL: test_basics (__main__.Keccak_384Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ====================================================================== FAIL: test_basics (__main__.Keccak_512Tests) ---------------------------------------------------------------------- Traceback (most recent call last): File "tests.py", line 110, in test_basics self.assertRaises(AttributeError, setattr, sha3, "digest", 3) AssertionError: AttributeError not raised ---------------------------------------------------------------------- Ran 50 tests in 2.794s FAILED (failures=10) Traceback (most recent call last): File "setup.py", line 123, in <module> "Topic :: Security :: Cryptography", File "/usr/lib64/pypy/lib-python/2.7/distutils/core.py", line 151, in setup dist.run_commands() File "/usr/lib64/pypy/lib-python/2.7/distutils/dist.py", line 953, in run_commands self.run_command(cmd) File "/usr/lib64/pypy/lib-python/2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "setup.py", line 64, in run errno = subprocess.check_call([sys.executable, "tests.py"], env=env) File "/usr/lib64/pypy/lib-python/2.7/subprocess.py", line 186, in check_call raise CalledProcessError(retcode, cmd) CalledProcessError: Command '['/usr/bin/pypy', 'tests.py']' returned non-zero exit status 1 ``` _______________________________________________ pypy-issue mailing list pypy-issue@python.org https://mail.python.org/mailman/listinfo/pypy-issue