gentoo/dev-python/mpi4py/files/mpi4py-1.3.1-py3-test-backport-1.patch
Robin H. Johnson 56bd759df1
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.

This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.

Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.

Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
2015-08-08 17:38:18 -07:00

82 lines
2.7 KiB
Diff

test/test_win.py | 48 +++++++++++++++++++++++++++++++++++++-----------
1 file changed, 37 insertions(+), 11 deletions(-)
diff --git a/test/test_win.py b/test/test_win.py
index 6da5c1f..7127e56 100644
--- a/test/test_win.py
+++ b/test/test_win.py
@@ -1,6 +1,30 @@
import sys
from mpi4py import MPI
import mpiunittest as unittest
+try:
+ from sys import getrefcount
+except ImportError:
+ class getrefcount(object):
+ def __init__(self, arg):
+ pass
+ def __eq__(self, other):
+ return True
+ def __add__(self, other):
+ return self
+ def __sub__(self, other):
+ return self
+
+def memzero(m):
+ n = len(m)
+ if n == 0: return
+ try:
+ zero = '\0'.encode('ascii')
+ m[0] = zero
+ except TypeError:
+ zero = 0
+ m[0] = zero
+ for i in range(n):
+ m[i] = zero
class BaseTestWin(object):
@@ -11,29 +35,31 @@ class BaseTestWin(object):
try:
self.mpi_memory = MPI.Alloc_mem(10)
self.memory = self.mpi_memory
- try:
- zero = bytearray([0])
- except NameError:
- zero = str('\0')
- self.memory[:] = zero * len(self.memory)
+ memzero(self.memory)
except MPI.Exception:
from array import array
self.mpi_memory = None
self.memory = array('B',[0]*10)
- refcnt = sys.getrefcount(self.memory)
+ refcnt = getrefcount(self.memory)
self.WIN = MPI.Win.Create(self.memory, 1, self.INFO, self.COMM)
if type(self.memory).__name__ == 'buffer':
- self.assertEqual(sys.getrefcount(self.memory), refcnt+1)
+ self.assertEqual(getrefcount(self.memory), refcnt+1)
else:
- self.assertEqual(sys.getrefcount(self.memory), refcnt)
+ if sys.version_info[:3] < (3, 3):
+ self.assertEqual(getrefcount(self.memory), refcnt)
+ else:
+ self.assertEqual(getrefcount(self.memory), refcnt+1)
def tearDown(self):
- refcnt = sys.getrefcount(self.memory)
+ refcnt = getrefcount(self.memory)
self.WIN.Free()
if type(self.memory).__name__ == 'buffer':
- self.assertEqual(sys.getrefcount(self.memory), refcnt-1)
+ self.assertEqual(getrefcount(self.memory), refcnt-1)
else:
- self.assertEqual(sys.getrefcount(self.memory), refcnt)
+ if sys.version_info[:3] < (3, 3):
+ self.assertEqual(getrefcount(self.memory), refcnt)
+ else:
+ self.assertEqual(getrefcount(self.memory), refcnt-1)
if self.mpi_memory:
MPI.Free_mem(self.mpi_memory)