* gnu/packages/patches/python-babel-fix-parse-future-test.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/python-xyz.scm (python-babel): Use it.
		
			
				
	
	
		
			68 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 7bdaa28a55e8d8228d5434effa4b1473ab7b3669 Mon Sep 17 00:00:00 2001
 | 
						|
From: Felix Schwarz <felix.schwarz@oss.schwarz.eu>
 | 
						|
Date: Tue, 5 May 2020 08:05:56 +0000
 | 
						|
Subject: [PATCH] fix tests when using Python 3.9a6
 | 
						|
 | 
						|
In Python 3.9a6 integer values for future flags were changed to prevent
 | 
						|
collision with compiler flags. We need to retrieve these at runtime so
 | 
						|
the test suite works with Python <= 3.8 as well as Python 3.9.
 | 
						|
---
 | 
						|
 tests/test_util.py | 17 ++++++++++++-----
 | 
						|
 1 file changed, 12 insertions(+), 5 deletions(-)
 | 
						|
 | 
						|
diff --git a/tests/test_util.py b/tests/test_util.py
 | 
						|
index a6a4450c..b9343aaa 100644
 | 
						|
--- a/tests/test_util.py
 | 
						|
+++ b/tests/test_util.py
 | 
						|
@@ -11,6 +11,7 @@
 | 
						|
 # individuals. For the exact contribution history, see the revision
 | 
						|
 # history and logs, available at http://babel.edgewall.org/log/.
 | 
						|
 
 | 
						|
+import __future__
 | 
						|
 import unittest
 | 
						|
 
 | 
						|
 import pytest
 | 
						|
@@ -20,6 +21,12 @@
 | 
						|
 from babel.util import parse_future_flags
 | 
						|
 
 | 
						|
 
 | 
						|
+class _FF:
 | 
						|
+    division         = __future__.division.compiler_flag
 | 
						|
+    print_function   = __future__.print_function.compiler_flag
 | 
						|
+    with_statement   = __future__.with_statement.compiler_flag
 | 
						|
+    unicode_literals = __future__.unicode_literals.compiler_flag
 | 
						|
+
 | 
						|
 def test_distinct():
 | 
						|
     assert list(util.distinct([1, 2, 1, 3, 4, 4])) == [1, 2, 3, 4]
 | 
						|
     assert list(util.distinct('foobar')) == ['f', 'o', 'b', 'a', 'r']
 | 
						|
@@ -70,25 +77,25 @@ def test_parse_encoding_non_ascii():
 | 
						|
 from __future__ import print_function,
 | 
						|
     division, with_statement,
 | 
						|
     unicode_literals
 | 
						|
-''', 0x10000 | 0x2000 | 0x8000 | 0x20000),
 | 
						|
+''', _FF.print_function | _FF.division | _FF.with_statement | _FF.unicode_literals),
 | 
						|
     ('''
 | 
						|
 from __future__ import print_function, division
 | 
						|
 print('hello')
 | 
						|
-''', 0x10000 | 0x2000),
 | 
						|
+''', _FF.print_function | _FF.division),
 | 
						|
     ('''
 | 
						|
 from __future__ import print_function, division, unknown,,,,,
 | 
						|
 print 'hello'
 | 
						|
-''', 0x10000 | 0x2000),
 | 
						|
+''', _FF.print_function | _FF.division),
 | 
						|
     ('''
 | 
						|
 from __future__ import (
 | 
						|
     print_function,
 | 
						|
     division)
 | 
						|
-''', 0x10000 | 0x2000),
 | 
						|
+''', _FF.print_function | _FF.division),
 | 
						|
     ('''
 | 
						|
 from __future__ import \\
 | 
						|
     print_function, \\
 | 
						|
     division
 | 
						|
-''', 0x10000 | 0x2000),
 | 
						|
+''', _FF.print_function | _FF.division),
 | 
						|
 ])
 | 
						|
 def test_parse_future(source, result):
 | 
						|
     fp = BytesIO(source.encode('latin-1'))
 |