numpy: Add test for explicit dtype checks. At present, int64 + uint64 do not exactly match dtype(...).num
diff --git a/tests/test_numpy_array.py b/tests/test_numpy_array.py
index 8bacb7f..17c87ef 100644
--- a/tests/test_numpy_array.py
+++ b/tests/test_numpy_array.py
@@ -7,6 +7,21 @@
import numpy as np
+def test_dtypes():
+ # See issue #1328.
+ # - Platform-dependent sizes.
+ for size_check in m.get_platform_dtype_size_checks():
+ print(size_check)
+ assert size_check.size_cpp == size_check.size_numpy, size_check
+ # - Concrete sizes.
+ for check in m.get_concrete_dtype_checks():
+ print(check)
+ assert check.numpy == check.pybind11, check
+ if check.numpy.num != check.pybind11.num:
+ print("NOTE: typenum mismatch for {}: {} != {}".format(
+ check, check.numpy.num, check.pybind11.num))
+
+
@pytest.fixture(scope='function')
def arr():
return np.array([[1, 2, 3], [4, 5, 6]], '=u2')