File: test_translation.py

package info (click to toggle)
pypy3 7.3.19%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 212,236 kB
  • sloc: python: 2,098,316; ansic: 540,565; sh: 21,462; asm: 14,419; cpp: 4,451; makefile: 4,209; objc: 761; xml: 530; exp: 499; javascript: 314; pascal: 244; lisp: 45; csh: 12; awk: 4
file content (27 lines) | stat: -rw-r--r-- 949 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import pytest
from pypy.module._multibytecodec import c_codecs
from rpython.translator.c.test import test_standalone
from rpython.config.translationoption import get_combined_translation_config
from rpython.rlib import rutf8


@pytest.mark.skip(reason="Requires space emulation")
class TestTranslation(test_standalone.StandaloneTests):
    config = get_combined_translation_config(translating=True)
    config.translation.gc = 'boehm'

    def test_translation(self):
        #
        def entry_point(argv):
            codecname, string = argv[1], argv[2]
            c = c_codecs.getcodec(codecname)
            u = c_codecs.decode(space, c, string)
            lgt = rutf8.codepoints_in_utf8(u)
            r = c_codecs.encode(space, c, u, lgt)
            print r
            return 0
        #
        t, cbuilder = self.compile(entry_point)
        cmd = 'hz "~{abc}"'
        data = cbuilder.cmdexec(cmd)
        assert data == '~{abc}~}\n'