• Pavel Tikhomirov's avatar
    zdtm.py: ignore unicode encode errors · 70e18b84
    Pavel Tikhomirov authored
    We have a problem after commit 212e4c771a1b ("test: make zdtm.py
    python2/python3 compatible") when running tests on python2:
    
    https://ci.openvz.org/job/CRIU/job/CRIU-virtuozzo/job/criu-dev/3804/console
    
    Traceback (most recent call last):
      File "./test/zdtm.py", line 2249, in <module>
        opts['action'](opts)
      File "./test/zdtm.py", line 2001, in run_tests
        launcher.run_test(t, tdesc, run_flavs)
      File "./test/zdtm.py", line 1680, in run_test
        self.wait()
      File "./test/zdtm.py", line 1737, in wait
        self.__wait_one(0)
      File "./test/zdtm.py", line 1725, in __wait_one
        print(open(sub['log']).read())
    UnicodeEncodeError: 'ascii' codec can't encode character u'\u2018' in
    position 258: ordinal not in range(128)
    
    print does not like "‘" symbol in zdtm_static_cgroup04.log:
    ...
    rmdir: failed to remove ‘cgclean.sKFHLm/zdtmtst/special_prop_check’: No
    such file or directory
    
    Small reproducer:
    
    [snorch@snorch ~]$ cat test_ascii.py
    from __future__ import absolute_import, division, print_function, unicode_literals
    from builtins import (str, open, range, zip, int, input)
    
    f = open('./zdtm_static_cgroup04.log')
    s = f.read()
    print(s)
    
    [snorch@snorch ~]$ python test_ascii.py | grep ""
    Traceback (most recent call last):
      File "test_ascii.py", line 6, in <module>
        print(s)
    UnicodeEncodeError: 'ascii' codec can't encode character u'\u2018' in
    position 258: ordinal not in range(128)
    
    So just ignore these quote symbol when printing logs.
    Signed-off-by: 's avatarPavel Tikhomirov <ptikhomirov@virtuozzo.com>
    Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
    70e18b84
zdtm.py 57.9 KB