Example #1
0
 def testJPClass_hints(self):
     js = JClass("java.lang.String")
     _jpype.fault("PyJPClass_hints")
     with self.assertRaisesRegex(SystemError, "fault"):
         js._hints
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         js._hints
     self.assertIsInstance(js._hints, _jpype._JClassHints)
Example #2
0
 def testJPNumberFloat_str(self):
     jd = JDouble(1)
     _jpype.fault("PyJPNumberFloat_str")
     with self.assertRaisesRegex(SystemError, "fault"):
         str(jd)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         str(jd)
     str(jd)
Example #3
0
 def testJPNumberLong_repr(self):
     jd = JInt(1)
     _jpype.fault("PyJPNumberLong_repr")
     with self.assertRaisesRegex(SystemError, "fault"):
         repr(jd)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         repr(jd)
     repr(jd)
Example #4
0
 def testJPArrayNew(self):
     ja = JArray(JInt)
     _jpype.fault("JPArray::JPArray")
     with self.assertRaisesRegex(SystemError, "fault"):
         ja(5)
     j = ja(5)
     _jpype.fault("JPArray::JPArraySlice")
     with self.assertRaisesRegex(SystemError, "fault"):
         j[0:2:1]
Example #5
0
 def testJPNumberFloat_float(self):
     jd = JFloat(1)
     _jpype.fault("PyJPNumberFloat_float")
     with self.assertRaisesRegex(SystemError, "fault"):
         float(jd)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         float(jd)
     float(jd)
Example #6
0
 def testJPNumberLong_hash(self):
     ji = JInt(1)
     _jpype.fault("PyJPNumberLong_hash")
     with self.assertRaises(SystemError):
         hash(ji)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaises(SystemError):
         hash(ji)
     hash(ji)
Example #7
0
 def testJPNumberLong_float(self):
     ji = JInt(1)
     _jpype.fault("PyJPNumberLong_float")
     with self.assertRaisesRegex(SystemError, "fault"):
         float(ji)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         float(ji)
     float(ji)
Example #8
0
    def testJPArray_releaseBuffer(self):
        _jpype.fault("PyJPArray_releaseBuffer")

        def f():
            ja = JArray(JInt)(5)
            m = memoryview(ja)

        with self.assertRaises(SystemError):
            f()
Example #9
0
 def testJPNumberLong_compare(self):
     ji = JInt(1)
     _jpype.fault("PyJPNumberLong_compare")
     with self.assertRaisesRegex(SystemError, "fault"):
         ji == 1
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         ji == 1
     ji == 1
Example #10
0
 def testJPValue_str(self):
     js = JString("f")
     _jpype.fault("PyJPValue_str")
     with self.assertRaisesRegex(SystemError, "fault"):
         str(js)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         str(js)
     str(js)
Example #11
0
 def testJPObject_getattro(self):
     jo = JString("f")
     _jpype.fault("PyJPObject_getattro")
     with self.assertRaisesRegex(SystemError, "fault"):
         jo.substring
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         jo.substring
     jo.substring
Example #12
0
 def testJPObject_hash(self):
     jo = JClass("java.lang.Object")()
     _jpype.fault("PyJPObject_hash")
     with self.assertRaises(SystemError):
         hash(jo)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaises(SystemError):
         hash(jo)
     hash(jo)
Example #13
0
 def testJPMonitor_init(self):
     jo = JClass("java.lang.Object")()
     _jpype.fault("PyJPMonitor_init")
     with self.assertRaisesRegex(SystemError, "fault"):
         _jpype._JMonitor(jo)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         _jpype._JMonitor(jo)
     _jpype._JMonitor(jo)
Example #14
0
 def testJPClass_cnaConvertToJava(self):
     js = JClass("java.lang.String")
     _jpype.fault("PyJPClass_canConvertToJava")
     with self.assertRaisesRegex(SystemError, "fault"):
         js._canConvertToJava("f")
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         js._canConvertToJava("f")
     js._canConvertToJava("f")
Example #15
0
 def testJPNumberFloat_hash(self):
     jd = JDouble(1)
     _jpype.fault("PyJPNumberFloat_hash")
     with self.assertRaises(SystemError):
         hash(jd)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaises(SystemError):
         hash(jd)
     hash(jd)
Example #16
0
 def testJPNumberFloat_compare(self):
     jd = JDouble(1)
     _jpype.fault("PyJPNumberFloat_compare")
     with self.assertRaisesRegex(SystemError, "fault"):
         jd == 1
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         jd == 1
     jd == 1
Example #17
0
 def testJPNumberLong_int(self):
     jd = JShort(1)
     _jpype.fault("PyJPNumberLong_int")
     with self.assertRaisesRegex(SystemError, "fault"):
         int(jd)
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         int(jd)
     int(jd)
Example #18
0
 def testJPObject_new(self):
     _jpype.fault("PyJPObject_new")
     with self.assertRaisesRegex(SystemError, "fault"):
         JString("a")
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         JString("a")
     with self.assertRaises(TypeError):
         _jpype._JObject()
     JString("a")
Example #19
0
 def testJPJavaFrameMonitor(self):
     jo = JClass("java.lang.Object")()
     _jpype.fault("JPJavaFrame::MonitorEnter")
     with self.assertRaisesRegex(SystemError, "fault"):
         with syncronized(jo):
             pass
     _jpype.fault("JPJavaFrame::MonitorExit")
     with self.assertRaisesRegex(SystemError, "fault"):
         with syncronized(jo):
             pass
