diff --git a/.github/workflows/android-device.yml b/.github/workflows/android-device.yml index 34b4bcb..716d914 100644 --- a/.github/workflows/android-device.yml +++ b/.github/workflows/android-device.yml @@ -103,6 +103,7 @@ jobs: uses: actions/upload-artifact@v7 with: name: junit-Android API ${{ inputs.api }} + overwrite: true path: test-results/android-api${{ inputs.api }}/junit.xml retention-days: 7 - name: Link evidence in job summary diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5d7926f..5ed9840 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -85,6 +85,7 @@ jobs: uses: actions/upload-artifact@v7 with: name: junit-Native Go + overwrite: true path: test-results/native/*.xml retention-days: 7 @@ -121,6 +122,7 @@ jobs: uses: actions/upload-artifact@v7 with: name: junit-Python + overwrite: true path: test-results/python/*.xml retention-days: 7 @@ -175,6 +177,7 @@ jobs: uses: actions/upload-artifact@v7 with: name: junit-Android JVM + overwrite: true path: app/build/test-results/testDebugUnitTest/*.xml retention-days: 7 diff --git a/app/src/test/java/net/megaproxy487/MainScreenUiTest.kt b/app/src/test/java/net/megaproxy487/MainScreenUiTest.kt index bede61a..ffa4b64 100644 --- a/app/src/test/java/net/megaproxy487/MainScreenUiTest.kt +++ b/app/src/test/java/net/megaproxy487/MainScreenUiTest.kt @@ -86,6 +86,7 @@ class MainScreenUiTest : MainUiTestBase() { val other = store.cloneProfile(store.activeProfileId())!!.copy(name = "Secondary") store.saveProfile(other) screen() + waitForText("Primary") compose.onNodeWithText("Primary").performClick() compose.onNodeWithText("Secondary").performClick() saved() @@ -107,6 +108,7 @@ class MainScreenUiTest : MainUiTestBase() { .setInsets(WindowInsetsCompat.Type.navigationBars(), Insets.of(0, 0, 0, (200 * density).toInt())) .build()) } + waitForText("Primary") compose.onNodeWithText("Primary").performClick() val menuBounds = compose.onNode(isPopup()).getUnclippedBoundsInRoot() val menuHeight = menuBounds.bottom - menuBounds.top diff --git a/native/mobile/local_diagnostics_test.go b/native/mobile/local_diagnostics_test.go index edcf0fb..dc832f1 100644 --- a/native/mobile/local_diagnostics_test.go +++ b/native/mobile/local_diagnostics_test.go @@ -19,11 +19,15 @@ func TestLocalResetNeverMarksProxyFailure(t *testing.T) { t.Fatal(err) } defer listener.Close() + reset := make(chan struct{}) + defer close(reset) go func() { c, err := listener.Accept() if err != nil { return } + // Wait until Dial completes so RST exercises Read, not connection setup. + <-reset _ = c.(*net.TCPConn).SetLinger(0) _ = c.Close() }() @@ -44,6 +48,7 @@ func TestLocalResetNeverMarksProxyFailure(t *testing.T) { t.Fatal(err) } defer connection.Close() + reset <- struct{}{} _ = connection.SetReadDeadline(time.Now().Add(time.Second)) _, err = connection.Read(make([]byte, 1)) if err == nil {