import unittest from distutils.version import StrictVersion import numpy as np import io from contextlib import redirect_stdout class TestNumpy(unittest.TestCase): def test_version(self): # b/370860329: newer versions are not capable with current tensorflow self.assertEqual(StrictVersion(np.__version__), StrictVersion("1.26.4")) def test_array(self): array = np.array([1, 3]) self.assertEqual((2,), array.shape) # Numpy must be linked to the MKL. (Occasionally, a third-party package will muck up the installation # and numpy will be reinstalled with an OpenBLAS backing.) def test_mkl(self): try: from numpy.distutils.system_info import get_info # This will throw an exception if the MKL is not linked correctly or return an empty dict. self.assertTrue(get_info("blas_mkl")) except: # Fallback to check if mkl is present via show_config() config_out = io.StringIO() with redirect_stdout(config_out): np.show_config() self.assertIn("mkl_rt", config_out.getvalue())