Mercurial > p > roundup > code
annotate test/test_anypy.py @ 6557:8687c096a945
Handle configparser.InterpolationSyntaxError
Under Python 3, an option value with a single % (e.g. this % is a
test) throws
configparser.InterpolationSyntaxError: '%' must be followed by
'%' or '(', found: '%s))'
Added code to capture this, raise a different exception. roundup-admin
handles the error and exits cleanly. Other code shows the traceback.
The new error message reports the file, section and option causing the
problem to allow easier repair.
Also updated roundup translations and added tests.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 13 Dec 2021 12:48:57 -0500 |
| parents | e4db9d0b85c7 |
| children | c65e0a725c88 |
| rev | line source |
|---|---|
|
6532
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 """Random tests for anypy modules""" |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 import unittest |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 from roundup.anypy.strings import repr_export, eval_import |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 import sys |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 _py3 = sys.version_info[0] > 2 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
9 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
10 class StringsTest(unittest.TestCase): |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
11 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 def test_import_params(self): |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 """ issue2551170 - handle long int in history/journal |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 params tuple |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
15 """ |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
16 # python2 export with id as number |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
17 val = eval_import("('issue', 2345L, 'status')") |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
18 self.assertSequenceEqual(val, ('issue', 2345, 'status')) |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
19 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
20 # python3 export with id as number |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
21 val = eval_import("('issue', 2345, 'status')") |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
22 self.assertSequenceEqual(val, ('issue', 2345, 'status')) |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 # python2 or python3 export with id as string |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 val = eval_import("('issue', '2345', 'status')") |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 self.assertSequenceEqual(val, ('issue', '2345', 'status')) |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
27 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
28 def test_export_params(self): |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
29 """ issue2551170 - handle long int in history/journal |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
30 params tuple |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
31 """ |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
32 # python2 export with id as number |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
33 if _py3: |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
34 val = repr_export(('issue', 2345, 'status')) |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
35 self.assertEqual(val, "('issue', 2345, 'status')") |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
36 else: |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
37 val = repr_export(('issue', long(2345), 'status')) |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
38 self.assertEqual(val, "('issue', 2345L, 'status')") |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
39 |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
40 # python2 or python3 export with id as string |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
41 val = repr_export(('issue', '2345', 'status')) |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
42 self.assertEqual(val, "('issue', '2345', 'status')") |
|
e4db9d0b85c7
test for issue2551170 process python 2 long under python3
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
43 |
