Graal.js возвращает SafeInteger, причины! (Результат экземпляра TruffleBject), чтобы пройти в сборе в Testng, но пройдитJavascript

Форум по Javascript
Ответить
Anonymous
 Graal.js возвращает SafeInteger, причины! (Результат экземпляра TruffleBject), чтобы пройти в сборе в Testng, но пройдит

Сообщение Anonymous »

Мы перемещаем устаревший код из Nashorn в graal.js и сталкиваемся с проблемами с тем, как числовые значения отображаются внутри. В Нашорне большое количество, как 15-значные целые числа, были нанесены на карту на java.lang.double. Теперь, с graal.js, они интерпретируются как SafeInteger, который реализует TruffleBject. < /P>
Это нарушает следующее утверждение в нашей логике межпотока 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»