Skip to content

BlackrockIO tests fail with NumPy 1.15 #568

@jpgill86

Description

@jpgill86

Here we go again...

Just like last time, some tests are failing depending on the version of NumPy installed for the CI builds. This time, the failures are isolated to CircleCI and do not occur on Travis CI. The broken tests, found in test_blackrockio.py, are already merged into master; nevertheless, master's latest CircleCI tests passed a couple days ago when master was last committed to (CircleCI report: 3.6 | 2.7). The failures are instead occurring for new builds, and they would likely occur if master was tested again.

Déjà vu...

The problem is that, in NumPy 1.15.0 and 1.15.1, multidimensional indexing with anything but a tuple is deprecated and raises a FutureWarning. Build logs on CircleCI are filled with this new warning, cluttering them up. The failing tests in test_blackrockio.py, called test_segment_detection_pause and test_segment_detection_reset, both check that a UserWarning is raised under specific circumstances, but instead the FutureWarning is detected, causing the tests to fail.

On a test branch, I've tried forcing the NumPy version to 1.15.0, and verified that the two tests failed on CircleCI (reports 3.6 | 2.7). I then tried forcing the NumPy version to 1.14.5, and verified that all tests passed on CircleCI (reports 3.6 | 2.7).

Strangely, all tests pass on TravisCI, even if the NumPy version is forced to 1.15.0. The logs are conspicuously absent of the FutureWarnings, so I can only speculate that TravisCI suppresses this warning, preventing it from interfering with the tests.

As for why recent master builds passed, again I can only speculate that, like Travis CI last month, CircleCI changed which version of NumPy is installed by default.

So frustrating...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions