Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r89421:feb960899f2a
Date: 2017-01-08 16:59 +0100
http://bitbucket.org/pypy/pypy/changeset/feb960899f2a/

Log:    Pass test_invalid_context

diff --git a/lib_pypy/_decimal.py b/lib_pypy/_decimal.py
--- a/lib_pypy/_decimal.py
+++ b/lib_pypy/_decimal.py
@@ -1086,26 +1086,30 @@
 
         if traps is None:
             ctx.traps = dc.traps
-        elif not isinstance(traps, dict):
+        elif isinstance(traps, list):
             ctx.traps = 0
             for signal in traps:
                 ctx.traps |= _SIGNALS[signal]
-        else:
+        elif isinstance(traps, dict):
             ctx.traps = 0
             for signal, value in traps.items():
                 if value:
                     ctx.traps |= _SIGNALS[signal]
+        else:
+            self.traps = traps
 
         if flags is None:
             ctx.status = 0
-        elif not isinstance(flags, dict):
+        elif isinstance(flags, list):
             ctx.status = 0
             for signal in flags:
                 ctx.status |= _SIGNALS[signal]
-        else:
+        elif isinstance(flags, dict):
             for signal, value in flags.items():
                 if value:
                     ctx.status |= _SIGNALS[signal]
+        else:
+            self.flags = flags
 
     def clear_flags(self):
         self._ctx.status = 0
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to