Skip to content

Commit ac4a353

Browse files
cocoatomoDavies Liu
authored andcommitted
[PySpark] Fix tests with Python 2.6 in 1.0 branch
[SPARK-2951] [PySpark] support unpickle array.array for Python 2.6 Pyrolite can not unpickle array.array which pickled by Python 2.6, this patch fix it by extend Pyrolite. There is a bug in Pyrolite when unpickle array of float/double, this patch workaround it by reverse the endianness for float/double. This workaround should be removed after Pyrolite have a new release to fix this issue. [PySpark] [SPARK-2954] [SPARK-2948] [SPARK-2910] [SPARK-2101] Python 2.6 Fixes - Modify python/run-tests to test with Python 2.6 - Use unittest2 when running on Python 2.6. - Fix issue with namedtuple. - Skip TestOutputFormat.test_newhadoop on Python 2.6 until SPARK-2951 is fixed. - Fix MLlib _deserialize_double on Python 2.6. [SPARK-3867][PySpark] ./python/run-tests failed when it run with Python 2.6 and unittest2 is not installed ./python/run-tests search a Python 2.6 executable on PATH and use it if available. When using Python 2.6, it is going to import unittest2 module which is not a standard library in Python 2.6, so it fails with Import Author: cocoatomo <[email protected]> Author: Josh Rosen <[email protected]> Author: Davies Liu <[email protected]> Author: Davies Liu <[email protected]> Closes #3668 from davies/port_2365 and squashes the following commits: b32583d [Davies Liu] rollback _common.py bda1c72 [cocoatomo] [SPARK-3867][PySpark] ./python/run-tests failed when it run with Python 2.6 and unittest2 is not installed 14ad3d9 [Josh Rosen] [PySpark] [SPARK-2954] [SPARK-2948] [SPARK-2910] [SPARK-2101] Python 2.6 Fixes 7c55cff [Davies Liu] [SPARK-2951] [PySpark] support unpickle array.array for Python 2.6 Conflicts: python/pyspark/mllib/tests.py python/pyspark/tests.py python/run-tests
1 parent b060014 commit ac4a353

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

python/pyspark/tests.py

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,16 @@
2626
import sys
2727
from tempfile import NamedTemporaryFile
2828
import time
29-
import unittest
29+
30+
if sys.version_info[:2] <= (2, 6):
31+
try:
32+
import unittest2 as unittest
33+
except ImportError:
34+
sys.stderr.write('Please install unittest2 to test with Python 2.6 or earlier')
35+
sys.exit(1)
36+
else:
37+
import unittest
38+
3039

3140
from pyspark.context import SparkContext
3241
from pyspark.files import SparkFiles

python/run-tests

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,16 @@ function run_test() {
3333
FAILED=$((PIPESTATUS[0]||$FAILED))
3434
}
3535

36+
echo "Running PySpark tests. Output is in python/unit-tests.log."
37+
38+
# Try to test with Python 2.6, since that's the minimum version that we support:
39+
if [ $(which python2.6) ]; then
40+
export PYSPARK_PYTHON="python2.6"
41+
fi
42+
43+
echo "Testing with Python version:"
44+
$PYSPARK_PYTHON --version
45+
3646
run_test "pyspark/rdd.py"
3747
run_test "pyspark/context.py"
3848
run_test "pyspark/conf.py"

0 commit comments

Comments
 (0)