From 1b503a7b2fca00741f83216543a99e4c99c97ecc Mon Sep 17 00:00:00 2001 From: Andrew Port Date: Thu, 23 Sep 2021 00:15:37 -0700 Subject: [PATCH] fix test that failed in python2 due to changes to hash builtin --- test/test_path.py | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/test/test_path.py b/test/test_path.py index 8f4ab72..0c644f3 100644 --- a/test/test_path.py +++ b/test/test_path.py @@ -1,5 +1,7 @@ # External dependencies from __future__ import division, absolute_import, print_function + +import sys import unittest from math import sqrt, pi from operator import itemgetter @@ -738,26 +740,27 @@ class TestPath(unittest.TestCase): test_curves = [bezpath, bezpathz, path, pathz, lpath, qpath, cpath, apath, line1, arc1, arc2, cub1, cub2, quad3, linez] - expected_hashes = [ - -6073024107272494569, - -2519772625496438197, - 8726412907710383506, - 2132930052750006195, - 3112548573593977871, - 991446120749438306, - -5589397644574569777, - -4438808571483114580, - -3125333407400456536, - -4418099728831808951, - 702646573139378041, - -6331016786776229094, - 5053050772929443013, - 6102272282813527681, - -5385294438006156225, - ] + # this is necessary due to changes to the builtin `hash` function + if sys.version_info.major == 2: + expected_hashes = [ + -5762846476463470127, -138736730317965290, -2005041722222729058, + 8448700906794235291, -5178990533869800243, -4003140762934044601, + 8575549467429100514, 5166859065265868968, 1373103287265872323, + -1022491904150314631, 4188352014604112779, -5090374009174854814, + -7093907105533857815, 2036243740727202243, -8108488067585685407] + else: + expected_hashes = [ + -6073024107272494569, -2519772625496438197, 8726412907710383506, + 2132930052750006195, 3112548573593977871, 991446120749438306, + -5589397644574569777, -4438808571483114580, -3125333407400456536, + -4418099728831808951, 702646573139378041, -6331016786776229094, + 5053050772929443013, 6102272282813527681, -5385294438006156225, + ] for c, h in zip(test_curves, expected_hashes): - self.assertTrue(hash(c) == h, msg=f"hash {h} was expected for curve = {c}") + if hash(c) != h: + from pdb import set_trace; set_trace() + self.assertTrue(hash(c) == h, msg="hash {} was expected for curve = {}".format(h, c)) def test_circle(self): arc1 = Arc(0j, 100 + 100j, 0, 0, 0, 200 + 0j)