Skip to content

test_psd_csd_equal fails for 12 (but not all) of the test_mlab.spectral_testcases on ppc64 (big-endian) #7798

Closed
@AdamWill

Description

@AdamWill

Continuing to work through test failures that happen on Fedora's ppc64 (big-endian), but not on little-endian arches. The last twelve failures are all like this:

======================================================================
FAIL: test_psd_csd_equal (matplotlib.tests.test_mlab.spectral_testcase_Fs4_complex_defaultsided)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-matplotlib-2.0.0-0.7.rc2.fc26.ppc64/usr/lib64/python2.7/site-packages/matplotlib/tests/test_mlab.py", line 2096, in test_psd_csd_equal
    assert_array_equal(Pxx, Pxy)
  File "/usr/lib64/python2.7/site-packages/numpy/testing/utils.py", line 813, in assert_array_equal
    verbose=verbose, header='Arrays are not equal')
  File "/usr/lib64/python2.7/site-packages/numpy/testing/utils.py", line 739, in assert_array_compare
    raise AssertionError(msg)
AssertionError: 
Arrays are not equal

(mismatch 98.4375%)
 x: array([  6.851587e-11,   5.656909e-11,   6.650227e-11,   1.223443e-10,
         1.294211e-10,   4.895139e-11,   4.816325e-11,   2.429269e-10,
         3.889598e-10,   2.063253e-10,   1.297648e-11,   4.368301e-10,...
 y: array([  6.851587e-11 +0.000000e+00j,   5.656909e-11 -7.521779e-30j,
         6.650227e-11 +3.815069e-29j,   1.223443e-10 +8.121089e-30j,
         1.294211e-10 -5.664577e-29j,   4.895139e-11 +1.171260e-28j,...

The twelve classes which fail are:

spectral_testcase_Fs4_complex_defaultsided
spectral_testcase_Fs4_complex_onesided
spectral_testcase_Fs4_complex_twosided
spectral_testcase_Fs4_real_defaultsided
spectral_testcase_Fs4_real_onesided
spectral_testcase_Fs4_real_twosided
spectral_testcase_FsAll_complex_defaultsided
spectral_testcase_FsAll_complex_onesided
spectral_testcase_FsAll_complex_twosided
spectral_testcase_FsAll_real_defaultsided
spectral_testcase_FsAll_real_onesided
spectral_testcase_FsAll_real_twosided

AFAICS, it's all the classes that specify fstims as something other than an empty list in their self.createStim call. All the ones that specify it as an empty list pass.

Obviously for each failure the non-matching arrays are different, but the general failure mode is the same - the values seem to be in some way the same, but the second array has these +foo and -foo bits in it that the first array doesn't. I've no idea what those mean. (To add to all my other admissions, this is the point where I admit I have a history degree and know sod all about math. :>)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions