[VOTE] Releasing Orekit 11.0 from release candidate 2

+1 for release

+1 for me, That’s a promising release !

Hmm. Im having some errors in the test suite on my windows machine, the tests go fine on the linux but under win 10 i get some errors with absoultedate. The strings compared looks similar in the printout. Havent had time to investigate deeply.

[ERROR] testStandardEpochStrings(org.orekit.time.AbsoluteDateTest) Time elapsed: 0.018 s <<< FAILURE!
org.junit.ComparisonFailure: expected:<[-]4712-01-01T12:00:00…> but was:<[−]4712-01-01T12:00:00…>
at org.orekit.time.AbsoluteDateTest.testStandardEpochStrings(AbsoluteDateTest.java:68)
[ERROR] testToStringException(org.orekit.time.AbsoluteDateTest) Time elapsed: 0.025 s <<< FAILURE!
java.lang.AssertionError:
Expected: is “-5877490-03-03T00:00:00.000 TAI”
but: was “−5877490-03-03T00:00:00.000 TAI”
at org.orekit.time.AbsoluteDateTest.testToStringException(AbsoluteDateTest.java:1313)
[ERROR] testToString(org.orekit.time.AbsoluteDateTest) Time elapsed: 0.017 s <<< FAILURE!
java.lang.AssertionError:
Expected: is “-0123-04-05T06:07:08.900Z”
but: was “−0123-04-05T06:07:08.900Z”
at org.orekit.time.AbsoluteDateTest.checkToString(AbsoluteDateTest.java:1291)
at org.orekit.time.AbsoluteDateTest.testToString(AbsoluteDateTest.java:1273)
[ERROR] testInfinity(org.orekit.time.AbsoluteDateTest) Time elapsed: 0.014 s <<< FAILURE!
org.junit.ComparisonFailure: expected:<[-]5877490-03-03T00:00:…> but was:<[−]5877490-03-03T00:00:…>
at org.orekit.time.AbsoluteDateTest.testInfinity(AbsoluteDateTest.java:661)

surefire:

<?xml version="1.0" encoding="UTF-8"?>

