From 3bc63572f8ac20ca1aa9928b36839faf6949850a Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sat, 17 Aug 2024 15:11:39 +0200 Subject: [PATCH 1/8] Update ci.yml --- .github/workflows/ci.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed004d61c..7d0f3d541 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -66,7 +66,9 @@ jobs: key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} - name: Run tests run: ./gradlew --no-daemon clean jacocoTestReport - - name: Report test coverage - run: | - pip install --user codecov - codecov + - name: Upload code coverage + uses: codecov/codecov-action@v4 + with: + # Set to `true` once codecov token bug is fixed; https://github.com/parse-community/parse-server/issues/9129 + fail_ci_if_error: false + token: ${{ secrets.CODECOV_TOKEN }} From 5b01e2fd520b0c86eace793cbb4af1f23084c980 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sat, 17 Aug 2024 15:16:45 +0200 Subject: [PATCH 2/8] upgrade jacoco --- build.gradle | 2 +- parse/build.gradle | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 7f0b633e7..04721faf7 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,6 @@ buildscript { ext.kotlin_version = "1.7.10" - ext.jacocoVersion = '0.8.7' + ext.jacocoVersion = '0.8.12' repositories { google() mavenCentral() diff --git a/parse/build.gradle b/parse/build.gradle index 32b8129c3..45c0b5f8f 100644 --- a/parse/build.gradle +++ b/parse/build.gradle @@ -78,7 +78,7 @@ afterEvaluate { apply plugin: "com.dicedmelon.gradle.jacoco-android" jacoco { - toolVersion = "0.8.7" + toolVersion = "0.8.12" } tasks.withType(Test) { From 1787aa8d97b12b64e8971b73d7bb59744293bd6e Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sat, 17 Aug 2024 15:38:10 +0200 Subject: [PATCH 3/8] enable debug info --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d0f3d541..baffb3e82 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,7 @@ jobs: path: ~/.gradle/wrapper key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} - name: Run tests - run: ./gradlew --no-daemon clean jacocoTestReport + run: ./gradlew --no-daemon clean jacocoTestReport --info - name: Upload code coverage uses: codecov/codecov-action@v4 with: From dc34d5e6d7bd52a2d14fa60b9afafa6f7aad3e9e Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sun, 18 Aug 2024 01:53:27 +0200 Subject: [PATCH 4/8] disable useJUnitPlatform for JUnit 4 --- .github/workflows/ci.yml | 2 +- parse/build.gradle | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index baffb3e82..7d0f3d541 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -65,7 +65,7 @@ jobs: path: ~/.gradle/wrapper key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} - name: Run tests - run: ./gradlew --no-daemon clean jacocoTestReport --info + run: ./gradlew --no-daemon clean jacocoTestReport - name: Upload code coverage uses: codecov/codecov-action@v4 with: diff --git a/parse/build.gradle b/parse/build.gradle index 45c0b5f8f..9935bdc80 100644 --- a/parse/build.gradle +++ b/parse/build.gradle @@ -85,13 +85,18 @@ tasks.withType(Test) { jacoco.includeNoLocationClasses = true jacoco.excludes = ['jdk.internal.*'] testLogging { - events "failed" + events "PASSED", "SKIPPED", "FAILED" + showStandardStreams true + showExceptions true + showCauses true + showStackTraces true + exceptionFormat "full" } } -tasks.withType(Test) { - useJUnitPlatform() -} +// tasks.withType(Test) { +// useJUnitPlatform() +// } jacocoAndroidUnitTestReport { csv.enabled false From 810a068d32c8c9241872159cf324c06b346c533f Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sun, 18 Aug 2024 01:58:18 +0200 Subject: [PATCH 5/8] Update build.gradle --- parse/build.gradle | 4 ---- 1 file changed, 4 deletions(-) diff --git a/parse/build.gradle b/parse/build.gradle index 9935bdc80..820afb95c 100644 --- a/parse/build.gradle +++ b/parse/build.gradle @@ -94,10 +94,6 @@ tasks.withType(Test) { } } -// tasks.withType(Test) { -// useJUnitPlatform() -// } - jacocoAndroidUnitTestReport { csv.enabled false html.enabled true From fdd94883ad0057fcd183b89bf7aea69ddb5bdac4 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sun, 18 Aug 2024 02:25:50 +0200 Subject: [PATCH 6/8] temporarily disable tests to debug codecov upload --- parse/src/test/java/com/parse/ParseCorePluginsTest.java | 2 ++ .../src/test/java/com/parse/ParseCountingUriHttpBodyTest.java | 3 +++ parse/src/test/java/com/parse/ParseDecoderTest.java | 3 +++ parse/src/test/java/com/parse/ParseFileControllerTest.java | 2 ++ parse/src/test/java/com/parse/ParseFileTest.java | 2 ++ parse/src/test/java/com/parse/ParseUriHttpBodyTest.java | 3 +++ 6 files changed, 15 insertions(+) diff --git a/parse/src/test/java/com/parse/ParseCorePluginsTest.java b/parse/src/test/java/com/parse/ParseCorePluginsTest.java index 9619a7569..27f46b325 100644 --- a/parse/src/test/java/com/parse/ParseCorePluginsTest.java +++ b/parse/src/test/java/com/parse/ParseCorePluginsTest.java @@ -15,6 +15,7 @@ import com.parse.boltsinternal.Task; import java.util.List; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; @@ -31,6 +32,7 @@ public void setUp() throws Exception { } @Test + @Ignore("Temporarily disabled to see if codecov upload works") public void testQueryControllerDefaultImpl() { ParseQueryController controller = ParseCorePlugins.getInstance().getQueryController(); assertThat(controller, instanceOf(CacheQueryController.class)); diff --git a/parse/src/test/java/com/parse/ParseCountingUriHttpBodyTest.java b/parse/src/test/java/com/parse/ParseCountingUriHttpBodyTest.java index 777851e53..777e89c7e 100644 --- a/parse/src/test/java/com/parse/ParseCountingUriHttpBodyTest.java +++ b/parse/src/test/java/com/parse/ParseCountingUriHttpBodyTest.java @@ -20,6 +20,7 @@ import java.util.Arrays; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -43,6 +44,7 @@ private static Uri makeTestUri(File root) throws IOException { } @Test + @Ignore("Temporarily disabled to see if codecov upload works") public void testWriteTo() throws Exception { final Semaphore didReportIntermediateProgress = new Semaphore(0); final Semaphore finish = new Semaphore(0); @@ -82,6 +84,7 @@ public void done(Integer percentDone) { } @Test(expected = IllegalArgumentException.class) + @Ignore("Temporarily disabled to see if codecov upload works") public void testWriteToWithNullOutput() throws Exception { ParseCountingUriHttpBody body = new ParseCountingUriHttpBody(makeTestUri(temporaryFolder.getRoot()), null); diff --git a/parse/src/test/java/com/parse/ParseDecoderTest.java b/parse/src/test/java/com/parse/ParseDecoderTest.java index a758babc6..861df207e 100644 --- a/parse/src/test/java/com/parse/ParseDecoderTest.java +++ b/parse/src/test/java/com/parse/ParseDecoderTest.java @@ -22,6 +22,7 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; @@ -252,6 +253,7 @@ public void testIncludedParseObject() throws JSONException { } @Test + @Ignore("Temporarily disabled to see if codecov upload works") public void testCompleteness() throws JSONException { JSONObject json = new JSONObject(); json.put("__type", "Object"); @@ -271,6 +273,7 @@ public void testCompleteness() throws JSONException { } @Test + @Ignore("Temporarily disabled to see if codecov upload works") public void testCompletenessOfIncludedParseObject() throws JSONException { JSONObject json = new JSONObject(); json.put("__type", "Object"); diff --git a/parse/src/test/java/com/parse/ParseFileControllerTest.java b/parse/src/test/java/com/parse/ParseFileControllerTest.java index 7bc9c8298..9527d2478 100644 --- a/parse/src/test/java/com/parse/ParseFileControllerTest.java +++ b/parse/src/test/java/com/parse/ParseFileControllerTest.java @@ -34,6 +34,7 @@ import org.json.JSONObject; import org.junit.After; import org.junit.Before; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -199,6 +200,7 @@ public void testSaveAsyncSuccessWithFile() throws Exception { } @Test + @Ignore("Temporarily disabled to see if codecov upload works") public void testSaveAsyncSuccessWithUri() throws Exception { JSONObject json = new JSONObject(); json.put("name", "new_file_name"); diff --git a/parse/src/test/java/com/parse/ParseFileTest.java b/parse/src/test/java/com/parse/ParseFileTest.java index 0a415cfbb..0edc90034 100644 --- a/parse/src/test/java/com/parse/ParseFileTest.java +++ b/parse/src/test/java/com/parse/ParseFileTest.java @@ -30,6 +30,7 @@ import java.util.List; import org.junit.After; import org.junit.Before; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -255,6 +256,7 @@ public void testSaveAsyncSuccessWithFile() throws Exception { } @Test + @Ignore("Temporarily disabled to see if codecov upload works") public void testSaveAsyncSuccessWithUri() throws Exception { String name = "name"; File file = temporaryFolder.newFile(name); diff --git a/parse/src/test/java/com/parse/ParseUriHttpBodyTest.java b/parse/src/test/java/com/parse/ParseUriHttpBodyTest.java index 8e472195d..7ea5c3fdb 100644 --- a/parse/src/test/java/com/parse/ParseUriHttpBodyTest.java +++ b/parse/src/test/java/com/parse/ParseUriHttpBodyTest.java @@ -15,6 +15,7 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -23,6 +24,7 @@ public class ParseUriHttpBodyTest { @Rule public final TemporaryFolder temporaryFolder = new TemporaryFolder(); @Test + @Ignore("Temporarily disabled to see if codecov upload works") public void testInitializeWithUri() throws IOException { byte[] content = {1, 1, 1, 1, 1}; String contentType = "application/json"; @@ -36,6 +38,7 @@ public void testInitializeWithUri() throws IOException { } @Test + @Ignore("Temporarily disabled to see if codecov upload works") public void testWriteTo() throws IOException { String content = "content"; String contentType = "application/json"; From 555f9ba3af63ed426bbeabd528a8252237fd5da8 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sun, 18 Aug 2024 02:29:55 +0200 Subject: [PATCH 7/8] disable logging passed tests --- parse/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parse/build.gradle b/parse/build.gradle index 820afb95c..9253396d9 100644 --- a/parse/build.gradle +++ b/parse/build.gradle @@ -85,7 +85,7 @@ tasks.withType(Test) { jacoco.includeNoLocationClasses = true jacoco.excludes = ['jdk.internal.*'] testLogging { - events "PASSED", "SKIPPED", "FAILED" + events "SKIPPED", "FAILED" showStandardStreams true showExceptions true showCauses true From 393fbd84f273a05603bee3d802600580ce4c956d Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Sun, 18 Aug 2024 02:30:13 +0200 Subject: [PATCH 8/8] Revert "temporarily disable tests to debug codecov upload" This reverts commit fdd94883ad0057fcd183b89bf7aea69ddb5bdac4. --- parse/src/test/java/com/parse/ParseCorePluginsTest.java | 2 -- .../src/test/java/com/parse/ParseCountingUriHttpBodyTest.java | 3 --- parse/src/test/java/com/parse/ParseDecoderTest.java | 3 --- parse/src/test/java/com/parse/ParseFileControllerTest.java | 2 -- parse/src/test/java/com/parse/ParseFileTest.java | 2 -- parse/src/test/java/com/parse/ParseUriHttpBodyTest.java | 3 --- 6 files changed, 15 deletions(-) diff --git a/parse/src/test/java/com/parse/ParseCorePluginsTest.java b/parse/src/test/java/com/parse/ParseCorePluginsTest.java index 27f46b325..9619a7569 100644 --- a/parse/src/test/java/com/parse/ParseCorePluginsTest.java +++ b/parse/src/test/java/com/parse/ParseCorePluginsTest.java @@ -15,7 +15,6 @@ import com.parse.boltsinternal.Task; import java.util.List; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; @@ -32,7 +31,6 @@ public void setUp() throws Exception { } @Test - @Ignore("Temporarily disabled to see if codecov upload works") public void testQueryControllerDefaultImpl() { ParseQueryController controller = ParseCorePlugins.getInstance().getQueryController(); assertThat(controller, instanceOf(CacheQueryController.class)); diff --git a/parse/src/test/java/com/parse/ParseCountingUriHttpBodyTest.java b/parse/src/test/java/com/parse/ParseCountingUriHttpBodyTest.java index 777e89c7e..777851e53 100644 --- a/parse/src/test/java/com/parse/ParseCountingUriHttpBodyTest.java +++ b/parse/src/test/java/com/parse/ParseCountingUriHttpBodyTest.java @@ -20,7 +20,6 @@ import java.util.Arrays; import java.util.concurrent.Semaphore; import java.util.concurrent.TimeUnit; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -44,7 +43,6 @@ private static Uri makeTestUri(File root) throws IOException { } @Test - @Ignore("Temporarily disabled to see if codecov upload works") public void testWriteTo() throws Exception { final Semaphore didReportIntermediateProgress = new Semaphore(0); final Semaphore finish = new Semaphore(0); @@ -84,7 +82,6 @@ public void done(Integer percentDone) { } @Test(expected = IllegalArgumentException.class) - @Ignore("Temporarily disabled to see if codecov upload works") public void testWriteToWithNullOutput() throws Exception { ParseCountingUriHttpBody body = new ParseCountingUriHttpBody(makeTestUri(temporaryFolder.getRoot()), null); diff --git a/parse/src/test/java/com/parse/ParseDecoderTest.java b/parse/src/test/java/com/parse/ParseDecoderTest.java index 861df207e..a758babc6 100644 --- a/parse/src/test/java/com/parse/ParseDecoderTest.java +++ b/parse/src/test/java/com/parse/ParseDecoderTest.java @@ -22,7 +22,6 @@ import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.ExpectedException; @@ -253,7 +252,6 @@ public void testIncludedParseObject() throws JSONException { } @Test - @Ignore("Temporarily disabled to see if codecov upload works") public void testCompleteness() throws JSONException { JSONObject json = new JSONObject(); json.put("__type", "Object"); @@ -273,7 +271,6 @@ public void testCompleteness() throws JSONException { } @Test - @Ignore("Temporarily disabled to see if codecov upload works") public void testCompletenessOfIncludedParseObject() throws JSONException { JSONObject json = new JSONObject(); json.put("__type", "Object"); diff --git a/parse/src/test/java/com/parse/ParseFileControllerTest.java b/parse/src/test/java/com/parse/ParseFileControllerTest.java index 9527d2478..7bc9c8298 100644 --- a/parse/src/test/java/com/parse/ParseFileControllerTest.java +++ b/parse/src/test/java/com/parse/ParseFileControllerTest.java @@ -34,7 +34,6 @@ import org.json.JSONObject; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -200,7 +199,6 @@ public void testSaveAsyncSuccessWithFile() throws Exception { } @Test - @Ignore("Temporarily disabled to see if codecov upload works") public void testSaveAsyncSuccessWithUri() throws Exception { JSONObject json = new JSONObject(); json.put("name", "new_file_name"); diff --git a/parse/src/test/java/com/parse/ParseFileTest.java b/parse/src/test/java/com/parse/ParseFileTest.java index 0edc90034..0a415cfbb 100644 --- a/parse/src/test/java/com/parse/ParseFileTest.java +++ b/parse/src/test/java/com/parse/ParseFileTest.java @@ -30,7 +30,6 @@ import java.util.List; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -256,7 +255,6 @@ public void testSaveAsyncSuccessWithFile() throws Exception { } @Test - @Ignore("Temporarily disabled to see if codecov upload works") public void testSaveAsyncSuccessWithUri() throws Exception { String name = "name"; File file = temporaryFolder.newFile(name); diff --git a/parse/src/test/java/com/parse/ParseUriHttpBodyTest.java b/parse/src/test/java/com/parse/ParseUriHttpBodyTest.java index 7ea5c3fdb..8e472195d 100644 --- a/parse/src/test/java/com/parse/ParseUriHttpBodyTest.java +++ b/parse/src/test/java/com/parse/ParseUriHttpBodyTest.java @@ -15,7 +15,6 @@ import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; -import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; @@ -24,7 +23,6 @@ public class ParseUriHttpBodyTest { @Rule public final TemporaryFolder temporaryFolder = new TemporaryFolder(); @Test - @Ignore("Temporarily disabled to see if codecov upload works") public void testInitializeWithUri() throws IOException { byte[] content = {1, 1, 1, 1, 1}; String contentType = "application/json"; @@ -38,7 +36,6 @@ public void testInitializeWithUri() throws IOException { } @Test - @Ignore("Temporarily disabled to see if codecov upload works") public void testWriteTo() throws IOException { String content = "content"; String contentType = "application/json";