Это нарушает следующее утверждение в нашей логике межпотока Polyglot: < /p>
Утверждает! Приложение Java - возвращаемое значение является безопасным, автономным и становится нулевым, когда в тестовой среде. < /P>
Вот упрощенный тестовый пример: < /p>
Код: Выделить всё
@Test
public static void test() throws ScriptException {
Scope scope = ScriptManager.createScope();
String test = "314159265358979";
scope.setValue(new Variable("maxPrecisionJavascript", DataType.NUMBER), test);
Expression expr1 = ScriptManager.createExpression("result = maxPrecisionJavascript;");
expr1.eval(scope);
String actual = scope.getValueAsString("result");
System.out.println("Result: " + actual);
}
< /code>
Этот тест приводит к java.lang.assertionerror в hosttoguestrootnode.java при запуске в тестовой среде на Scope.getValueasString ("result") < /p>
Вот полная трасса: < /p>
< /p> .org.graalvm.polyglot.PolyglotException: java.lang.AssertionError
at com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:125)
...
at com.tibco.bpm.se.core.test.GraalTest.test(GraalTest.java:56)
Caused by: java.lang.AssertionError
at com.oracle.truffle.polyglot.HostToGuestRootNode.execute(HostToGuestRootNode.java:125)
Почему SafeInteger (TruffleBject) вызывает утверждение! Существуют ли какие -либо известные различия в поведении GRAAL.JS или настройке двигателя полиглота между тестированием (например, тестированием) и средами времени выполнения? и как решить для большого числа.
Подробнее здесь: https://stackoverflow.com/questions/795 ... t-assertio
Мобильная версия