Skip to content

Commit 5e8d5b2

Browse files
committed
modify test to report a getter with no __set__ as writable without side effects
1 parent 32d78d2 commit 5e8d5b2

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

graalpython/com.oracle.graal.python.test/src/com/oracle/graal/python/test/debug/PythonDebugTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
package com.oracle.graal.python.test.debug;
4242

4343
import static org.junit.Assert.assertEquals;
44+
import static org.junit.Assert.assertFalse;
4445
import static org.junit.Assert.assertNotNull;
4546
import static org.junit.Assert.assertTrue;
4647

@@ -330,6 +331,10 @@ public void testReenterArgumentsAndValues() throws Throwable {
330331
@Test
331332
public void testGettersSetters() throws Throwable {
332333
final Source source = Source.newBuilder("python", "" +
334+
"class GetterOnly:\n" +
335+
" def __get__(self):\n" +
336+
" return 42\n" +
337+
"\n" +
333338
"class P:\n" +
334339
" def __init__(self):\n" +
335340
" self.__x = None\n" +
@@ -347,10 +352,7 @@ public void testGettersSetters() throws Throwable {
347352
" self.__nx += 1\n" +
348353
" self.__x = value\n" +
349354
"\n" +
350-
" @property\n" +
351-
" def y(self):\n" +
352-
" self.__ny += 1\n" +
353-
" return self.__y\n" +
355+
" y = GetterOnly()\n" +
354356
"\n" +
355357
"p = P()\n" +
356358
"str(p)\n" +
@@ -361,7 +363,7 @@ public void testGettersSetters() throws Throwable {
361363
expectSuspended((SuspendedEvent event) -> {
362364
DebugStackFrame frame = event.getTopStackFrame();
363365
assertEquals(1, frame.getSourceSection().getStartLine());
364-
event.prepareStepOver(5);
366+
event.prepareStepOver(7);
365367
});
366368
expectSuspended((SuspendedEvent event) -> {
367369
DebugStackFrame frame = event.getTopStackFrame();
@@ -385,7 +387,7 @@ public void testGettersSetters() throws Throwable {
385387
assertEquals(3, nx.as(Number.class).intValue());
386388
DebugValue y = p.getProperty("y");
387389
assertTrue(y.hasReadSideEffects());
388-
assertTrue(y.hasWriteSideEffects());
390+
assertFalse(y.hasWriteSideEffects());
389391
assertTrue(y.isReadable());
390392
assertTrue(y.isWritable());
391393
DebugValue ny = p.getProperty("__ny");

0 commit comments

Comments
 (0)