Skip to content

Commit 9d992cd

Browse files
committed
Remove duplicate tests from test_msgfmt.
A number of tests that had initially been created for Test_multi_inputs now exists in other classes. Additionally, one test was about calling an inner function which is an implementation detail.
1 parent 08bc8d7 commit 9d992cd

File tree

1 file changed

+14
-65
lines changed

1 file changed

+14
-65
lines changed

Lib/test/test_tools/test_msgfmt.py

Lines changed: 14 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -126,62 +126,29 @@ def test_nonexistent_file(self):
126126

127127
class Test_multi_input(unittest.TestCase):
128128
"""Tests for the issue https://github.com/python/cpython/issues/79516
129-
msgfmt.py shall accept multiple input files and when imported
130-
make shall be callable multiple times
129+
msgfmt.py shall accept multiple input files
131130
"""
132131

133-
script = os.path.join(toolsdir, 'i18n', 'msgfmt.py')
134-
135-
def imp(self):
136-
i18ndir = os.path.join(toolsdir, 'i18n')
137-
sys.path.append(i18ndir)
138-
import msgfmt
139-
sys.path.remove(i18ndir)
140-
return msgfmt
141-
142-
def test_help(self):
143-
"""Test option -h"""
144-
rc, stdout, stderr = assert_python_ok(self.script, '-h')
145-
self.assertEqual(0, rc)
146-
self.assertTrue(stderr.startswith(
147-
b'Generate binary message catalog from textual'
148-
b' translation description.'
149-
))
150-
151-
def test_wrong(self):
152-
"""Test wrong option"""
153-
rc, stdout, stderr = assert_python_failure(self.script, '-x')
154-
self.assertEqual(1, rc)
155-
self.assertTrue(stderr.startswith(
156-
b'Generate binary message catalog from textual'
157-
b' translation description.'
158-
))
159-
160-
def test_outputfile(self):
161-
"""Test script with -o option - 1 single file, Windows EOL"""
162-
with temp_cwd(None):
163-
assert_python_ok(self.script, '-o', 'file1.mo',
164-
data_dir / 'file1_fr.po')
165-
self.assertTrue(
166-
filecmp.cmp(data_dir / 'file1_fr.mo', 'file1.mo'),
167-
'Wrong compiled file1_fr.mo')
168-
169132
def test_no_outputfile(self):
170-
"""Test script without -o option - 1 single file, Unix EOL"""
133+
"""Test script without -o option - 1 single file"""
171134
with temp_cwd(None):
172135
shutil.copy(data_dir / 'file2_fr.po', '.')
173-
assert_python_ok(self.script, 'file2_fr.po')
136+
assert_python_ok(msgfmt, 'file2_fr.po')
174137
self.assertTrue(
175138
filecmp.cmp(data_dir / 'file2_fr.mo', 'file2_fr.mo'),
176139
'Wrong compiled file2_fr.mo')
177140

178141
def test_both_with_outputfile(self):
179-
"""Test script with -o option and 2 input files"""
180-
# msgfmt.py version 1.2 behaviour is to correctly merge the input
181-
# files and to keep last entry when same entry occurs in more than
182-
# one file
142+
"""Test script with -o option and 2 input files
143+
144+
The current behaviour is to merge entries having distinct ids
145+
and keep last one if the same id occurs in multiple files.
146+
147+
Here the first file has Windows endings (cflr) while second has
148+
Unix endings (lf)
149+
"""
183150
with temp_cwd(None):
184-
assert_python_ok(self.script, '-o', 'file12.mo',
151+
assert_python_ok(msgfmt, '-o', 'file12.mo',
185152
data_dir / 'file1_fr.po',
186153
data_dir / 'file2_fr.po')
187154
self.assertTrue(
@@ -190,36 +157,18 @@ def test_both_with_outputfile(self):
190157

191158
def test_both_without_outputfile(self):
192159
"""Test script without -o option and 2 input files"""
193-
# msgfmt.py version 1.2 behaviour was that second mo file
194-
# also merged previous po files
160+
195161
with temp_cwd(None):
196162
shutil.copy(data_dir /'file1_fr.po', '.')
197163
shutil.copy(data_dir /'file2_fr.po', '.')
198-
assert_python_ok(self.script, 'file1_fr.po', 'file2_fr.po')
164+
assert_python_ok(msgfmt, 'file1_fr.po', 'file2_fr.po')
199165
self.assertTrue(
200166
filecmp.cmp(data_dir / 'file1_fr.mo', 'file1_fr.mo'),
201167
'Wrong compiled file1_fr.mo')
202168
self.assertTrue(
203169
filecmp.cmp(data_dir / 'file2_fr.mo', 'file2_fr.mo'),
204170
'Wrong compiled file2_fr.mo')
205171

206-
def test_consecutive_make_calls(self):
207-
"""Directly calls make twice to prove bpo-9741 is fixed"""
208-
sys.path.append(os.path.join(toolsdir, 'i18n'))
209-
from msgfmt import make
210-
with temp_cwd(None):
211-
with open("file1_fr.po", "wb") as out:
212-
out.write(self.file1_fr_po)
213-
with open("file2_fr.po", "wb") as out:
214-
out.write(self.file2_fr_po)
215-
make("file1_fr.po", "file1_fr.mo")
216-
make("file2_fr.po", "file2_fr.mo")
217-
with open('file1_fr.mo', 'rb') as fin:
218-
self.assertEqual(self.file1_fr_mo, fin.read())
219-
with open('file2_fr.mo', 'rb') as fin:
220-
self.assertEqual(self.file2_fr_mo, fin.read())
221-
sys.path.pop()
222-
223172

224173
def update_catalog_snapshots():
225174
for po_file in data_dir.glob('*.po'):

0 commit comments

Comments
 (0)