Test full range of native ints. This exposes two more binary pickle
bugs on sizeof(long)==8 machines. pickle.py has no idea what it's doing with very large ints, and variously gets things right by accident, computes nonsense, or generates corrupt pickles. cPickle fails on cases 2**31 <= i < 2**32: since it *thinks* those are 4-byte ints (the "high 4 bytes" are all zeroes), it stores them in the (signed!) BININT format, so they get unpickled as negative values.
Showing
Please
register
or
sign in
to comment