Closed kloczek closed 3 years ago
2.9.8 didnβt fail for you like that?
It looks like only these two test cases are failing for you:
@unittest.skipUnless(
IMPORT_LIBVOIKKO_SUCCESSFUL,
"Skipping because this test requires python3-libvoikko to work.")
def test_voikko(self):
self.engine.set_current_imes(
['NoIME'], update_gsettings=False)
self.engine.set_dictionary_names(
['fi_FI'], update_gsettings=False)
self.engine.do_process_key_event(IBus.KEY_k, 0, 0)
self.engine.do_process_key_event(IBus.KEY_i, 0, 0)
self.engine.do_process_key_event(IBus.KEY_s, 0, 0)
self.engine.do_process_key_event(IBus.KEY_s, 0, 0)
self.engine.do_process_key_event(IBus.KEY_s, 0, 0)
self.engine.do_process_key_event(IBus.KEY_a, 0, 0)
self.assertEqual(self.engine._candidates, [
('kissa', -1, '', False, True),
('kissaa', -1, '', False, True),
('kisassa', -1, '', False, True),
('kisussa', -1, '', False, True)
])
@unittest.skipUnless(
IMPORT_LIBVOIKKO_SUCCESSFUL,
"Skipping because this test requires python3-libvoikko to work.")
def test_voikko_en_GB_fi_FI(self):
self.engine.set_current_imes(
['NoIME'], update_gsettings=False)
self.engine.set_dictionary_names(
['en_GB', 'fi_FI'], update_gsettings=False)
self.engine.do_process_key_event(IBus.KEY_k, 0, 0)
self.engine.do_process_key_event(IBus.KEY_i, 0, 0)
self.engine.do_process_key_event(IBus.KEY_s, 0, 0)
self.engine.do_process_key_event(IBus.KEY_s, 0, 0)
self.engine.do_process_key_event(IBus.KEY_s, 0, 0)
self.engine.do_process_key_event(IBus.KEY_a, 0, 0)
self.assertEqual(self.engine._candidates, [
('kiss', -1, '', False, True),
('kissa', -1, '', False, True),
('kissaa', -1, '', False, True),
('kisassa', -1, '', False, True),
('kisussa', -1, '', False, True)
])
Both are skipped if python3-libvoikko
is not available but apparently in your case it is installed.
But it although installed, python3-libvoikko
does not seem to work correctly
for you. I.e., if you do something like this from the command line:
$ python3
Python 3.8.5 (default, Aug 12 2020, 00:00:00)
[GCC 10.2.1 20200723 (Red Hat 10.2.1-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import libvoikko
>>> voikko = libvoikko.Voikko('fi')
>>> voikko.spell('kissa')
True
>>> voikko.spell('kisssa')
False
>>>
it will fail for you as well.
That is a problem somewhere else, not in ibus-typing-booster.
OK will try to check that do I have installed that module in my build env.
Thx :)
Oh, now I noticed that you have two other failing test cases which donβt happen for me:
======================================================================
FAIL: test_similar_camel_es_ES (test_emoji_similar.EmojiSimilarTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/tkloczko/rpmbuild/BUILD/ibus-typing-booster-2.9.9/tests/test_emoji_similar.py", line 111, in test_similar_camel_es_ES
self.assertEqual(
AssertionError: Lists differ: [('π«', 'camello [π«, nature]', 2), ('πͺ', 'dromedario [nature]'[85 chars], 1)] != [('π«', 'camello [π«, bactriano, camello, desierto, dromedario,[203 chars], 3)]
First differing element 0:
('π«', 'camello [π«, nature]', 2)
('π«', 'camello [π«, bactriano, camello, desierto, dromedario, jorobas]', 6)
- [('π«', 'camello [π«, nature]', 2),
- ('πͺ', 'dromedario [nature]', 1),
- ('π¦', 'llama [nature]', 1),
- ('π', 'cabra [nature]', 1),
- ('π¦', 'jirafa [nature]', 1)]
+ [('π«', 'camello [π«, bactriano, camello, desierto, dromedario, jorobas]', 6),
+ ('πͺ', 'dromedario [camello, desierto, dromedario]', 3),
+ ('ποΈ', 'desierto [desierto]', 1),
+ ('π«', 'cammello [π«, animale, cammello, gobba]', 4),
+ ('πͺ', 'dromedario [animale, cammello, gobba]', 3)]
======================================================================
FAIL: test_similar_surfer_es_ES (test_emoji_similar.EmojiSimilarTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/tkloczko/rpmbuild/BUILD/ibus-typing-booster-2.9.9/tests/test_emoji_similar.py", line 125, in test_similar_surfer_es_ES
self.assertEqual(
AssertionError: Lists differ: [('π\[39 chars]dβοΈ, people, activity]', 3), ('ππΏ', 'persona h[53 chars], 2)] != [('π\[39 chars]dβοΈ, hombre, hombre haciendo surf, surf, surfe[133 chars], 5)]
First differing element 0:
('π\u[38 chars]dβοΈ, people, activity]', 3)
('π\u[38 chars]dβοΈ, hombre, hombre haciendo surf, surf, surfe[13 chars]', 6)
- [('π\u200dβοΈ', 'hombre haciendo surf [π\u200dβοΈ, people, activity]', 3),
- ('ππΏ', 'persona haciendo surf: tono de piel oscuro [people, activity]', 2)]
+ [('π\u200dβοΈ',
+ 'hombre haciendo surf [π\u200dβοΈ, hombre, hombre haciendo surf, surf, '
+ 'surfero, surfista]',
+ 6),
+ ('ππ»\u200dβοΈ',
+ 'hombre haciendo surf: tono de piel claro [hombre, hombre haciendo surf, '
+ 'surf, surfero, surfista]',
+ 5)]
These are most likely occuring because the emoji annotation data used for the test is not the emoji annotation data included in the ibus-typing-booster-2.9.9.tar.gz but some emoji annotation data which comes with your system.
On Fedora, there is a cldr-emoji-annotation
package and I make the ibus-typing-booster
package for fedora require the cldr-emoji-annotation
package and donβt include the annotations from the tar ball in the built rpm. But the tests should be run against the annotations from the tarball, the system wide annotations are usually older and if there is some difference in the emoji data, some tests may fail.
The test file tests/test_emoji_similar.py
actually tries to skip the test when emoji annotations from a directory outside of the ibus-typing-booster directory are used. The test for skipping looks like this:
@unittest.skipIf(
'..' not in itb_emoji.find_cldr_annotation_path('en'),
'Using external emoji annotations: %s '
% itb_emoji.find_cldr_annotation_path('en')
+ 'Testing with older emoji annotations instead '
'of those included in the ibus-typing-booster source is likely '
'to create meaningless test failures.')
class EmojiSimilarTestCase(unittest.TestCase):
Any idea why that doesnβt work for you?
Do the .xml files with the emoji data in the directories
/home/tkloczko/rpmbuild/BUILD/ibus-typing-booster-2.9.9/data/annotations/
/home/tkloczko/rpmbuild/BUILD/ibus-typing-booster-2.9.9/data/annotationsDerived/
still exist when you run the tests? Or did you delete them already because you want to omit them from the package?
Which distribution are you using?
If the code to skip the test case when the emoji annotations outside of the ibus-typing-booster directories are used is not working on your distribution, I would like find out why and fix it.
Ping π
If there is no more information, I cannot do anything here. Closing.