Skip to content

assert == on two floating numbers? Really? #15221

Open
@mcepl

Description

@mcepl

assert repr(actual) == repr(expected), (

No wonder this immediately fails on i586 while packaging for openSUSE. Add a churn around integer math with CVE-2020-10735 and it is no wonder it doesn’t equal at all. Well, as if those things were needed over the general Programming 101 rule “Don’t use equal for floating point numbers!”.

[ 2168s] _________________________________ testMathOps __________________________________
[ 2168s] [gw0] linux -- Python 3.9.16 /usr/bin/python3.9
[ 2168s] data: /home/abuild/rpmbuild/BUILD/mypy-1.3.0/mypyc/test-data/run-math.test:3:
[ 2168s] Failed: Invalid output (/home/abuild/rpmbuild/BUILD/mypy-1.3.0/mypyc/test-data/run-math.test, line 3)
[ 2168s] ----------------------------- Captured stdout call -----------------------------
[ 2168s] 
[ 2168s] *** Exit status: 1
[ 2168s] ----------------------------- Captured stderr call -----------------------------
[ 2168s] Expected:
[ 2168s] Actual:
[ 2168s]   Traceback (most recent call last):            (diff)
[ 2168s]     File "driver.py", line 43, in <module>      (diff)
[ 2168s]       raise failures[-1][1]                     (diff)
[ 2168s]     File "driver.py", line 19, in <module>      (diff)
[ 2168s]       test_func()                               (diff)
[ 2168s]     File "run-math.test", line 50, in test_sqrt (diff)
[ 2168s]       validate_one_arg(lambda x: math.sqrt(x), pymath.sqrt) (diff)
[ 2168s]     File "run-math.test", line 24, in validate_one_arg (diff)
[ 2168s]       assert repr(actual) == repr(expected), (  (diff)
[ 2168s]   AssertionError: actual for 1.7976931348623157e+308: 1.3407807929942597e+154, expected 1.3407807929942596e+154 (diff)
[ 2168s] 

Complete build log with all details about the packages used and reproduction.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions