Author: Ronan Lamy <ronan.l...@gmail.com> Branch: Changeset: r82614:b212924f1c8d Date: 2016-02-29 16:06 +0000 http://bitbucket.org/pypy/pypy/changeset/b212924f1c8d/
Log: Add clear() and copy() actions diff --git a/rpython/rtyper/test/test_rdict.py b/rpython/rtyper/test/test_rdict.py --- a/rpython/rtyper/test/test_rdict.py +++ b/rpython/rtyper/test/test_rdict.py @@ -1304,6 +1304,15 @@ del state.reference[self.key] assert not rdict.ll_contains(state.l_dict, ll_key) +class CopyDict(Action): + def execute(self, state): + state.l_dict = rdict.ll_copy(state.l_dict) + +class ClearDict(Action): + def execute(self, state): + rdict.ll_clear(state.l_dict) + state.reference.clear() + class CompleteCheck(Action): def execute(self, state): assert state.l_dict.num_items == len(state.reference) @@ -1333,7 +1342,13 @@ self.reference = {} def steps(self): - return (st_setitem | st_delitem(self.reference) | just(CompleteCheck())) if self.reference else (st_setitem | just(CompleteCheck())) + global_actions = [CopyDict(), ClearDict(), CompleteCheck()] + if self.reference: + return ( + st_setitem | st_delitem(self.reference) | + sampled_from(global_actions)) + else: + return (st_setitem | sampled_from(global_actions)) def execute_step(self, action): action.execute(self) _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit