File tree Expand file tree Collapse file tree 1 file changed +27
-0
lines changed
graalpython/com.oracle.graal.python.test/src/tests/cpyext Expand file tree Collapse file tree 1 file changed +27
-0
lines changed Original file line number Diff line number Diff line change @@ -468,3 +468,30 @@ def compile_module(self, name):
468
468
arguments = ["PyObject* sequence" ],
469
469
)
470
470
471
+ test_PySequence_Fast_ITEMS = CPyExtFunction (
472
+ lambda args : list (args [0 ]),
473
+ lambda : (
474
+ (tuple (),),
475
+ ((1 ,2 ,3 ),),
476
+ ((None ,),),
477
+ ([],),
478
+ (['a' ,'b' ,'c' ],),
479
+ ([None ],),
480
+ ),
481
+ code = '''PyObject* wrap_PySequence_Fast_ITEMS(PyObject* sequence) {
482
+ Py_ssize_t i;
483
+ Py_ssize_t n = PySequence_Fast_GET_SIZE(sequence);
484
+ PyObject **items = PySequence_Fast_ITEMS(sequence);
485
+ PyObject* result = PyList_New(n);
486
+ for (i = 0; i < n; i++) {
487
+ PyList_SetItem(result, i, items[i]);
488
+ }
489
+ return result;
490
+ }
491
+ ''' ,
492
+ resultspec = "O" ,
493
+ argspec = 'O' ,
494
+ callfunction = "wrap_PySequence_Fast_ITEMS" ,
495
+ arguments = ["PyObject* sequence" ],
496
+ )
497
+
You can’t perform that action at this time.
0 commit comments