<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="org.orekit.time.AbsoluteDateTest" time="0.719" tests="56" errors="0" skipped="0" failures="4">

  <properties>

    <property name="sun.desktop" value="windows"/>

    <property name="awt.toolkit" value="sun.awt.windows.WToolkit"/>

    <property name="java.specification.version" value="11"/>

    <property name="sun.cpu.isalist" value="amd64"/>

    <property name="sun.jnu.encoding" value="Cp1252"/>

    <property name="java.class.path" value="C:\Users\phy\Development\orekit\Orekit\target\test-classes;C:\Users\phy\Development\orekit\Orekit\target\classes;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-core\2.0\hipparchus-core-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-geometry\2.0\hipparchus-geometry-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-ode\2.0\hipparchus-ode-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-fitting\2.0\hipparchus-fitting-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-optim\2.0\hipparchus-optim-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-filtering\2.0\hipparchus-filtering-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-stat\2.0\hipparchus-stat-2.0.jar;C:\Users\phy\.m2\repository\org\mockito\mockito-core\3.12.4\mockito-core-3.12.4.jar;C:\Users\phy\.m2\repository\net\bytebuddy\byte-buddy\1.11.13\byte-buddy-1.11.13.jar;C:\Users\phy\.m2\repository\net\bytebuddy\byte-buddy-agent\1.11.13\byte-buddy-agent-1.11.13.jar;C:\Users\phy\.m2\repository\org\objenesis\objenesis\3.2\objenesis-3.2.jar;C:\Users\phy\.m2\repository\junit\junit\4.13.2\junit-4.13.2.jar;C:\Users\phy\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\phy\Miniforge3\envs\openjdk\Library/../lib//tools.jar;"/>

    <property name="java.vm.vendor" value="Azul Systems, Inc."/>

    <property name="sun.arch.data.model" value="64"/>

    <property name="user.variant" value=""/>

    <property name="java.vendor.url" value="http://www.azulsystems.com/"/>

    <property name="user.timezone" value="Europe/Berlin"/>

    <property name="user.country.format" value="SE"/>

    <property name="java.vm.specification.version" value="11"/>

    <property name="os.name" value="Windows 10"/>

    <property name="sun.java.launcher" value="SUN_STANDARD"/>

    <property name="user.country" value="US"/>

    <property name="sun.boot.library.path" value="C:\Users\phy\Miniforge3\envs\openjdk\Library\bin"/>

    <property name="sun.java.command" value="C:\Users\phy\AppData\Local\Temp\surefire6658578688595441286\surefirebooter10071460842230276285.jar C:\Users\phy\AppData\Local\Temp\surefire6658578688595441286 2021-09-11T23-36-23_452-jvmRun1 surefire14210491328260489742tmp surefire_011053706785373523339tmp"/>

    <property name="jdk.debug" value="release"/>

    <property name="surefire.test.class.path" value="C:\Users\phy\Development\orekit\Orekit\target\test-classes;C:\Users\phy\Development\orekit\Orekit\target\classes;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-core\2.0\hipparchus-core-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-geometry\2.0\hipparchus-geometry-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-ode\2.0\hipparchus-ode-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-fitting\2.0\hipparchus-fitting-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-optim\2.0\hipparchus-optim-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-filtering\2.0\hipparchus-filtering-2.0.jar;C:\Users\phy\.m2\repository\org\hipparchus\hipparchus-stat\2.0\hipparchus-stat-2.0.jar;C:\Users\phy\.m2\repository\org\mockito\mockito-core\3.12.4\mockito-core-3.12.4.jar;C:\Users\phy\.m2\repository\net\bytebuddy\byte-buddy\1.11.13\byte-buddy-1.11.13.jar;C:\Users\phy\.m2\repository\net\bytebuddy\byte-buddy-agent\1.11.13\byte-buddy-agent-1.11.13.jar;C:\Users\phy\.m2\repository\org\objenesis\objenesis\3.2\objenesis-3.2.jar;C:\Users\phy\.m2\repository\junit\junit\4.13.2\junit-4.13.2.jar;C:\Users\phy\.m2\repository\org\hamcrest\hamcrest-core\1.3\hamcrest-core-1.3.jar;C:\Users\phy\Miniforge3\envs\openjdk\Library/../lib//tools.jar;"/>

    <property name="sun.cpu.endian" value="little"/>

    <property name="user.home" value="C:\Users\phy"/>

    <property name="user.language" value="en"/>

    <property name="java.specification.vendor" value="Oracle Corporation"/>

    <property name="java.version.date" value="2018-10-16"/>

    <property name="java.home" value="C:\Users\phy\Miniforge3\envs\openjdk\Library"/>

    <property name="file.separator" value="\"/>

    <property name="basedir" value="C:\Users\phy\Development\orekit\Orekit"/>

    <property name="java.vm.compressedOopsMode" value="Zero based"/>

    <property name="line.separator" value="&#10;"/>

    <property name="java.specification.name" value="Java Platform API Specification"/>

    <property name="java.vm.specification.vendor" value="Oracle Corporation"/>

    <property name="java.awt.graphicsenv" value="sun.awt.Win32GraphicsEnvironment"/>

    <property name="surefire.real.class.path" value="C:\Users\phy\AppData\Local\Temp\surefire6658578688595441286\surefirebooter10071460842230276285.jar"/>

    <property name="user.script" value=""/>

    <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/>

    <property name="java.runtime.version" value="11.0.1+13-LTS"/>

    <property name="user.name" value="PHY"/>

    <property name="path.separator" value=";"/>

    <property name="os.version" value="10.0"/>

    <property name="java.runtime.name" value="OpenJDK Runtime Environment"/>

    <property name="file.encoding" value="Cp1252"/>

    <property name="java.vm.name" value="OpenJDK 64-Bit Server VM"/>

    <property name="java.vendor.version" value="Zulu11.2+3"/>

    <property name="localRepository" value="C:\Users\phy\.m2\repository"/>

    <property name="java.vendor.url.bug" value="http://www.azulsystems.com/support/"/>

    <property name="java.io.tmpdir" value="C:\Users\phy\AppData\Local\Temp\"/>

    <property name="idea.version" value="2021.2.1"/>

    <property name="java.version" value="11.0.1"/>

    <property name="user.dir" value="C:\Users\phy\Development\orekit\Orekit"/>

    <property name="os.arch" value="amd64"/>

    <property name="java.vm.specification.name" value="Java Virtual Machine Specification"/>

    <property name="java.awt.printerjob" value="sun.awt.windows.WPrinterJob"/>

    <property name="user.language.format" value="sv"/>

    <property name="sun.os.patch.level" value=""/>

    <property name="java.library.path" value="C:\Users\phy\Miniforge3\envs\openjdk\Library\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Users\phy\Miniforge3\condabin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Sennheiser\SoftphoneSDK\;C:\Users\phy\AppData\Local\Microsoft\WindowsApps;C:\Users\phy\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\phy\AppData\Local\Polycom\RealPresence Desktop\;C:\Users\phy\AppData\Local\GitHubDesktop\bin;C:\Users\phy\AppData\Local\Programs\Git\cmd;."/>

    <property name="java.vendor" value="Azul Systems, Inc."/>

    <property name="java.vm.info" value="mixed mode"/>

    <property name="java.vm.version" value="11.0.1+13-LTS"/>

    <property name="sun.io.unicode.encoding" value="UnicodeLittle"/>

    <property name="java.class.version" value="55.0"/>

  </properties>

  <testcase name="testOffsets" classname="org.orekit.time.AbsoluteDateTest" time="0.014"/>

  <testcase name="testWrapBeforeLeap" classname="org.orekit.time.AbsoluteDateTest" time="0.013"/>

  <testcase name="testStandardEpochStrings" classname="org.orekit.time.AbsoluteDateTest" time="0.018">

    <failure message="expected:&lt;[-]4712-01-01T12:00:00....&gt; but was:&lt;[−]4712-01-01T12:00:00....&gt;" type="org.junit.ComparisonFailure"><![CDATA[org.junit.ComparisonFailure: expected:<[-]4712-01-01T12:00:00....> but was:<[−]4712-01-01T12:00:00....>

  at org.orekit.time.AbsoluteDateTest.testStandardEpochStrings(AbsoluteDateTest.java:68)

]]></failure>

  </testcase>

  <testcase name="testUtcGpsOffset" classname="org.orekit.time.AbsoluteDateTest" time="0.009"/>

  <testcase name="testSymmetry" classname="org.orekit.time.AbsoluteDateTest" time="0.011"/>

  <testcase name="testJulianEpochRate" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testCCSDSUnsegmentedWithExtendedPreamble" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testTimeZoneDisplay" classname="org.orekit.time.AbsoluteDateTest" time="0.011"/>

  <testcase name="testUTC" classname="org.orekit.time.AbsoluteDateTest" time="0.011"/>

  <testcase name="testAccuracy" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testIsEqualTo" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testBesselianEpochRate" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testScalesOffset" classname="org.orekit.time.AbsoluteDateTest" time="0.011"/>

  <testcase name="testIssueTimesStampAccuracy" classname="org.orekit.time.AbsoluteDateTest" time="0.02"/>

  <testcase name="testJ2000" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testMonth" classname="org.orekit.time.AbsoluteDateTest" time="0.013"/>

  <testcase name="testParse" classname="org.orekit.time.AbsoluteDateTest" time="0.011"/>

  <testcase name="testParseLeap" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testComponents" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="test1970" classname="org.orekit.time.AbsoluteDateTest" time="0.012"/>

  <testcase name="testToStringException" classname="org.orekit.time.AbsoluteDateTest" time="0.025">

    <failure message="&#10;Expected: is &quot;-5877490-03-03T00:00:00.000 TAI&quot;&#10;     but: was &quot;−5877490-03-03T00:00:00.000 TAI&quot;" type="java.lang.AssertionError">java.lang.AssertionError: 

