Source: dipy Version: 1.7.0-2 Severity: serious Justification: debci h5py 3.9.0 is triggering an error in dipy debci tests, https://ci.debian.net/data/autopkgtest/testing/amd64/d/dipy/38279462/log.gz
However from the error log, it's not clear that the problem is directly related to h5py. An exact [in]equality test is failing between floating point numbers. The error log is: 1967s _______________________________ test_icm_square ________________________________ 1967s 1967s def test_icm_square(): 1967s 1967s com = ConstantObservationModel() 1967s icm = IteratedConditionalModes() 1967s 1967s initial_segmentation = square 1967s 1967s mu, sigma = com.seg_stats(square_1, initial_segmentation, 1967s nclasses) 1967s sigmasq = sigma ** 2 1967s npt.assert_(mu[0] >= 0.0) 1967s npt.assert_(mu[1] >= 0.0) 1967s npt.assert_(mu[2] >= 0.0) 1967s npt.assert_(mu[3] >= 0.0) 1967s npt.assert_(sigmasq[0] >= 0.0) 1967s npt.assert_(sigmasq[1] >= 0.0) 1967s npt.assert_(sigmasq[2] >= 0.0) 1967s npt.assert_(sigmasq[3] >= 0.0) 1967s 1967s negll = com.negloglikelihood(square_1, mu, sigmasq, nclasses) 1967s 1967s final_segmentation_1 = np.empty_like(square_1) 1967s final_segmentation_2 = np.empty_like(square_1) 1967s 1967s beta = 0.0 1967s 1967s for i in range(max_iter): 1967s 1967s print('\n') 1967s print('>> Iteration: ' + str(i)) 1967s print('\n') 1967s 1967s final_segmentation_1, energy_1 = icm.icm_ising(negll, beta, 1967s initial_segmentation) 1967s initial_segmentation = final_segmentation_1 1967s 1967s beta = 2 1967s initial_segmentation = square 1967s 1967s for j in range(max_iter): 1967s 1967s print('\n') 1967s print('>> Iteration: ' + str(j)) 1967s print('\n') 1967s 1967s final_segmentation_2, energy_2 = icm.icm_ising(negll, beta, 1967s initial_segmentation) 1967s initial_segmentation = final_segmentation_2 1967s 1967s difference_map = np.abs(final_segmentation_1 - final_segmentation_2) 1967s > npt.assert_(np.abs(np.sum(difference_map)) != 0) 1967s E AssertionError 1967s 1967s dipy/segment/tests/test_mrf.py:370: AssertionError I'm assumung final_segmentation is floating point, not integer. Correct me if that's wrong. In general exact equality of floating point numbers should always be expected to fail. The test should be something like npt.assert_( not np.isclose( np.abs(np.sum(difference_map)), 0 ) ) If final_segmentation is an integer then of course it's a different problem.