Skip to content

Commit 31b2b5f

Browse files
committed
Mark array.buffer_info as not implemented
1 parent cf1c1a4 commit 31b2b5f

File tree

3 files changed

+11
-30
lines changed

3 files changed

+11
-30
lines changed

graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_array.txt

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*graalpython.lib-python.3.test.test_array.ByteTest.test_add
55
*graalpython.lib-python.3.test.test_array.ByteTest.test_assignment
66
*graalpython.lib-python.3.test.test_array.ByteTest.test_buffer
7-
*graalpython.lib-python.3.test.test_array.ByteTest.test_buffer_info
87
*graalpython.lib-python.3.test.test_array.ByteTest.test_bug_782369
98
*graalpython.lib-python.3.test.test_array.ByteTest.test_byteswap
109
*graalpython.lib-python.3.test.test_array.ByteTest.test_cmp
@@ -59,14 +58,12 @@
5958
*graalpython.lib-python.3.test.test_array.ByteTest.test_tofrombytes
6059
*graalpython.lib-python.3.test.test_array.ByteTest.test_tofromfile
6160
*graalpython.lib-python.3.test.test_array.ByteTest.test_tofromlist
62-
*graalpython.lib-python.3.test.test_array.ByteTest.test_tofromstring
6361
*graalpython.lib-python.3.test.test_array.ByteTest.test_type_error
6462
*graalpython.lib-python.3.test.test_array.ByteTest.test_weakref
6563
*graalpython.lib-python.3.test.test_array.DoubleTest.test_add
6664
*graalpython.lib-python.3.test.test_array.DoubleTest.test_alloc_overflow
6765
*graalpython.lib-python.3.test.test_array.DoubleTest.test_assignment
6866
*graalpython.lib-python.3.test.test_array.DoubleTest.test_buffer
69-
*graalpython.lib-python.3.test.test_array.DoubleTest.test_buffer_info
7067
*graalpython.lib-python.3.test.test_array.DoubleTest.test_bug_782369
7168
*graalpython.lib-python.3.test.test_array.DoubleTest.test_byteswap
7269
*graalpython.lib-python.3.test.test_array.DoubleTest.test_cmp
@@ -121,12 +118,10 @@
121118
*graalpython.lib-python.3.test.test_array.DoubleTest.test_tofrombytes
122119
*graalpython.lib-python.3.test.test_array.DoubleTest.test_tofromfile
123120
*graalpython.lib-python.3.test.test_array.DoubleTest.test_tofromlist
124-
*graalpython.lib-python.3.test.test_array.DoubleTest.test_tofromstring
125121
*graalpython.lib-python.3.test.test_array.DoubleTest.test_weakref
126122
*graalpython.lib-python.3.test.test_array.FloatTest.test_add
127123
*graalpython.lib-python.3.test.test_array.FloatTest.test_assignment
128124
*graalpython.lib-python.3.test.test_array.FloatTest.test_buffer
129-
*graalpython.lib-python.3.test.test_array.FloatTest.test_buffer_info
130125
*graalpython.lib-python.3.test.test_array.FloatTest.test_bug_782369
131126
*graalpython.lib-python.3.test.test_array.FloatTest.test_byteswap
132127
*graalpython.lib-python.3.test.test_array.FloatTest.test_cmp
@@ -181,12 +176,10 @@
181176
*graalpython.lib-python.3.test.test_array.FloatTest.test_tofrombytes
182177
*graalpython.lib-python.3.test.test_array.FloatTest.test_tofromfile
183178
*graalpython.lib-python.3.test.test_array.FloatTest.test_tofromlist
184-
*graalpython.lib-python.3.test.test_array.FloatTest.test_tofromstring
185179
*graalpython.lib-python.3.test.test_array.FloatTest.test_weakref
186180
*graalpython.lib-python.3.test.test_array.IntTest.test_add
187181
*graalpython.lib-python.3.test.test_array.IntTest.test_assignment
188182
*graalpython.lib-python.3.test.test_array.IntTest.test_buffer
189-
*graalpython.lib-python.3.test.test_array.IntTest.test_buffer_info
190183
*graalpython.lib-python.3.test.test_array.IntTest.test_bug_782369
191184
*graalpython.lib-python.3.test.test_array.IntTest.test_byteswap
192185
*graalpython.lib-python.3.test.test_array.IntTest.test_cmp
@@ -241,7 +234,6 @@
241234
*graalpython.lib-python.3.test.test_array.IntTest.test_tofrombytes
242235
*graalpython.lib-python.3.test.test_array.IntTest.test_tofromfile
243236
*graalpython.lib-python.3.test.test_array.IntTest.test_tofromlist
244-
*graalpython.lib-python.3.test.test_array.IntTest.test_tofromstring
245237
*graalpython.lib-python.3.test.test_array.IntTest.test_type_error
246238
*graalpython.lib-python.3.test.test_array.IntTest.test_weakref
247239
*graalpython.lib-python.3.test.test_array.LargeArrayTest.test_access
@@ -261,7 +253,6 @@
261253
*graalpython.lib-python.3.test.test_array.LongLongTest.test_add
262254
*graalpython.lib-python.3.test.test_array.LongLongTest.test_assignment
263255
*graalpython.lib-python.3.test.test_array.LongLongTest.test_buffer
264-
*graalpython.lib-python.3.test.test_array.LongLongTest.test_buffer_info
265256
*graalpython.lib-python.3.test.test_array.LongLongTest.test_bug_782369
266257
*graalpython.lib-python.3.test.test_array.LongLongTest.test_byteswap
267258
*graalpython.lib-python.3.test.test_array.LongLongTest.test_cmp
@@ -316,13 +307,11 @@
316307
*graalpython.lib-python.3.test.test_array.LongLongTest.test_tofrombytes
317308
*graalpython.lib-python.3.test.test_array.LongLongTest.test_tofromfile
318309
*graalpython.lib-python.3.test.test_array.LongLongTest.test_tofromlist
319-
*graalpython.lib-python.3.test.test_array.LongLongTest.test_tofromstring
320310
*graalpython.lib-python.3.test.test_array.LongLongTest.test_type_error
321311
*graalpython.lib-python.3.test.test_array.LongLongTest.test_weakref
322312
*graalpython.lib-python.3.test.test_array.LongTest.test_add
323313
*graalpython.lib-python.3.test.test_array.LongTest.test_assignment
324314
*graalpython.lib-python.3.test.test_array.LongTest.test_buffer
325-
*graalpython.lib-python.3.test.test_array.LongTest.test_buffer_info
326315
*graalpython.lib-python.3.test.test_array.LongTest.test_bug_782369
327316
*graalpython.lib-python.3.test.test_array.LongTest.test_byteswap
328317
*graalpython.lib-python.3.test.test_array.LongTest.test_cmp
@@ -377,17 +366,14 @@
377366
*graalpython.lib-python.3.test.test_array.LongTest.test_tofrombytes
378367
*graalpython.lib-python.3.test.test_array.LongTest.test_tofromfile
379368
*graalpython.lib-python.3.test.test_array.LongTest.test_tofromlist
380-
*graalpython.lib-python.3.test.test_array.LongTest.test_tofromstring
381369
*graalpython.lib-python.3.test.test_array.LongTest.test_type_error
382370
*graalpython.lib-python.3.test.test_array.LongTest.test_weakref
383-
*graalpython.lib-python.3.test.test_array.MiscTest.test_bad_constructor
384371
*graalpython.lib-python.3.test.test_array.MiscTest.test_disallow_instantiation
385372
*graalpython.lib-python.3.test.test_array.MiscTest.test_empty
386373
*graalpython.lib-python.3.test.test_array.MiscTest.test_immutable
387374
*graalpython.lib-python.3.test.test_array.ShortTest.test_add
388375
*graalpython.lib-python.3.test.test_array.ShortTest.test_assignment
389376
*graalpython.lib-python.3.test.test_array.ShortTest.test_buffer
390-
*graalpython.lib-python.3.test.test_array.ShortTest.test_buffer_info
391377
*graalpython.lib-python.3.test.test_array.ShortTest.test_bug_782369
392378
*graalpython.lib-python.3.test.test_array.ShortTest.test_byteswap
393379
*graalpython.lib-python.3.test.test_array.ShortTest.test_cmp
@@ -442,12 +428,10 @@
442428
*graalpython.lib-python.3.test.test_array.ShortTest.test_tofrombytes
443429
*graalpython.lib-python.3.test.test_array.ShortTest.test_tofromfile
444430
*graalpython.lib-python.3.test.test_array.ShortTest.test_tofromlist
445-
*graalpython.lib-python.3.test.test_array.ShortTest.test_tofromstring
446431
*graalpython.lib-python.3.test.test_array.ShortTest.test_type_error
447432
*graalpython.lib-python.3.test.test_array.ShortTest.test_weakref
448433
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_add
449434
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_buffer
450-
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_buffer_info
451435
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_bug_782369
452436
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_byteswap
453437
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_cmp
@@ -497,13 +481,11 @@
497481
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_tofrombytes
498482
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_tofromfile
499483
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_tofromlist
500-
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_tofromstring
501484
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_unicode
502485
*graalpython.lib-python.3.test.test_array.UnicodeTest.test_weakref
503486
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_add
504487
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_assignment
505488
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_buffer
506-
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_buffer_info
507489
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_bug_782369
508490
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_bytes_extend
509491
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_byteswap
@@ -559,13 +541,11 @@
559541
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_tofrombytes
560542
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_tofromfile
561543
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_tofromlist
562-
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_tofromstring
563544
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_type_error
564545
*graalpython.lib-python.3.test.test_array.UnsignedByteTest.test_weakref
565546
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_add
566547
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_assignment
567548
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_buffer
568-
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_buffer_info
569549
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_bug_782369
570550
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_bytes_extend
571551
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_byteswap
@@ -621,13 +601,11 @@
621601
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_tofrombytes
622602
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_tofromfile
623603
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_tofromlist
624-
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_tofromstring
625604
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_type_error
626605
*graalpython.lib-python.3.test.test_array.UnsignedIntTest.test_weakref
627606
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_add
628607
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_assignment
629608
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_buffer
630-
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_buffer_info
631609
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_bug_782369
632610
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_bytes_extend
633611
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_byteswap
@@ -683,13 +661,11 @@
683661
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_tofrombytes
684662
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_tofromfile
685663
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_tofromlist
686-
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_tofromstring
687664
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_type_error
688665
*graalpython.lib-python.3.test.test_array.UnsignedLongLongTest.test_weakref
689666
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_add
690667
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_assignment
691668
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_buffer
692-
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_buffer_info
693669
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_bug_782369
694670
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_bytes_extend
695671
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_byteswap
@@ -745,13 +721,11 @@
745721
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_tofrombytes
746722
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_tofromfile
747723
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_tofromlist
748-
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_tofromstring
749724
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_type_error
750725
*graalpython.lib-python.3.test.test_array.UnsignedLongTest.test_weakref
751726
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_add
752727
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_assignment
753728
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_buffer
754-
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_buffer_info
755729
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_bug_782369
756730
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_bytes_extend
757731
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_byteswap
@@ -807,6 +781,5 @@
807781
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_tofrombytes
808782
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_tofromfile
809783
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_tofromlist
810-
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_tofromstring
811784
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_type_error
812785
*graalpython.lib-python.3.test.test_array.UnsignedShortTest.test_weakref

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/objects/array/ArrayBuiltins.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.EOFError;
2929
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.IndexError;
3030
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.MemoryError;
31+
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.NotImplementedError;
3132
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.TypeError;
3233
import static com.oracle.graal.python.builtins.PythonBuiltinClassType.ValueError;
3334
import static com.oracle.graal.python.builtins.modules.io.IONodes.T_READ;
@@ -73,7 +74,6 @@
7374
import com.oracle.graal.python.builtins.PythonBuiltins;
7475
import com.oracle.graal.python.builtins.objects.PNone;
7576
import com.oracle.graal.python.builtins.objects.PNotImplemented;
76-
import com.oracle.graal.python.builtins.objects.PythonAbstractObject;
7777
import com.oracle.graal.python.builtins.objects.array.ArrayBuiltinsClinicProviders.ReduceExNodeClinicProviderGen;
7878
import com.oracle.graal.python.builtins.objects.buffer.PythonBufferAccessLibrary;
7979
import com.oracle.graal.python.builtins.objects.bytes.PBytes;
@@ -757,9 +757,16 @@ static TruffleString getTypeCode(PArray self) {
757757
abstract static class BufferInfoNode extends PythonUnaryBuiltinNode {
758758

759759
@Specialization
760+
@SuppressWarnings("unused")
760761
Object bufferinfo(PArray self) {
761-
// TODO return the C pointer
762-
return factory().createTuple(new Object[]{PythonAbstractObject.systemHashCode(self.getBuffer()), self.getLength()});
762+
/*
763+
* TODO return the C pointer.
764+
*
765+
* Don't expose buffer_info unless we give out a valid pointer, otherwise people use the
766+
* pointer and segfault.
767+
*/
768+
throw raise(NotImplementedError, ErrorMessages.ARRAY_CONVERSION_TO_NATIVE_MEMORY_NOT_IMPLEMENTED);
769+
// return factory().createTuple(new Object[]{POINTER, self.getLength()})
763770
}
764771
}
765772

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/nodes/ErrorMessages.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -994,6 +994,7 @@ public abstract class ErrorMessages {
994994
public static final TruffleString IOR_IS_NOT_SUPPORTED_BY_P_USE_INSTEAD = tsLiteral("'|=' is not supported by %p; use '|' instead");
995995
public static final TruffleString ZIP_ARG_D_IS_LONGER_THEN_ARG_SD = tsLiteral("zip() argument %d is longer than argument%s%d");
996996
public static final TruffleString ZIP_ARG_D_IS_SHORTER_THEN_ARG_SD = tsLiteral("zip() argument %d is shorter than argument%s%d");
997+
public static final TruffleString ARRAY_CONVERSION_TO_NATIVE_MEMORY_NOT_IMPLEMENTED = tsLiteral("Array conversion to native memory not implemented");
997998

998999
// SSL errors
9991000
public static final TruffleString SSL_SESSION_CLOSED = tsLiteral("SSL/TLS session closed cleanly.");

0 commit comments

Comments
 (0)