Expected: is "-5877490-03-03T00:00:00.000 TAI"

     but: was "−5877490-03-03T00:00:00.000 TAI"

  at org.orekit.time.AbsoluteDateTest.testToStringException(AbsoluteDateTest.java:1313)

</failure>

  </testcase>

  <testcase name="testToString" classname="org.orekit.time.AbsoluteDateTest" time="0.017">

    <failure message="&#10;Expected: is &quot;-0123-04-05T06:07:08.900Z&quot;&#10;     but: was &quot;−0123-04-05T06:07:08.900Z&quot;" type="java.lang.AssertionError">java.lang.AssertionError: 

Expected: is "-0123-04-05T06:07:08.900Z"

     but: was "−0123-04-05T06:07:08.900Z"

  at org.orekit.time.AbsoluteDateTest.checkToString(AbsoluteDateTest.java:1291)

  at org.orekit.time.AbsoluteDateTest.testToString(AbsoluteDateTest.java:1273)

</failure>

  </testcase>

  <testcase name="testFraction" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testCompareTo" classname="org.orekit.time.AbsoluteDateTest" time="0.011"/>

  <testcase name="testIterationAccuracy" classname="org.orekit.time.AbsoluteDateTest" time="0.017"/>

  <testcase name="testExpandedConstructors" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testMJDDate" classname="org.orekit.time.AbsoluteDateTest" time="0.009"/>

  <testcase name="testIsBetween" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testStandardEpoch" classname="org.orekit.time.AbsoluteDateTest" time="0.014"/>

  <testcase name="testIsBefore" classname="org.orekit.time.AbsoluteDateTest" time="0.012"/>

  <testcase name="testToStringRfc3339" classname="org.orekit.time.AbsoluteDateTest" time="0.012"/>

  <testcase name="testIsBetweenOrEqualTo" classname="org.orekit.time.AbsoluteDateTest" time="0.013"/>

  <testcase name="testIsAfterOrEqualTo" classname="org.orekit.time.AbsoluteDateTest" time="0.013"/>

  <testcase name="testCCSDSUnsegmentedNoExtension" classname="org.orekit.time.AbsoluteDateTest" time="0.012"/>

  <testcase name="testCCSDSCalendarSegmented" classname="org.orekit.time.AbsoluteDateTest" time="0.018"/>

  <testcase name="testCCSDSDaySegmented" classname="org.orekit.time.AbsoluteDateTest" time="0.016"/>

  <testcase name="testHashcode" classname="org.orekit.time.AbsoluteDateTest" time="0.013"/>

  <testcase name="testInfinity" classname="org.orekit.time.AbsoluteDateTest" time="0.014">

    <failure message="expected:&lt;[-]5877490-03-03T00:00:...&gt; but was:&lt;[−]5877490-03-03T00:00:...&gt;" type="org.junit.ComparisonFailure"><![CDATA[org.junit.ComparisonFailure: expected:<[-]5877490-03-03T00:00:...> but was:<[−]5877490-03-03T00:00:...>

  at org.orekit.time.AbsoluteDateTest.testInfinity(AbsoluteDateTest.java:661)

]]></failure>

  </testcase>

  <testcase name="testLocalTimeParsing" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testTimeZoneLeapSecond" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testIsCloseTo" classname="org.orekit.time.AbsoluteDateTest" time="0.014"/>

  <testcase name="testLocalTimeLeapSecond" classname="org.orekit.time.AbsoluteDateTest" time="0.021"/>

  <testcase name="testBeforeAndAfterLeap" classname="org.orekit.time.AbsoluteDateTest" time="0.011"/>

  <testcase name="testIsBeforeOrEqualTo" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testWrapAtMinuteEnd" classname="org.orekit.time.AbsoluteDateTest" time="0.012"/>

  <testcase name="testEquals" classname="org.orekit.time.AbsoluteDateTest" time="0.01"/>

  <testcase name="testIssue142" classname="org.orekit.time.AbsoluteDateTest" time="0.013"/>

  <testcase name="testIssue148" classname="org.orekit.time.AbsoluteDateTest" time="0.013"/>

  <testcase name="testIssue149" classname="org.orekit.time.AbsoluteDateTest" time="0.012"/>

  <testcase name="testJDDate" classname="org.orekit.time.AbsoluteDateTest" time="0.011"/>

  <testcase name="testGetComponentsIssue681and676and694" classname="org.orekit.time.AbsoluteDateTest" time="0.026"/>

  <testcase name="testLieske" classname="org.orekit.time.AbsoluteDateTest" time="0.012"/>

  <testcase name="testLastLeapOutput" classname="org.orekit.time.AbsoluteDateTest" time="0.012"/>

  <testcase name="testOutput" classname="org.orekit.time.AbsoluteDateTest" time="0.014"/>

  <testcase name="testIsAfter" classname="org.orekit.time.AbsoluteDateTest" time="0.013"/>

  <testcase name="testMjdInLeap" classname="org.orekit.time.AbsoluteDateTest" time="0.014"/>

