tests/float/float_parse: Allow test to run on 32-bit archs.

Printing of uPy floats can differ by the floating-point precision on
different architectures (eg 64-bit vs 32-bit x86), so it's not possible to
using printing of floats in some parts of this test.  Instead we can just
check for equivalence with what is known to be the correct answer.
This commit is contained in:
Damien George 2018-05-11 13:51:18 +10:00
parent 6046e68fe1
commit d2c1db1e5c
2 changed files with 2 additions and 3 deletions

View File

@ -17,8 +17,8 @@ print(float('.' + '9' * 70 + 'e-50') == float('1e-50'))
# tiny fraction with large exponent
print(float('.' + '0' * 60 + '1e10') == float('1e-51'))
print(float('.' + '0' * 60 + '9e25'))
print(float('.' + '0' * 60 + '9e40'))
print(float('.' + '0' * 60 + '9e25') == float('9e-36'))
print(float('.' + '0' * 60 + '9e40') == float('9e-21'))
# ensure that accuracy is retained when value is close to a subnormal
print(float('1.00000000000000000000e-37'))

View File

@ -324,7 +324,6 @@ def run_tests(pyb, tests, args, base_path="."):
skip_tests.add('basics/subclass_native_init.py')# native subclassing corner cases not support
skip_tests.add('misc/rge_sm.py') # too large
skip_tests.add('micropython/opt_level.py') # don't assume line numbers are stored
skip_tests.add('float/float_parse.py') # minor parsing artifacts with 32-bit floats
# Some tests are known to fail on 64-bit machines
if pyb is None and platform.architecture()[0] == '64bit':