diff --git a/src/testsuite.in b/src/testsuite.in index 73aa194e1d3298a53a32c9da8d280304cc43fe1a..3c1c7689e0b3bc0a38cb814289ee6fd145d21c91 100644 --- a/src/testsuite.in +++ b/src/testsuite.in @@ -1,4 +1,4 @@ -test_true([["$Id: testsuite.in,v 1.260 2000/01/07 04:19:53 mast Exp $"]]); +test_true([["$Id: testsuite.in,v 1.261 2000/01/19 17:57:05 mast Exp $"]]); cond([[all_constants()->_verify_internals]], [[ @@ -956,6 +956,34 @@ test_any_equal([[ ({(["a":1]),(["a":1])}), (["a":1,"b":"d"])})) +test_any_equal([[ + /* This test tests a wild program pointer in the object o. The bug can trig + a coredump in a later test. */ + class A { + array a = ({1}); + void `->= (string var, mixed val) {::`->= (var, val);} + }; + class B { + inherit A; + void `->= (string var, mixed val) {if (var) ::`->= (var, val);} + }; + object o = B(); + o->a += ({2}); + return o->a; +]], ({1,2})) +test_any_equal([[ + class A { + array a = ({1}); + void `->= (string var, mixed val) {::`->= (var, val);} + }; + class B { + inherit A; + }; + object o = B(); + o->a += ({2}); + return o->a; +]], ({1,2})) + test_true(mappingp(_memory_usage())) test_true(_refs("")); test_true(_refs(({})));