</testsuite>

Thank you @petrus.hyvonen for reporting this issue. I will work on it and propose an RC3.

I tested on my Windows 10 machine and the tests run properly.

I don’t know if other Windows users have the same problem.

It is the minus sign that is different. We expect unicode hyphen-minus (code 0x2d) but your results use minus-sign “0x2212”.

Maybe the formatting should something like Locale.US?

1 Like

Is your machine configured with a specific language?

Good catch!

I have to check.

1 Like

Answering my own question. You have

<property name="user.country.format" value="SE"/>

and perhaps also

<property name="sun.jnu.encoding" value="Cp1252"/>

So, is it an Orekit bug that must be fixed for the release?

I think so, and it has been there for a long time.
We should probably change the

private static final DecimalFormat FOUR_DIGITS = new DecimalFormat("0000");

and similar fields that appear in DateComponents so they use DecimalFormatSymbols US_SYMBOLS, just as TimeComponents.

It is a very rare bug indeed, since it affects only years before year 0…

Ok, I will try to have an environment able to reproduce this issue in order to fix it.

1 Like

I’m definitely unable to reproduce the problem. I tried tens of solution to try reproducing it but nothing works.

@petrus.hyvonen (or anybody else) can you try using te following patch (date-format.patch (1.3 KB)
) and tell me if it works now?

Thank you,
Bryan

If it works, I will generate a new RC with the changes.

Also, using this patch, the tests still work on a Linux environment :slight_smile:

Confirmed, the patch is working and test case goes through now!

1 Like

Great! I will do the RC3 tomorrow including this fix.

I will also include the fixes performed by Luc in the documentation.

1 Like

This is looking great and pretty excited for the new release!

@bcazabonne apologies for bringing it up late (and missing the 11.0 survey), is there still window to fix #766 (Setting AttitudeProvider to the BoundedPropagator generated via propagation (#766) · Issues · Orekit / Orekit · GitLab). I have already commented the fix for the issue as suggested by @luc. Would be glad if this bug fix can be part of the release too. Thanks in advance!

Hi @gowtham

Yes, I will try to fix it with the suggestions on the comments.

Bryan

2 Likes

Vote for Release Candidate 2 is closed.

A new vote for Release Candidate 3 is opened here: