1 |
jlec 13/11/21 09:38:32 |
2 |
|
3 |
Added: mpi4py-1.3.1-py3-test-backport-1.patch |
4 |
Log: |
5 |
dev-python/mpi4py: Backport test fix for py3.3, #487836 |
6 |
|
7 |
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key B9D4F231BD1558AB!) |
8 |
|
9 |
Revision Changes Path |
10 |
1.1 dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch?rev=1.1&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch?rev=1.1&content-type=text/plain |
14 |
|
15 |
Index: mpi4py-1.3.1-py3-test-backport-1.patch |
16 |
=================================================================== |
17 |
test/test_win.py | 48 +++++++++++++++++++++++++++++++++++++----------- |
18 |
1 file changed, 37 insertions(+), 11 deletions(-) |
19 |
|
20 |
diff --git a/test/test_win.py b/test/test_win.py |
21 |
index 6da5c1f..7127e56 100644 |
22 |
--- a/test/test_win.py |
23 |
+++ b/test/test_win.py |
24 |
@@ -1,6 +1,30 @@ |
25 |
import sys |
26 |
from mpi4py import MPI |
27 |
import mpiunittest as unittest |
28 |
+try: |
29 |
+ from sys import getrefcount |
30 |
+except ImportError: |
31 |
+ class getrefcount(object): |
32 |
+ def __init__(self, arg): |
33 |
+ pass |
34 |
+ def __eq__(self, other): |
35 |
+ return True |
36 |
+ def __add__(self, other): |
37 |
+ return self |
38 |
+ def __sub__(self, other): |
39 |
+ return self |
40 |
+ |
41 |
+def memzero(m): |
42 |
+ n = len(m) |
43 |
+ if n == 0: return |
44 |
+ try: |
45 |
+ zero = '\0'.encode('ascii') |
46 |
+ m[0] = zero |
47 |
+ except TypeError: |
48 |
+ zero = 0 |
49 |
+ m[0] = zero |
50 |
+ for i in range(n): |
51 |
+ m[i] = zero |
52 |
|
53 |
class BaseTestWin(object): |
54 |
|
55 |
@@ -11,29 +35,31 @@ class BaseTestWin(object): |
56 |
try: |
57 |
self.mpi_memory = MPI.Alloc_mem(10) |
58 |
self.memory = self.mpi_memory |
59 |
- try: |
60 |
- zero = bytearray([0]) |
61 |
- except NameError: |
62 |
- zero = str('\0') |
63 |
- self.memory[:] = zero * len(self.memory) |
64 |
+ memzero(self.memory) |
65 |
except MPI.Exception: |
66 |
from array import array |
67 |
self.mpi_memory = None |
68 |
self.memory = array('B',[0]*10) |
69 |
- refcnt = sys.getrefcount(self.memory) |
70 |
+ refcnt = getrefcount(self.memory) |
71 |
self.WIN = MPI.Win.Create(self.memory, 1, self.INFO, self.COMM) |
72 |
if type(self.memory).__name__ == 'buffer': |
73 |
- self.assertEqual(sys.getrefcount(self.memory), refcnt+1) |
74 |
+ self.assertEqual(getrefcount(self.memory), refcnt+1) |
75 |
else: |
76 |
- self.assertEqual(sys.getrefcount(self.memory), refcnt) |
77 |
+ if sys.version_info[:3] < (3, 3): |
78 |
+ self.assertEqual(getrefcount(self.memory), refcnt) |
79 |
+ else: |
80 |
+ self.assertEqual(getrefcount(self.memory), refcnt+1) |
81 |
|
82 |
def tearDown(self): |
83 |
- refcnt = sys.getrefcount(self.memory) |
84 |
+ refcnt = getrefcount(self.memory) |
85 |
self.WIN.Free() |
86 |
if type(self.memory).__name__ == 'buffer': |
87 |
- self.assertEqual(sys.getrefcount(self.memory), refcnt-1) |
88 |
+ self.assertEqual(getrefcount(self.memory), refcnt-1) |
89 |
else: |
90 |
- self.assertEqual(sys.getrefcount(self.memory), refcnt) |
91 |
+ if sys.version_info[:3] < (3, 3): |
92 |
+ self.assertEqual(getrefcount(self.memory), refcnt) |
93 |
+ else: |
94 |
+ self.assertEqual(getrefcount(self.memory), refcnt-1) |
95 |
if self.mpi_memory: |
96 |
MPI.Free_mem(self.mpi_memory) |