> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf
> Of Thomas Heller
> Sent: Thursday, May 03, 2007 17:04
> To: python-dev@python.org
> Subject: Re: [Python-Dev] x64 and the testsuite
>
> Kristján Valur Jónsson schrieb:
> > Hello again.
> > A lot of overflow tests fail in the testsuite, by expecting overflow
> using sys.maxint.
> > for example this line, 196, in test_index.py:
> self.assertEqual(x[self.neg:self.pos], (-1, maxint))
>
> On my (virtual) win64-machine, which has less than 1GB, quite some
> tests fail with MemoryError.
> The tests pass on 64-bit linux machines, though.
I haven't got memory error yet.  Many tests allocate some 4GB, and the OS 
happily
enters paging mode.  They then succeed eventually.
As for linux, many of the range overflow tests rely on sys.maxint.  Presumably,
this is 1<<63 on those machines?

If that is the case, I have two suggestions:
a) Propagate the Windows idiom of sizeof(size_t) != sizeof(long) by keeping
some sys.maxsize for list length, indices, etc.
b) Elevate int to 64 bits on windows too!
B is probably a huge change.  Not only change PyIntObject but probably create 
some Py_int and so on.
Ok, b) is not a real suggestion, then.


> > than the "64 bit" in sys.version test?  Should we have something like
> sys.bits?
>
> You can use 'struct.calcsize("P")' to find out the pointer size.
Hm, I could do that I suppose.
maxsize = (1L<<(struct.calcsize("P")*8-1))-1
minsize = maxsize-1

And use those in the testsuite...
K
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to