Author: Ronan Lamy <ronan.l...@gmail.com>
Branch: 
Changeset: r82663:db9d97b06d3a
Date: 2016-03-02 20:16 +0000
http://bitbucket.org/pypy/pypy/changeset/db9d97b06d3a/

Log:    cleanup

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
@@ -13,7 +13,7 @@
 from rpython.rlib.rarithmetic import r_int, r_uint, r_longlong, r_ulonglong
 
 import py
-from hypothesis import given, settings
+from hypothesis import settings
 from hypothesis.strategies import (
     builds, sampled_from, binary, just, integers, text, characters, tuples)
 from hypothesis.stateful import GenericStateMachine, run_state_machine_as_test
@@ -1145,15 +1145,20 @@
         assert sorted(DICT.TO.entries.TO.OF._flds) == ['f_hash', 'key', 
'value']
 
 
+class Action(object):
+    def __init__(self, method, args):
+        self.method = method
+        self.args = args
 
-class Action(object):
+    def execute(self, space):
+        getattr(space, self.method)(*self.args)
+
     def __repr__(self):
-        return "%s()" % self.__class__.__name__
+        return "space.%s(%s)" % (self.method, ', '.join(map(repr, self.args)))
 
 class PseudoRTyper:
     cache_dummy_values = {}
 
-
 # XXX: None keys crash the test, but translation sort-of allows it
 keytypes_s = [
     SomeString(), SomeInteger(), SomeChar(),
@@ -1204,53 +1209,27 @@
             assert (rdict.ll_dict_getitem(self.l_dict, self.ll_key(key)) ==
                 self.ll_value(value))
 
-class SetItem(Action):
-    def __init__(self, key, value):
-        self.key = key
-        self.value = value
-
-    def __repr__(self):
-        return 'SetItem(%r, %r)' % (self.key, self.value)
-
-    def execute(self, space):
-        space.setitem(self.key, self.value)
-
-class DelItem(Action):
-    def __init__(self, key):
-        self.key = key
-
-    def __repr__(self):
-        return 'DelItem(%r)' % (self.key)
-
-    def execute(self, space):
-        space.delitem(self.key)
-
-class CopyDict(Action):
-    def execute(self, space):
-        space.copydict()
-
-class ClearDict(Action):
-    def execute(self, space):
-        space.cleardict()
-
 class StressTest(GenericStateMachine):
     def __init__(self):
         self.space = None
 
     def st_setitem(self):
-        return builds(SetItem, self.st_keys, self.st_values)
+        return builds(Action,
+            just('setitem'), tuples(self.st_keys, self.st_values))
 
     def st_updateitem(self):
-        return builds(SetItem, sampled_from(self.space.reference),
-            self.st_values)
+        return builds(Action,
+            just('setitem'),
+            tuples(sampled_from(self.space.reference), self.st_values))
 
     def st_delitem(self):
-        return builds(DelItem, sampled_from(self.space.reference))
+        return builds(Action,
+            just('delitem'), tuples(sampled_from(self.space.reference)))
 
     def steps(self):
         if not self.space:
-            return builds(Space, st_keys, st_values)
-        global_actions = [CopyDict(), ClearDict()]
+            return builds(Action, just('setup'), tuples(st_keys, st_values))
+        global_actions = [Action('copydict', ()), Action('cleardict', ())]
         if self.space.reference:
             return (
                 self.st_setitem() | sampled_from(global_actions) |
@@ -1259,8 +1238,8 @@
             return (self.st_setitem() | sampled_from(global_actions))
 
     def execute_step(self, action):
-        if isinstance(action, Space):
-            self.space = action
+        if action.method == 'setup':
+            self.space = Space(*action.args)
             self.st_keys = ann2strategy(self.space.s_key)
             self.st_values = ann2strategy(self.space.s_value)
             return
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to