Author: Lars Wassermann <[email protected]>
Branch: 
Changeset: r318:aa3adce87571
Date: 2013-04-22 17:18 +0200
http://bitbucket.org/pypy/lang-smalltalk/changeset/aa3adce87571/

Log:    fixed the test problems

diff --git a/spyvm/test/test_interpreter.py b/spyvm/test/test_interpreter.py
--- a/spyvm/test/test_interpreter.py
+++ b/spyvm/test/test_interpreter.py
@@ -271,13 +271,13 @@
     step_in_interp(s_frame)
     assert s_frame.pop() == w_frame
     assert s_frame.stack() == []
-    
+
 def test_duplicateTopBytecode():
     w_frame, s_frame = new_frame(pushConstantZeroBytecode + 
duplicateTopBytecode)
     step_in_interp(s_frame)
     step_in_interp(s_frame)
     assert s_frame.stack() == [space.w_zero, space.w_zero]
-    
+
 def test_bytecodePrimBitAnd():
     w_frame, s_frame = new_frame(pushConstantOneBytecode + 
pushConstantTwoBytecode + bytecodePrimBitAnd)
     step_in_interp(s_frame)
@@ -285,7 +285,7 @@
     step_in_interp(s_frame)
     assert s_frame.pop().value == 0
     assert s_frame.stack() == []
-    
+
 def test_bytecodePrimBitOr():
     w_frame, s_frame = new_frame(pushConstantOneBytecode + 
pushConstantTwoBytecode + bytecodePrimBitOr)
     step_in_interp(s_frame)
@@ -301,14 +301,14 @@
     step_in_interp(s_frame)
     assert s_frame.pop().value == 4
     assert s_frame.stack() == []
-    
+
 def test_bytecodePrimClass():
     w_frame, s_frame = new_frame(pushConstantOneBytecode + bytecodePrimClass)
     step_in_interp(s_frame)
     step_in_interp(s_frame)
     assert s_frame.pop() == space.w_SmallInteger
     assert s_frame.stack() == []
-    
+
 def test_bytecodePrimSubtract():
     w_frame, s_frame = new_frame(pushConstantOneBytecode + 
pushConstantTwoBytecode + bytecodePrimSubtract)
     step_in_interp(s_frame)
@@ -324,15 +324,15 @@
     step_in_interp(s_frame)
     assert s_frame.pop().value == -2
     assert s_frame.stack() == []
-    
+
 def test_bytecodePrimDivide():
     w_frame, s_frame = new_frame(pushConstantTwoBytecode + 
pushConstantMinusOneBytecode + bytecodePrimDivide)
     step_in_interp(s_frame)
     step_in_interp(s_frame)
     step_in_interp(s_frame)
-    assert s_frame.pop().value == -2    
+    assert s_frame.pop().value == -2
     assert s_frame.stack() == []
-    
+
 def test_bytecodePrimDiv():
     w_frame, s_frame = new_frame(pushConstantTwoBytecode + 
pushConstantMinusOneBytecode + bytecodePrimDiv)
     step_in_interp(s_frame)
@@ -356,14 +356,14 @@
     step_in_interp(s_frame)
     assert s_frame.pop() == space.w_false
     assert s_frame.stack() == []
-    
+
     w_frame, s_frame = new_frame(pushConstantOneBytecode + 
pushConstantOneBytecode + bytecodePrimEquivalent)
     step_in_interp(s_frame)
     step_in_interp(s_frame)
     step_in_interp(s_frame)
     assert s_frame.pop() == space.w_true
     assert s_frame.stack() == []
-    
+
 def test_bytecodePrimNew():
     w_fakeclassclass = mockclass(space, 10, name='fakeclassclass')
     w_fakeclass = mockclass(space, 1, name='fakeclass', varsized=False,
@@ -378,7 +378,7 @@
     assert s_frame.stack() == []
     assert w_fakeinst.getclass(space).is_same_object(w_fakeclass)
     assert w_fakeinst.size() == 1
-    
+
 def test_bytecodePrimNewWithArg():
     w_fakeclassclass = mockclass(space, 10, name='fakeclassclass')
     w_fakeclass = mockclass(space, 1, name='fakeclass', varsized=True,
@@ -394,7 +394,7 @@
     assert s_frame.stack() == []
     assert w_fakeinst.getclass(space).is_same_object(w_fakeclass)
     assert w_fakeinst.size() == 3
- 
+
 def test_bytecodePrimSize():
     w_fakeclass = mockclass(space, 2, name='fakeclass', varsized=True)
     w_fakeinst = w_fakeclass.as_class_get_shadow(space).new(5)
@@ -412,8 +412,8 @@
 # w_object - the actual object we will be sending the method to
 # bytecodes - the bytecode to be executed
 def sendBytecodesTest(w_class, w_object, bytecodes):
-    for bytecode, result in [ (returnReceiver, w_object), 
-          (returnTrue, space.w_true), 
+    for bytecode, result in [ (returnReceiver, w_object),
+          (returnTrue, space.w_true),
           (returnFalse, space.w_false),
           (returnNil, space.w_nil),
           (returnTopFromMethod, space.w_one) ]:
@@ -443,7 +443,7 @@
     w_class = mockclass(space, 0)
     w_object = w_class.as_class_get_shadow(space).new()
     sendBytecodesTest(w_class, w_object, sendLiteralSelectorBytecode(0))
-        
+
 def test_fibWithArgument():
     bytecode = ''.join(map(chr, [ 16, 119, 178, 154, 118, 164, 11, 112, 16, 
118, 177, 224, 112, 16, 119, 177, 224, 176, 124 ]))
     shadow = mockclass(space, 0).as_class_get_shadow(space)
@@ -475,7 +475,7 @@
         assert len(s_frame.stack()) == 1
         w_result = s_frame.pop()
         assert space.unwrap_int(w_result) == 42
-        
+
     run_with_faked_primitive_methods(
         [[space.w_SmallInteger, primitives.SUBTRACT,
           1, "-"]],
@@ -576,7 +576,7 @@
 
 def test_extendedStoreAndPopBytecode():
     test_storeAndPopReceiverVariableBytecode(lambda index: 
extendedStoreAndPopBytecode + chr((0<<6) + index))
-                
+
     test_storeAndPopTemporaryVariableBytecode(lambda index: 
extendedStoreAndPopBytecode + chr((1<<6) + index))
 
     py.test.raises(interpreter.IllegalStoreError,
@@ -669,7 +669,7 @@
 def test_secondExtendedSendBytecode():
     w_class = mockclass(space, 0)
     w_object = w_class.as_class_get_shadow(space).new()
-    sendBytecodesTest(w_class, w_object, secondExtendedSendBytecode + chr(0)) 
+    sendBytecodesTest(w_class, w_object, secondExtendedSendBytecode + chr(0))
 
 def test_doubleExtendedDoAnythinBytecode():
     w_class = mockclass(space, 0)
@@ -706,7 +706,7 @@
     # value0
     #   " (self >> #value0) byteCode "
     #   " (self >> #value0) literals "
-    # 
+    #
     #   ^ [ 3 + 4 ] value
     assert interpret_bc(
         [ 137, 117, 200, 164, 4, 32, 33, 176, 125, 201, 124],
@@ -717,7 +717,7 @@
     # value1
     #   " (self >> #value1) byteCode "
     #   " (self >> #value1) literals "
-    # 
+    #
     #   ^ [ :x | x + x + 1 ] value: 3
     assert interpret_bc(
         [ 137, 118, 200, 164, 7, 104, 16, 16,
@@ -728,7 +728,7 @@
     # value2
     #   " (self >> #value2) byteCode "
     #   " (self >> #value2) literals "
-    # 
+    #
     #   ^ [ :x :y | x + y ] value: 3 value: 4
 
     def test():
@@ -745,7 +745,7 @@
     # value1
     #   " (self >> #value1) byteCode "
     #   " (self >> #value1) literals "
-    # 
+    #
     #   ^ [ self ] value
     assert interpret_bc(
         [ 137, 117, 200, 164, 2, 112, 125, 201, 124 ],
@@ -755,7 +755,7 @@
     # valueReturn
     #   " (self >> #value1) byteCode "
     #   " (self >> #value1) literals "
-    # 
+    #
     #   [ ^ 1 ] value. ^ 2
     assert interpret_bc(
         [ 137, 117, 200, 164, 2, 118, 124, 201, 135, 119, 124 ],
@@ -765,7 +765,7 @@
     # valueWithArgs
     #   " (self >> #value1) byteCode "
     #   " (self >> #value1) literals "
-    # 
+    #
     #   [ :a :b | a - b ] valueWithArguments: #(3 2)
     def test():
         val = interpret_bc(
@@ -789,7 +789,7 @@
     run_with_faked_primitive_methods(
         [[space.w_String, primitives.STRING_AT, 1, "at:"]],
         test)
-    
+
 def test_bc_primBytecodeAtPut_string():
     #   ^ 'a' at: 1 put:'b'
     def test():
@@ -922,7 +922,7 @@
         step_in_interp(s_frame)
         assert s_frame.pc() == pc + 4 + i
         closure = wrapper.BlockClosureWrapper(space, s_frame.top())
-        assert closure.startpc() == pc + 4
+        assert closure.startpc() == pc + 4 + 4 + 1 # pc + offset + headerword 
+ smalltalk 1-indexing
         assert closure.outerContext() is s_frame._w_self
 
 def test_bc_pushClosureCopyCopied2ValuesBytecode(bytecode = 
pushClosureCopyCopiedValuesBytecode):
@@ -933,7 +933,7 @@
     step_in_interp(s_frame)
     assert s_frame.pc() == pc + 4
     closure = wrapper.BlockClosureWrapper(space, s_frame.top())
-    assert closure.startpc() == pc + 4
+    assert closure.startpc() == pc + 4 + 5
     assert closure.outerContext() is s_frame._w_self
     assert closure.at0(0) == "english"
     assert closure.at0(1) == "bar"
@@ -956,7 +956,7 @@
     #   ^ 1
     def test():
         assert interpret_bc(
-            [ 0x8f, 2, 0, 4, 16, 17, 0xb0, 0x7c, 
+            [ 0x8f, 2, 0, 4, 16, 17, 0xb0, 0x7c,
             0x76, 0x77, 0xf0, 0x87, 0x76, 0x7c ],
             fakeliterals(space, "value:value:", )).value == 3
     run_with_faked_primitive_methods(
@@ -966,7 +966,7 @@
 
 def test_stacking_interpreter():
     # | testBlock |
-    # testBlock := [ :aNumber | 
+    # testBlock := [ :aNumber |
     #     aNumber = 0
     #         ifTrue: [ 0 ]
     #         ifFalse: [ (testBlock value: aNumber - 1) + aNumber ]].
@@ -974,9 +974,9 @@
     import operator
     interp = interpreter.Interpreter(space, max_stack_depth=3)
     #create a method with the correct bytecodes and a literal
-    bytes = reduce(operator.add, map(chr, [0x8a, 0x01, 0x68, 0x10, 0x8f, 0x11, 
-        0x00, 0x11, 0x10, 0x75, 0xb6, 0x9a, 0x75, 0xa4, 0x09, 0x8c, 0x00, 
0x01, 
-        0x10, 0x76, 0xb1, 0xca, 0x10, 0xb0, 0x7d, 0x8e, 0x00, 0x00, 0x8c, 
0x00, 
+    bytes = reduce(operator.add, map(chr, [0x8a, 0x01, 0x68, 0x10, 0x8f, 0x11,
+        0x00, 0x11, 0x10, 0x75, 0xb6, 0x9a, 0x75, 0xa4, 0x09, 0x8c, 0x00, 0x01,
+        0x10, 0x76, 0xb1, 0xca, 0x10, 0xb0, 0x7d, 0x8e, 0x00, 0x00, 0x8c, 0x00,
         0x00, 0x20, 0xca, 0x7c]))
     w_method = model.W_CompiledMethod(len(bytes))
     w_method.islarge = 1
@@ -1040,4 +1040,4 @@
     except interpreter.ReturnFromTopLevel, e:
         assert space.unwrap_int(e.object) == 68
     except interpreter.StackOverflow, e:
-        assert False
\ No newline at end of file
+        assert False
diff --git a/spyvm/test/test_model.py b/spyvm/test/test_model.py
--- a/spyvm/test/test_model.py
+++ b/spyvm/test/test_model.py
@@ -17,7 +17,7 @@
     for each, length in reversed(zip(values, lengths)):
         result = result << length
         result += each
-    return result   
+    return result
 
 
 def test_new():
@@ -56,7 +56,7 @@
     assert w_bytes.size() == 20
     assert w_class.as_class_get_shadow(space).instsize() == 0
     assert w_bytes.getword(3) == 0
-    w_bytes.setword(3, 42)  
+    w_bytes.setword(3, 42)
     assert w_bytes.getword(3) == 42
     assert w_bytes.getword(0) == 0
     py.test.raises(IndexError, lambda: w_bytes.getword(20))
@@ -153,7 +153,7 @@
         w_o2 = w_o1
     assert w_o1.is_same_object(w_o2)
     assert w_o2.is_same_object(w_o1)
-    
+
 def test_not_is_same_object(w_o1=model.W_PointersObject(space, 
None,0),w_o2=model.W_PointersObject(space, None,0)):
     assert not w_o1.is_same_object(w_o2)
     assert not w_o2.is_same_object(w_o1)
@@ -190,13 +190,13 @@
 
     w_clsb = mockclass(space, 4)
     w_b = w_clsb.as_class_get_shadow(space).new()
-    
+
     hasha = w_a.gethash()
     hashb = w_b.gethash()
 
     w_a.store(space, 0, w_b)
     w_b.store(space, 1, w_a)
-    
+
     res = w_a.become(w_b)
     assert res
     assert w_a.gethash() == hashb
@@ -288,7 +288,7 @@
         assert target.at0(space, i) == source.at0(space, i)
     assert hex(r_uint(target.value)) == hex(r_uint(source.value))
 
[email protected]("socket.gethostname() == 'precise32'")
[email protected]("socket.gethostname() == 'precise32'")
 def test_display_bitmap():
     # XXX: Patch SDLDisplay -> get_pixelbuffer() to circumvent
     # double-free bug
diff --git a/spyvm/test/test_primitives.py b/spyvm/test/test_primitives.py
--- a/spyvm/test/test_primitives.py
+++ b/spyvm/test/test_primitives.py
@@ -20,7 +20,7 @@
         s_self.push_all(stack)
         s_self.store_expected_argument_count(0)
         self.s_class = space.w_MethodContext.as_class_get_shadow(space)
-    
+
     def as_blockcontext_get_shadow(self):
         self._shadow = shadow.BlockContextShadow(space, self)
         return self._shadow
@@ -60,7 +60,7 @@
     with py.test.raises(PrimitiveFailedError):
         prim_table[code](interp, w_frame.as_context_get_shadow(space), 
argument_count - 1)
     assert w_frame.as_context_get_shadow(space).stack() == orig_stack
-        
+
 # smallinteger tests
 def test_small_int_add():
     assert prim(primitives.ADD, [1,2]).value == 3
@@ -79,7 +79,7 @@
     prim_fails(primitives.SUBTRACT, [constants.TAGGED_MININT,1])
     prim_fails(primitives.SUBTRACT,
                [constants.TAGGED_MININT, constants.TAGGED_MAXINT])
-    
+
 def test_small_int_multiply():
     assert prim(primitives.MULTIPLY, [6,3]).value == 18
 
@@ -91,40 +91,40 @@
     prim_fails(primitives.MULTIPLY, [constants.TAGGED_MAXINT, -4])
     prim_fails(primitives.MULTIPLY, [constants.TAGGED_MININT, 
constants.TAGGED_MAXINT])
     prim_fails(primitives.MULTIPLY, [constants.TAGGED_MININT, 2])
-    
+
 def test_small_int_divide():
     assert prim(primitives.DIVIDE, [6,3]).value == 2
-    
+
 def test_small_int_divide_fail():
     prim_fails(primitives.DIVIDE, [12, 0])
     prim_fails(primitives.DIVIDE, [12, 7])
-    
+
 def test_small_int_mod():
     assert prim(primitives.MOD, [12,7]).value == 5
 
 def test_small_int_mod_fail():
     prim_fails(primitives.MOD, [12, 0])
-    
+
 def test_small_int_div():
     assert prim(primitives.DIV, [12,3]).value == 4
     assert prim(primitives.DIV, [12,7]).value == 1
 
 def test_small_int_div_fail():
     prim_fails(primitives.DIV, [12, 0])
-    
+
 def test_small_int_quo():
     assert prim(primitives.QUO, [12,3]).value == 4
     assert prim(primitives.QUO, [12,7]).value == 1
 
 def test_small_int_quo_fail():
     prim_fails(primitives.QUO, [12, 0])
-    
+
 def test_small_int_bit_and():
     assert prim(primitives.BIT_AND, [2, 4]).value == 0
     assert prim(primitives.BIT_AND, [2, 3]).value == 2
     assert prim(primitives.BIT_AND, [3, 4]).value == 0
     assert prim(primitives.BIT_AND, [4, 4]).value == 4
-    
+
 def test_small_int_bit_or():
     assert prim(primitives.BIT_OR, [2, 4]).value == 6
     assert prim(primitives.BIT_OR, [2, 3]).value == 3
@@ -145,7 +145,7 @@
     assert prim(primitives.BIT_SHIFT, [0, 1]).value == 0
     assert prim(primitives.BIT_SHIFT, [0, 2]).value == 0
     assert prim(primitives.BIT_SHIFT, [0, 3]).value == 0
-    
+
 def test_small_int_bit_shift_positive():
     assert prim(primitives.BIT_SHIFT, [4, -3]).value == 0
     assert prim(primitives.BIT_SHIFT, [4, -2]).value == 1
@@ -155,7 +155,7 @@
     assert prim(primitives.BIT_SHIFT, [4, 2]).value == 16
     assert prim(primitives.BIT_SHIFT, [4, 3]).value == 32
     assert prim(primitives.BIT_SHIFT, [4, 27]).value == 536870912
-    
+
 def test_small_int_bit_shift_negative():
     assert prim(primitives.BIT_SHIFT, [-4, -3]).value == -1
     assert prim(primitives.BIT_SHIFT, [-4, -2]).value == -1
@@ -165,7 +165,7 @@
     assert prim(primitives.BIT_SHIFT, [-4, 2]).value == -16
     assert prim(primitives.BIT_SHIFT, [-4, 3]).value == -32
     assert prim(primitives.BIT_SHIFT, [-4, 27]).value == -536870912
-    
+
 def test_small_int_bit_shift_fail():
     from rpython.rlib.rarithmetic import intmask
     prim_fails(primitives.BIT_SHIFT, [4, 32])
@@ -224,7 +224,7 @@
     w_obj = mockclass(space, 0, varsized=1).as_class_get_shadow(space).new(1)
     assert prim(primitives.AT_PUT, [w_obj, 1, 22]).value == 22
     assert prim(primitives.AT, [w_obj, 1]).value == 22
-    
+
 def test_at_and_at_put_bytes():
     w_str = wrap("abc")
     prim_fails(primitives.AT_PUT, [w_str, 1, "d"])
@@ -236,7 +236,7 @@
 def test_invalid_at_put():
     w_obj = mockclass(space, 0).as_class_get_shadow(space).new()
     prim_fails(primitives.AT_PUT, [w_obj, 1, 22])
-    
+
 def test_size():
     w_obj = mockclass(space, 0, 
varsized=True).as_class_get_shadow(space).new(0)
     assert prim(primitives.SIZE, [w_obj]).value == 0
@@ -262,11 +262,11 @@
 
 def test_invalid_object_at():
     prim_fails(primitives.OBJECT_AT, ["q", constants.CHARACTER_VALUE_INDEX+2])
-    
+
 def test_invalid_object_at_put():
     w_obj = mockclass(space, 1).as_class_get_shadow(space).new()
     prim_fails(primitives.OBJECT_AT_PUT, [w_obj, 2, 42])
-    
+
 def test_string_at_put():
     test_str = wrap("foobar")
     assert prim(primitives.STRING_AT_PUT, [test_str, 4, "c"]) == wrap("c")
@@ -278,19 +278,19 @@
     w_Object = space.classtable['w_Object']
     w_res = prim(primitives.NEW, [w_Object])
     assert w_res.getclass(space).is_same_object(w_Object)
-    
+
 def test_invalid_new():
     prim_fails(primitives.NEW, [space.w_String])
 
 def test_new_with_arg():
     w_res = prim(primitives.NEW_WITH_ARG, [space.w_String, 20])
     assert w_res.getclass(space).is_same_object(space.w_String)
-    assert w_res.size() == 20    
+    assert w_res.size() == 20
 
 def test_invalid_new_with_arg():
     w_Object = space.classtable['w_Object']
     prim_fails(primitives.NEW_WITH_ARG, [w_Object, 20])
-    
+
 def test_inst_var_at():
     # n.b.: 1-based indexing!
     w_v = prim(primitives.INST_VAR_AT,
@@ -314,7 +314,7 @@
     # n.b.: 1-based indexing! (and an invalid index)
     prim_fails(primitives.INST_VAR_AT_PUT,
                ["q", constants.CHARACTER_VALUE_INDEX+2, "t"])
-    
+
 def test_class():
     assert prim(primitives.CLASS, ["string"]).is_same_object(space.w_String)
     assert prim(primitives.CLASS, [1]).is_same_object(space.w_SmallInteger)
@@ -357,7 +357,7 @@
     assert prim(primitives.FLOAT_GREATEROREQUAL, 
[3.5,4.9]).is_same_object(space.w_false)
     assert prim(primitives.FLOAT_EQUAL, [2.2,2.2]).is_same_object(space.w_true)
     assert prim(primitives.FLOAT_NOTEQUAL, 
[2.2,2.2]).is_same_object(space.w_false)
-    
+
 def test_block_copy_and_value():
     # see test_interpreter for tests of these opcodes
     return
@@ -406,7 +406,7 @@
     assert equals_ttp(-1,2,-4)
     assert equals_ttp(1.5,0,1.5)
     assert equals_ttp(1.5,-1,0.75)
-    
+
 def test_primitive_milliseconds_clock():
     import time
     start = prim(primitives.MILLISECOND_CLOCK, [0]).value
@@ -472,7 +472,7 @@
 def test_image_name():
     w_v = prim(primitives.IMAGE_NAME, [2])
     assert w_v.bytes == list(IMAGENAME)
-    
+
 def test_clone():
     w_obj = mockclass(space, 1, 
varsized=True).as_class_get_shadow(space).new(1)
     w_obj.atput0(space, 0, space.wrap_int(1))
@@ -480,7 +480,7 @@
     assert space.unwrap_int(w_v.at0(space, 0)) == 1
     w_obj.atput0(space, 0, space.wrap_int(2))
     assert space.unwrap_int(w_v.at0(space, 0)) == 1
-    
+
 def test_file_open_write(monkeypatch):
     def open_write(filename, mode, perm):
         assert filename == "nonexistant"
@@ -548,11 +548,13 @@
     from test_interpreter import new_frame
     w_frame, s_frame = new_frame("<never called, but used for method 
generation>",
             space=space)
-    w_block = prim(primitives.CLOSURE_COPY_WITH_COPIED_VALUES, map(wrap, 
-                    ["anActiveContext", 2, [wrap(1), wrap(2)]]), w_frame)
+    w_outer_frame, s_initial_context = new_frame("<never called, but used for 
method generation>",
+        space=space)
+    w_block = prim(primitives.CLOSURE_COPY_WITH_COPIED_VALUES, map(wrap,
+                    [w_outer_frame, 2, [wrap(1), wrap(2)]]), w_frame)
     assert w_block is not space.w_nil
     w_w_block = wrapper.BlockClosureWrapper(space, w_block)
-    assert w_w_block.startpc() is 0
+    assert w_w_block.startpc() is 5
     assert w_w_block.at0(0) == wrap(1)
     assert w_w_block.at0(1) == wrap(2)
     assert w_w_block.numArgs() is 2
@@ -575,9 +577,9 @@
     from test_interpreter import new_frame
     w_frame, s_initial_context = new_frame("<never called, but used for method 
generation>",
         space=space)
-    
+
     size_arguments = len(args)
-    closure = space.newClosure(w_frame, 4, #pc 
+    closure = space.newClosure(w_frame, 4, #pc
                                 size_arguments, copiedValues)
     s_initial_context.push_all([closure] + args)
     interp = interpreter.Interpreter(space)
@@ -695,11 +697,11 @@
     class DisplayFlush(Exception):
         pass
 
-    def flush_to_screen_mock():
+    def flush_to_screen_mock(self):
         raise DisplayFlush
 
     try:
-        monkeypatch.setattr(mock_display.fetch(space, 0), "flush_to_screen", 
flush_to_screen_mock)
+        monkeypatch.setattr(space.get_display().__class__, "flip", 
flush_to_screen_mock)
         with py.test.raises(DisplayFlush):
             prim(primitives.FORCE_DISPLAY_UPDATE, [mock_display])
     finally:
diff --git a/spyvm/test/test_shadow.py b/spyvm/test/test_shadow.py
--- a/spyvm/test/test_shadow.py
+++ b/spyvm/test/test_shadow.py
@@ -83,7 +83,7 @@
     w_m.literalsize = 2
     return w_m
 
-def methodcontext(w_sender=space.w_nil, pc=1, stackpointer=0, stacksize=5,
+def methodcontext(w_sender=space.w_nil, pc=13, stackpointer=0, stacksize=5,
                   method=method()):
     w_object = model.W_PointersObject(space, space.w_MethodContext, 
constants.MTHDCTX_TEMP_FRAME_START+method.tempsize+stacksize)
     w_object.store(space, constants.CTXPART_SENDER_INDEX, w_sender)
@@ -97,7 +97,7 @@
     w_object.store(space, constants.MTHDCTX_TEMP_FRAME_START, 
space.wrap_string('el'))
     return w_object
 
-def blockcontext(w_sender=space.w_nil, pc=1, stackpointer=1, stacksize=5,
+def blockcontext(w_sender=space.w_nil, pc=13, stackpointer=1, stacksize=5,
                   home=methodcontext()):
     w_object = model.W_PointersObject(space, space.w_MethodContext, 
constants.MTHDCTX_TEMP_FRAME_START+stacksize)
     w_object.store(space, constants.CTXPART_SENDER_INDEX, w_sender)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to