From 3cb44f563023c3db164eba6d905a1c6617324ae1 Mon Sep 17 00:00:00 2001 From: Matt Martz Date: Mon, 16 Oct 2017 09:26:47 -0500 Subject: [PATCH] Attempt to catch MemoryError if possible --- speedtest.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/speedtest.py b/speedtest.py index 7fa6590..bbc376b 100755 --- a/speedtest.py +++ b/speedtest.py @@ -743,11 +743,17 @@ class HTTPUploaderData(object): chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' multiplier = int(round(int(self.length) / 36.0)) IO = BytesIO or StringIO - self._data = IO( - ('content1=%s' % - (chars * multiplier)[0:int(self.length) - 9] - ).encode() - ) + try: + self._data = IO( + ('content1=%s' % + (chars * multiplier)[0:int(self.length) - 9] + ).encode() + ) + except MemoryError: + raise SpeedtestCLIError( + 'Insufficient memory to pre-allocate upload data. Please ' + 'use --no-pre-allocate' + ) @property def data(self):