[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/attackgithub/pythonnet/pypy/src/tests/test_engine.py [Back]  [Original]

# -*- coding: utf-8 -*-

import sys
import unittest

import System
from Python.Runtime import PythonEngine


class EngineTests(unittest.TestCase):
    """Test PythonEngine embedding APIs."""

    def test_multiple_calls_to_initialize(self):
        """Test that multiple initialize calls are harmless."""
        try:
            PythonEngine.Initialize()
            PythonEngine.Initialize()
            PythonEngine.Initialize()
        except BaseException:
            self.fail("Initialize() raise an exception.")

    @unittest.skip(reason="FIXME: test crashes")
    def test_import_module(self):
        """Test module import."""
        m = PythonEngine.ImportModule("sys")
        n = m.GetAttr("__name__")
        self.assertTrue(n.AsManagedObject(System.String) == "sys")

    @unittest.skip(reason="FIXME: test freezes")
    def test_run_string(self):
        """Test the RunString method."""
        PythonEngine.AcquireLock()

        code = "import sys; sys.singleline_worked = 1"
        PythonEngine.RunString(code)
        self.assertTrue(sys.singleline_worked == 1)

        code = "import sys\nsys.multiline_worked = 1"
        PythonEngine.RunString(code)
        self.assertTrue(sys.multiline_worked == 1)

        PythonEngine.ReleaseLock()


def test_suite():
    return unittest.makeSuite(EngineTests)

Web Proxy Viewer  |  New URL  |  Original Page