From b7cf1739765988f872719114f1c8b2027f9ec39e Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Wed, 24 Mar 2021 11:41:10 -0700 Subject: [PATCH 01/23] Catches exception of unkown sid bigger than INT_MAX. --- src/com/amazon/ion/impl/IonTokenConstsX.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/com/amazon/ion/impl/IonTokenConstsX.java b/src/com/amazon/ion/impl/IonTokenConstsX.java index c361606636..462e6606ef 100644 --- a/src/com/amazon/ion/impl/IonTokenConstsX.java +++ b/src/com/amazon/ion/impl/IonTokenConstsX.java @@ -17,6 +17,7 @@ import com.amazon.ion.IonException; import com.amazon.ion.IonType; +import com.amazon.ion.UnknownSymbolException; import com.amazon.ion.impl._Private_ScalarConversions.CantConvertException; @@ -513,7 +514,13 @@ public static int decodeSid(CharSequence sidToken) assert length > 1; String digits = sidToken.subSequence(1, length).toString(); - return Integer.parseInt(digits); + + try { + return Integer.parseInt(digits); + } catch(Exception e) { + throw new UnknownSymbolException(digits); + } + } static public int keyword(CharSequence word, int start_word, int end_word) From 037f6a192f8ee600b49acdc68674f80d3588aef3 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Wed, 24 Mar 2021 11:59:19 -0700 Subject: [PATCH 02/23] format. --- src/com/amazon/ion/impl/IonTokenConstsX.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/amazon/ion/impl/IonTokenConstsX.java b/src/com/amazon/ion/impl/IonTokenConstsX.java index 462e6606ef..92b380c54c 100644 --- a/src/com/amazon/ion/impl/IonTokenConstsX.java +++ b/src/com/amazon/ion/impl/IonTokenConstsX.java @@ -517,7 +517,7 @@ public static int decodeSid(CharSequence sidToken) try { return Integer.parseInt(digits); - } catch(Exception e) { + } catch (Exception e) { throw new UnknownSymbolException(digits); } From efcb5a44ecef569a2933df6fe9e8e15eaf6235fa Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Fri, 26 Mar 2021 00:21:20 -0700 Subject: [PATCH 03/23] Added unit test, some change. --- src/com/amazon/ion/impl/IonTokenConstsX.java | 2 +- test/com/amazon/ion/LoaderTest.java | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/com/amazon/ion/impl/IonTokenConstsX.java b/src/com/amazon/ion/impl/IonTokenConstsX.java index 92b380c54c..596b7e24c5 100644 --- a/src/com/amazon/ion/impl/IonTokenConstsX.java +++ b/src/com/amazon/ion/impl/IonTokenConstsX.java @@ -518,7 +518,7 @@ public static int decodeSid(CharSequence sidToken) try { return Integer.parseInt(digits); } catch (Exception e) { - throw new UnknownSymbolException(digits); + throw new IonException(String.format("Unable to parse SID %s", digits), e); } } diff --git a/test/com/amazon/ion/LoaderTest.java b/test/com/amazon/ion/LoaderTest.java index fc020077a4..67685099ad 100644 --- a/test/com/amazon/ion/LoaderTest.java +++ b/test/com/amazon/ion/LoaderTest.java @@ -160,6 +160,17 @@ public void testIgnoreHeaderSymbol() checkInt(123, value); } + @Test + public void testLargeSidSymbol() + { + String text = "$11111111111111"; + + // it's supposed to throw an IonException since sid is greater than INT_MAX. + try { + IonSymbol value = (IonSymbol) loadOneValue(text); + } catch (IonException ignore) { /* expected to reach here */ } + } + private static class FailingInputStream extends InputStream { From d139979370afee4e68b84fbe194385d1eaf17ca8 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Fri, 26 Mar 2021 00:23:20 -0700 Subject: [PATCH 04/23] remove unnecessary import --- src/com/amazon/ion/impl/IonTokenConstsX.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/com/amazon/ion/impl/IonTokenConstsX.java b/src/com/amazon/ion/impl/IonTokenConstsX.java index 596b7e24c5..50533d73fc 100644 --- a/src/com/amazon/ion/impl/IonTokenConstsX.java +++ b/src/com/amazon/ion/impl/IonTokenConstsX.java @@ -17,7 +17,6 @@ import com.amazon.ion.IonException; import com.amazon.ion.IonType; -import com.amazon.ion.UnknownSymbolException; import com.amazon.ion.impl._Private_ScalarConversions.CantConvertException; From 609f4a56411ea93311a1f0e3058908807f0217d9 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Fri, 26 Mar 2021 00:24:43 -0700 Subject: [PATCH 05/23] Remove unnecessary lines. --- src/com/amazon/ion/impl/IonTokenConstsX.java | 1 - test/com/amazon/ion/LoaderTest.java | 1 - 2 files changed, 2 deletions(-) diff --git a/src/com/amazon/ion/impl/IonTokenConstsX.java b/src/com/amazon/ion/impl/IonTokenConstsX.java index 50533d73fc..33a8e8e365 100644 --- a/src/com/amazon/ion/impl/IonTokenConstsX.java +++ b/src/com/amazon/ion/impl/IonTokenConstsX.java @@ -519,7 +519,6 @@ public static int decodeSid(CharSequence sidToken) } catch (Exception e) { throw new IonException(String.format("Unable to parse SID %s", digits), e); } - } static public int keyword(CharSequence word, int start_word, int end_word) diff --git a/test/com/amazon/ion/LoaderTest.java b/test/com/amazon/ion/LoaderTest.java index 67685099ad..56786fd966 100644 --- a/test/com/amazon/ion/LoaderTest.java +++ b/test/com/amazon/ion/LoaderTest.java @@ -171,7 +171,6 @@ public void testLargeSidSymbol() } catch (IonException ignore) { /* expected to reach here */ } } - private static class FailingInputStream extends InputStream { final int len; From 8a76d4478d91cd73ab7d33a552593001ff08df4b Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Fri, 26 Mar 2021 12:47:40 -0700 Subject: [PATCH 06/23] Adds assert.fail(). --- test/com/amazon/ion/LoaderTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/com/amazon/ion/LoaderTest.java b/test/com/amazon/ion/LoaderTest.java index 56786fd966..35d6a96fbe 100644 --- a/test/com/amazon/ion/LoaderTest.java +++ b/test/com/amazon/ion/LoaderTest.java @@ -169,6 +169,8 @@ public void testLargeSidSymbol() try { IonSymbol value = (IonSymbol) loadOneValue(text); } catch (IonException ignore) { /* expected to reach here */ } + + Assert.fail("Expected IonException to be thrown."); } private static class FailingInputStream extends InputStream From a2f9d3ad9737a74583cd6f716621455073c263a0 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Fri, 26 Mar 2021 12:51:54 -0700 Subject: [PATCH 07/23] Moves assert.fail(). --- test/com/amazon/ion/LoaderTest.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/com/amazon/ion/LoaderTest.java b/test/com/amazon/ion/LoaderTest.java index 35d6a96fbe..ff936a6a04 100644 --- a/test/com/amazon/ion/LoaderTest.java +++ b/test/com/amazon/ion/LoaderTest.java @@ -168,9 +168,8 @@ public void testLargeSidSymbol() // it's supposed to throw an IonException since sid is greater than INT_MAX. try { IonSymbol value = (IonSymbol) loadOneValue(text); + Assert.fail("Expected IonException to be thrown."); } catch (IonException ignore) { /* expected to reach here */ } - - Assert.fail("Expected IonException to be thrown."); } private static class FailingInputStream extends InputStream From 6a54387166f0f18852c49552e0e2fa7d0fc4eee7 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 14:44:29 -0700 Subject: [PATCH 08/23] some change --- .github/workflows/ion-test-driver.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index e39846aed3..914730fc52 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -6,18 +6,21 @@ jobs: ion-test-driver: runs-on: macos-10.15 steps: + - name: python version + run: python3 --version + - name: Checkout ion-java uses: actions/checkout@master with: - repository: amzn/ion-java + repository: cheqianh/ion-java ref: master path: ion-java - name: Checkout ion-test-driver uses: actions/checkout@master with: - repository: amzn/ion-test-driver - ref: master + repository: cheqianh/ion-test-driver + ref: fix path: ion-test-driver - name: Set up python3 env @@ -26,6 +29,9 @@ jobs: - name: Pip install run: pip3 install -r ion-test-driver/requirements.txt && pip3 install -e ion-test-driver + - name: install whl from testpypi + run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.92 + - name: Get main branch HEAD sha run: cd ion-java && echo `git rev-parse --short=7 HEAD` && echo "main=`git rev-parse --short=7 HEAD`" >> $GITHUB_ENV From fe5c9c8da2169cf7f0571a0325ee232d38cee05a Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 14:47:18 -0700 Subject: [PATCH 09/23] some change --- .github/workflows/ion-test-driver.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 914730fc52..05743186b5 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -16,6 +16,7 @@ jobs: ref: master path: ion-java + - name: Checkout ion-test-driver uses: actions/checkout@master with: From 416cd1e4cc1185de3b4e74992f9b4dbcfb1590ab Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 14:48:14 -0700 Subject: [PATCH 10/23] some change --- .github/workflows/ion-test-driver.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 05743186b5..1b838ca035 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -16,7 +16,6 @@ jobs: ref: master path: ion-java - - name: Checkout ion-test-driver uses: actions/checkout@master with: @@ -31,7 +30,7 @@ jobs: run: pip3 install -r ion-test-driver/requirements.txt && pip3 install -e ion-test-driver - name: install whl from testpypi - run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.92 + run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.92 - name: Get main branch HEAD sha run: cd ion-java && echo `git rev-parse --short=7 HEAD` && echo "main=`git rev-parse --short=7 HEAD`" >> $GITHUB_ENV From 3c1edd1899983fa15455077700d1a8ebbe4b8a4d Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 14:53:39 -0700 Subject: [PATCH 11/23] some change --- .github/workflows/ion-test-driver.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 1b838ca035..4ad8983573 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -9,6 +9,9 @@ jobs: - name: python version run: python3 --version + - name: which python3.7 + run: which python3.7 + - name: Checkout ion-java uses: actions/checkout@master with: From 237ae5871c1576ffcfabcaa5db02adaff5727698 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 14:55:25 -0700 Subject: [PATCH 12/23] some change --- .github/workflows/ion-test-driver.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 4ad8983573..d3ce56fe9e 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -10,7 +10,7 @@ jobs: run: python3 --version - name: which python3.7 - run: which python3.7 + run: ls /usr/bin - name: Checkout ion-java uses: actions/checkout@master From b4fd37894a75653242cee97510e1da53aff1e763 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 15:02:52 -0700 Subject: [PATCH 13/23] some change2 --- .github/workflows/ion-test-driver.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index d3ce56fe9e..1b838ca035 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -9,9 +9,6 @@ jobs: - name: python version run: python3 --version - - name: which python3.7 - run: ls /usr/bin - - name: Checkout ion-java uses: actions/checkout@master with: From 1157eebf3e699a27c5c991e7d2e2dbd5aa7100c4 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 15:56:15 -0700 Subject: [PATCH 14/23] some change2 --- .github/workflows/ion-test-driver.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 1b838ca035..3235917a75 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -32,6 +32,7 @@ jobs: - name: install whl from testpypi run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.92 + - name: Get main branch HEAD sha run: cd ion-java && echo `git rev-parse --short=7 HEAD` && echo "main=`git rev-parse --short=7 HEAD`" >> $GITHUB_ENV From 2bd45d26fe7e138d20e99ab114f5d5cf5d5ab222 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 16:02:01 -0700 Subject: [PATCH 15/23] some change3 --- .github/workflows/ion-test-driver.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 3235917a75..7604ba1eba 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -30,8 +30,7 @@ jobs: run: pip3 install -r ion-test-driver/requirements.txt && pip3 install -e ion-test-driver - name: install whl from testpypi - run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.92 - + run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.93 - name: Get main branch HEAD sha run: cd ion-java && echo `git rev-parse --short=7 HEAD` && echo "main=`git rev-parse --short=7 HEAD`" >> $GITHUB_ENV From d3b96a58bd263f6afb7a6e7b3ab3c3263e8d09ca Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 16:07:51 -0700 Subject: [PATCH 16/23] some change4 --- .github/workflows/ion-test-driver.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 7604ba1eba..361b92c272 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -12,7 +12,7 @@ jobs: - name: Checkout ion-java uses: actions/checkout@master with: - repository: cheqianh/ion-java + repository: amzn/ion-java ref: master path: ion-java @@ -30,7 +30,7 @@ jobs: run: pip3 install -r ion-test-driver/requirements.txt && pip3 install -e ion-test-driver - name: install whl from testpypi - run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.93 + run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.94 - name: Get main branch HEAD sha run: cd ion-java && echo `git rev-parse --short=7 HEAD` && echo "main=`git rev-parse --short=7 HEAD`" >> $GITHUB_ENV From 6d24be54cf83c19c414211db5281193f052e86a4 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 16:09:57 -0700 Subject: [PATCH 17/23] some change4 --- .github/workflows/ion-test-driver.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 361b92c272..40bf4490b5 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -26,6 +26,7 @@ jobs: - name: Set up python3 env run: python3 -m venv ion-test-driver/venv && . ion-test-driver/venv/bin/activate + - name: Pip install run: pip3 install -r ion-test-driver/requirements.txt && pip3 install -e ion-test-driver From 90d43bb469f9b41384d6f519d71d138ccbfcb384 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Sun, 4 Apr 2021 16:17:31 -0700 Subject: [PATCH 18/23] some change5 --- .github/workflows/ion-test-driver.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 40bf4490b5..68410b715e 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -31,7 +31,7 @@ jobs: run: pip3 install -r ion-test-driver/requirements.txt && pip3 install -e ion-test-driver - name: install whl from testpypi - run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.94 + run: pip3 install -i https://test.pypi.org/simple/ amazon.ion==0.7.95 - name: Get main branch HEAD sha run: cd ion-java && echo `git rev-parse --short=7 HEAD` && echo "main=`git rev-parse --short=7 HEAD`" >> $GITHUB_ENV From 61d336bcfbb7508299f2080a080e7f08371c9ddf Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Tue, 6 Apr 2021 18:56:54 -0700 Subject: [PATCH 19/23] test with error ahdnle --- .github/workflows/ion-test-driver.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 68410b715e..78fed7be9d 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -16,6 +16,7 @@ jobs: ref: master path: ion-java + - name: Checkout ion-test-driver uses: actions/checkout@master with: From 519b292adb32da110b52e8d2b36a44f21d4bfffd Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Tue, 6 Apr 2021 20:33:54 -0700 Subject: [PATCH 20/23] test with error ahdnle --- .github/workflows/ion-test-driver.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 78fed7be9d..68410b715e 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -16,7 +16,6 @@ jobs: ref: master path: ion-java - - name: Checkout ion-test-driver uses: actions/checkout@master with: From 51293cdb537d3314405618a586d7a7529fe5f3d8 Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Wed, 7 Apr 2021 10:19:46 -0700 Subject: [PATCH 21/23] test with error ahdnle --- .github/workflows/ion-test-driver.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 68410b715e..74b8d67910 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -26,7 +26,6 @@ jobs: - name: Set up python3 env run: python3 -m venv ion-test-driver/venv && . ion-test-driver/venv/bin/activate - - name: Pip install run: pip3 install -r ion-test-driver/requirements.txt && pip3 install -e ion-test-driver From 39878116037c706fa511d28c82f14fafab44c59d Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Thu, 15 Apr 2021 11:44:06 -0700 Subject: [PATCH 22/23] test --- .github/workflows/ion-test-driver.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index 74b8d67910..cb8efa15da 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -6,8 +6,8 @@ jobs: ion-test-driver: runs-on: macos-10.15 steps: - - name: python version - run: python3 --version + - name: env + run: env - name: Checkout ion-java uses: actions/checkout@master @@ -53,6 +53,9 @@ jobs: - name: showing result run: cat output/results/ion-test-driver-results.ion + - name: test performance 1 + run: + - name: Analyze two implementations continue-on-error: true id: result-diff From 7f254f74ee67b8da2c85c3b8006298dbd740b0ba Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Thu, 15 Apr 2021 11:46:28 -0700 Subject: [PATCH 23/23] test --- .github/workflows/ion-test-driver.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ion-test-driver.yml b/.github/workflows/ion-test-driver.yml index cb8efa15da..9945923871 100644 --- a/.github/workflows/ion-test-driver.yml +++ b/.github/workflows/ion-test-driver.yml @@ -53,9 +53,6 @@ jobs: - name: showing result run: cat output/results/ion-test-driver-results.ion - - name: test performance 1 - run: - - name: Analyze two implementations continue-on-error: true id: result-diff