8000 [3.12] gh-122798: Make tests for warnings in the re module more stric… · python/cpython@10adcb4 · GitHub
[go: up one dir, main page]

Skip to content

Commit 10adcb4

Browse files
[3.12] gh-122798: Make tests for warnings in the re module more strict (GH-122799) (#122805)
(cherry picked from commit d2e5be1) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
1 parent 0edfc66 commit 10adcb4

File tree

1 file changed

+40
-11
lines changed

1 file changed

+40
-11
lines changed

Lib/test/test_re.py

Lines changed: 40 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,47 +1052,76 @@ def test_not_literal(self):
10521052

10531053
def test_possible_set_operations(self):
10541054
s = bytes(range(128)).decode()
1055-
with self.assertWarns(FutureWarning):
1055+
with self.assertWarnsRegex(FutureWarning, 'Possible set difference') as w:
10561056
p = re.compile(r'[0-9--1]')
1057+
self.assertEqual(w.filename, __file__)
10571058
self.assertEqual(p.findall(s), list('-./0123456789'))
1059+
with self.assertWarnsRegex(FutureWarning, 'Possible set difference') as w:
1060+
self.assertEqual(re.findall(r'[0-9--2]', s), list('-./0123456789'))
1061+
self.assertEqual(w.filename, __file__)
1062+
10581063
self.assertEqual(re.findall(r'[--1]', s), list('-./01'))
1059-
with self.assertWarns(FutureWarning):
1064+
1065+
with self.assertWarnsRegex(FutureWarning, 'Possible set difference') as w:
10601066
p = re.compile(r'[%--1]')
1067+
self.assertEqual(w.filename, __file__)
10611068
self.assertEqual(p.findall(s), list("%&'()*+,-1"))
1062-
with self.assertWarns(FutureWarning):
1069+
1070+
with self.assertWarnsRegex(FutureWarning, 'Possible set difference ') as w:
10631071
p = re.compile(r'[%--]')
1072+
self.assertEqual(w.filename, __file__)
10641073
self.assertEqual(p.findall(s), list("%&'()*+,-"))
10651074

1066-
with self.assertWarns(FutureWarning):
1075+
with self.assertWarnsRegex(FutureWarning, 'Possible set intersection ') as w:
10671076
p = re.compile(r'[0-9&&1]')
1077+
self.assertEqual(w.filename, __file__)
10681078
self.assertEqual(p.findall(s), list('&0123456789'))
1069-
with self.assertWarns(FutureWarning):
1079+
with self.assertWarnsRegex(FutureWarning, 'Possible set intersection ') as w:
1080+
self.assertEqual(re.findall(r'[0-8&&1]', s), list('&012345678'))
1081+
self.assertEqual(w.filename, __file__)
1082+
1083+
with self.assertWarnsRegex(FutureWarning, 'Possible set intersection ') as w:
10701084
p = re.compile(r'[\d&&1]')
1085+
self.assertEqual(w.filename, __file__)
10711086
self.assertEqual(p.findall(s), list('&0123456789'))
1087+
10721088< 10000 code class="diff-text syntax-highlighted-line">
self.assertEqual(re.findall(r'[&&1]', s), list('&1'))
10731089

1074-
with self.assertWarns(FutureWarning):
1090+
with self.assertWarnsRegex(FutureWarning, 'Possible set union ') as w:
10751091
p = re.compile(r'[0-9||a]')
1092+
self.assertEqual(w.filename, __file__)
10761093
self.assertEqual(p.findall(s), list('0123456789a|'))
1077-
with self.assertWarns(FutureWarning):
1094+
1095+
with self.assertWarnsRegex(FutureWarning, 'Possible set union ') as w:
10781096
p = re.compile(r'[\d||a]')
1097+
self.assertEqual(w.filename, __file__)
10791098
self.assertEqual(p.findall(s), list('0123456789a|'))
1099+
10801100
self.assertEqual(re.findall(r'[||1]', s), list('1|'))
10811101

1082-
with self.assertWarns(FutureWarning):
1102+
with self.assertWarnsRegex(FutureWarning, 'Possible set symmetric difference ') as w:
10831103
p = re.compile(r'[0-9~~1]')
1104+
self.assertEqual(w.filename, __file__)
10841105
self.assertEqual(p.findall(s), list('0123456789~'))
1085-
with self.assertWarns(FutureWarning):
1106+
1107+
with self.assertWarnsRegex(FutureWarning, 'Possible set symmetric difference ') as w:
10861108
p = re.compile(r'[\d~~1]')
1109+
self.assertEqual(w.filename, __file__)
10871110
self.assertEqual(p.findall(s), list('0123456789~'))
1111+
10881112
self.assertEqual(re.findall(r'[~~1]', s), list('1~'))
10891113

1090-
with self.assertWarns(FutureWarning):
1114+
with self.assertWarnsRegex(FutureWarning, 'Possible nested set ') as w:
10911115
p = re.compile(r'[[0-9]|]')
1116+
self.assertEqual(w.filename, __file__)
10921117
self.assertEqual(p.findall(s), list('0123456789[]'))
1118+
with self.assertWarnsRegex(FutureWarning, 'Possible nested set ') as w:
1119+
self.assertEqual(re.findall(r'[[0-8]|]', s), list('012345678[]'))
1120+
self.assertEqual(w.filename, __file__)
10931121

1094-
with self.assertWarns(FutureWarning):
1122+
with self.assertWarnsRegex(FutureWarning, 'Possible nested set ') as w:
10951123
p = re.compile(r'[[:digit:]|]')
1124+
self.assertEqual(w.filename, __file__)
10961125
self.assertEqual(p.findall(s), list(':[]dgit'))
10971126

10981127
def test_search_coverage(self):

0 commit comments

Comments
 (0)
0