Example #20
0
    def testJPProxy_void(self):
        @JImplements("java.util.function.Consumer")
        class f(object):
            @JOverride
            def accept(self, d):
                return None

        jo = JObject(f(), "java.util.function.Consumer")
        _jpype.fault("JPProxy::getArgs")
        jo.accept(None)
Example #21
0
 def testJPClass_class(self):
     js = JClass("java.lang.String")
     _jpype.fault("PyJPClass_class")
     with self.assertRaisesRegex(SystemError, "fault"):
         js.class_
     with self.assertRaises(AttributeError):
         _jpype._JClass("foo", (_jpype.JObject, ), {}, internal=True).class_
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         js.class_
Example #22
0
 def testJPClass_getattro(self):
     js = JClass("java.lang.String")
     _jpype.fault("PyJPClass_getattro")
     with self.assertRaisesRegex(SystemError, "fault"):
         js.foo
     with self.assertRaises(TypeError):
         getattr(js, object())
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         js.substring
Example #23
0
 def testJPObject_null(self):
     Fixture = JClass("jpype.common.Fixture")
     _jpype.fault("PyJPObject_init.null")
     null = Fixture()
     with self.assertRaisesRegex(TypeError, 'Not a Java value'):
         str(null)
     self.assertEqual(hash(null), hash(None))
     with self.assertRaisesRegex(AttributeError, 'requires'):
         print(null.int_field)
     with self.assertRaisesRegex(AttributeError, 'requires'):
         null.int_field = 1
Example #24
0
 def testJPClass_cast(self):
     js = JClass("java.lang.String")
     _jpype.fault("PyJPClass_cast")
     with self.assertRaisesRegex(SystemError, "fault"):
         js._cast("f")
     with self.assertRaises(TypeError):
         js._cast(object())
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaisesRegex(SystemError, "fault"):
         js._cast(JObject(None))
     js._cast(JObject(None))
Example #25
0
 def testJPBooleanType(self):
     ja = JArray(JBoolean)(5)  # lgtm [py/similar-function]
     _jpype.fault("JPBooleanType::setArrayRange")
     with self.assertRaisesRegex(SystemError, "fault"):
         ja[1:3] = [0, 0]
     with self.assertRaises(TypeError):
         ja[1] = object()
     jf = JClass("jpype.common.Fixture")
     with self.assertRaises(TypeError):
         jf.static_bool_field = object()
     with self.assertRaises(TypeError):
         jf().bool_field = object()
Example #26
0
 def testJPClass_setClass(self):
     js = JClass("java.lang.String")
     _jpype.fault("PyJPClass_setClass")
     with self.assertRaisesRegex(SystemError, "fault"):
         js.class_ = None
     with self.assertRaises(TypeError):
         js.class_ = None
     with self.assertRaises(TypeError):
         js.class_ = JObject()
     _jpype.fault("PyJPModule_getContext")
     with self.assertRaises(SystemError):
         js.class_ = None
Example #27
0
    def testJPClassTypeGetJavaConversion(self):
        jc = JClass("java.lang.StringBuilder")
        _jpype.fault("JPClass::findJavaConversion")
        with self.assertRaisesRegex(SystemError, "fault"):
            jc._canConvertToJava(object())

        @jpype.JConversion("java.lang.StringBuilder", exact=object)
        def f(self, obj):
            raise SystemError("fail")

        with self.assertRaisesRegex(SystemError, "fail"):
            jc._convertToJava(object())
Example #28
0
    def testJPClassHints_addTypeConversion(self):
        _jpype.fault("PyJPClassHints_addTypeConversion")
        with self.assertRaisesRegex(SystemError, "fault"):
            _jpype._JClassHints()._addTypeConversion("f", None)

        def f():
            pass

        # with self.assertRaises(TypeError):
        #    _jpype._JClassHints()._addTypeConversion(None, f, 1)
        with self.assertRaises(TypeError):
            _jpype._JClassHints()._addTypeConversion(str, None, 1)
        _jpype._JClassHints()._addTypeConversion(str, f, 1)
Example #29
0
    def testJPClassHints_addAttributeConversion(self):
        _jpype.fault("PyJPClassHints_addAttributeConversion")
        with self.assertRaisesRegex(SystemError, "fault"):
            _jpype._JClassHints()._addAttributeConversion("f", None)

        def f():
            pass

        with self.assertRaises(TypeError):
            _jpype._JClassHints()._addAttributeConversion(None, f)
        with self.assertRaises(TypeError):
            _jpype._JClassHints()._addAttributeConversion("f", None)
        _jpype._JClassHints()._addAttributeConversion("f", f)
Example #30
0
    def testJPArrayPrimitive_getBuffer(self):
        _jpype.fault("PyJPArrayPrimitive_getBuffer")

        def f():
            ja = JArray(JInt)(5)
            m = memoryview(ja)
            del m  # lgtm [py/unnecessary-delete]
        with self.assertRaisesRegex(SystemError, "fault"):
            f()
        with self.assertRaises(BufferError):
            memoryview(JArray(JInt, 2)([[1, 2], [1], [1, 2, 3]]))
        _jpype.fault("PyJPModule_getContext")
        with self.assertRaisesRegex(SystemError, "fault"):
            f()