diff options
author | Marten van Kerkwijk <mhvk@astro.utoronto.ca> | 2018-01-18 08:30:03 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-18 08:30:03 -0500 |
commit | 1062cb2332152fe421297454559981825d4c7907 (patch) | |
tree | fa405326cb94fbc1fad69e84730de500d76a7f59 | |
parent | f4092e81f45640b6ac13f3e106ee0cb996e3b4f2 (diff) | |
parent | 47c4f32b9a51f549041cd71ddaad3055c7752d5e (diff) | |
download | numpy-1062cb2332152fe421297454559981825d4c7907.tar.gz |
Merge pull request #10430 from eric-wieser/duplicate-field-name-error
MAINT: Use ValueError for duplicate field names in lookup
-rw-r--r-- | numpy/core/src/multiarray/mapping.c | 2 | ||||
-rw-r--r-- | numpy/core/tests/test_multiarray.py | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/numpy/core/src/multiarray/mapping.c b/numpy/core/src/multiarray/mapping.c index 96667a336..eca4e98be 100644 --- a/numpy/core/src/multiarray/mapping.c +++ b/numpy/core/src/multiarray/mapping.c @@ -1513,7 +1513,7 @@ _get_field_view(PyArrayObject *arr, PyObject *ind, PyArrayObject **view) PyObject *errmsg = PyUString_FromString( "duplicate field of name "); PyUString_ConcatAndDel(&errmsg, name); - PyErr_SetObject(PyExc_KeyError, errmsg); + PyErr_SetObject(PyExc_ValueError, errmsg); Py_DECREF(errmsg); Py_DECREF(fields); Py_DECREF(names); diff --git a/numpy/core/tests/test_multiarray.py b/numpy/core/tests/test_multiarray.py index e90d2180a..b768f7a65 100644 --- a/numpy/core/tests/test_multiarray.py +++ b/numpy/core/tests/test_multiarray.py @@ -1157,9 +1157,11 @@ class TestStructured(object): def test_multiindex_titles(self): a = np.zeros(4, dtype=[(('a', 'b'), 'i'), ('c', 'i'), ('d', 'i')]) assert_raises(KeyError, lambda : a[['a','c']]) - assert_raises(KeyError, lambda : a[['b','b']]) + assert_raises(KeyError, lambda : a[['a','a']]) + assert_raises(ValueError, lambda : a[['b','b']]) # field exists, but repeated a[['b','c']] # no exception + class TestBool(object): def test_test_interning(self): a0 = np.bool_(0) |