File tree Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Expand file tree Collapse file tree 2 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -120,6 +120,7 @@ AK_ResolveDTypeIter(PyObject *dtypes)
120
120
{
121
121
PyObject * iterator = PyObject_GetIter (dtypes );
122
122
if (iterator == NULL ) {
123
+ // No need to set exception here. GetIter already sets TypeError
123
124
return NULL ;
124
125
}
125
126
PyArray_Descr * resolved = NULL ;
@@ -147,6 +148,10 @@ AK_ResolveDTypeIter(PyObject *dtypes)
147
148
}
148
149
}
149
150
Py_DECREF (iterator );
151
+ if (!resolved ) {
152
+ // this could happen if this function gets an empty tuple
153
+ PyErr_SetString (PyExc_ValueError , "iterable passed to resolve dtypes is empty" );
154
+ }
150
155
return resolved ;
151
156
}
152
157
Original file line number Diff line number Diff line change
1
+ import pytest
1
2
import collections
2
3
import datetime
3
4
import unittest
@@ -117,6 +118,14 @@ def test_resolve_dtype_iter_a(self) -> None:
117
118
self .assertEqual (resolve_dtype_iter ((a3 .dtype , a5 .dtype )).kind , 'U' )
118
119
self .assertEqual (resolve_dtype_iter ((a3 .dtype , a5 .dtype )).itemsize , 40 )
119
120
121
+ with pytest .raises (TypeError ):
122
+ resolve_dtype_iter ((a3 .dtype , int ))
123
+
124
+ self .assertEqual (resolve_dtype_iter ((a1 .dtype ,)), a1 .dtype )
125
+
126
+ with pytest .raises (ValueError ):
127
+ resolve_dtype_iter (())
128
+
120
129
#---------------------------------------------------------------------------
121
130
122
131
def test_shape_filter_a (self ) -> None :
You can’t perform that action at this time.
0 commit comments