Skip to content

Conversation

@shai-almog
Copy link
Collaborator

Also used callSerially to avoid blocking the start method on Android

Also used callSerially to avoid blocking the start method on Android
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +24 to +27
try {
testClass.prepare();
testClass.runTest();
testClass.cleanup();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Record runTest outcomes

runSuite now calls testClass.prepare(); testClass.runTest(); testClass.cleanup(); directly and never checks the boolean returned by runTest() or notifies TestReporting about start/finish. If any test returns false (e.g., MediaPlaybackScreenshotTest when media creation fails), the suite logs it as “finished” and still emits CN1SS:SUITE:FINISHED, so CI and Cn1ssDeviceRunnerReporter will never mark the test as failed. Please capture the return value and call startingTestCase/finishedTestCase so failed tests are surfaced.

Useful? React with 👍 / 👎.

Comment on lines +23 to +27
log("CN1SS:INFO:suite starting test=" + testClass);
try {
testClass.prepare();
testClass.runTest();
testClass.cleanup();

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep tests off the EDT

The suite now executes each AbstractTest inline on the EDT (HelloCodenameOne.start schedules runSuite via CN.callSerially) without the DeviceRunner.runTest threading logic that honored shouldExecuteOnEDT(). With the default false, tests such as BrowserComponentScreenshotTest and MediaPlaybackScreenshotTest call Cn1ssDeviceRunnerHelper.waitForMillis() (uses Util.sleep) and rely on the EDT to process onLoad/media callbacks; running them on the EDT freezes the event loop so those callbacks never fire and the suite hangs/fails. Restore the off-EDT execution or thread-switching before invoking each test.

Useful? React with 👍 / 👎.

@shai-almog
Copy link
Collaborator Author

shai-almog commented Nov 21, 2025

Android screenshot updates

Compared 4 screenshots: 1 matched, 1 updated, 2 missing references.

  • BrowserComponent — updated screenshot. Screenshot differs (320x616 px, bit depth 8).

    BrowserComponent
    Preview info: JPEG preview quality 70; JPEG preview quality 70.
    Full-resolution PNG saved as BrowserComponent.png in workflow artifacts.

  • GraphicsPipeline — missing reference. Reference screenshot missing at /home/runner/work/CodenameOne/CodenameOne/scripts/android/screenshots/GraphicsPipeline.png.

    GraphicsPipeline
    Preview info: JPEG preview quality 70; JPEG preview quality 70.
    Full-resolution PNG saved as GraphicsPipeline.png in workflow artifacts.

  • GraphicsTransformations — missing reference. Reference screenshot missing at /home/runner/work/CodenameOne/CodenameOne/scripts/android/screenshots/GraphicsTransformations.png.

    GraphicsTransformations
    Preview info: JPEG preview quality 70; JPEG preview quality 70.
    Full-resolution PNG saved as GraphicsTransformations.png in workflow artifacts.

Native Android coverage

  • 📊 Line coverage: 17.89% (1926/10763 lines covered) [HTML preview] (artifact android-coverage-report, jacocoAndroidReport/html/index.html)
    • Other counters: instruction 17.52% (8893/50756), branch 9.52% (449/4714), complexity 12.37% (528/4267), method 24.93% (455/1825), class 25.33% (77/304)
    • Lowest covered classes
      • com.codename1.impl.android.com.codename1.impl.android.AndroidContactsManager – 0.00% (0/398 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidImplementation$Video – 0.00% (0/168 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.IntentIntegrator – 0.00% (0/139 lines covered)
      • com.codename1.impl.android.util.com.codename1.impl.android.util.Base64 – 0.00% (0/117 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.CodenameOneInputConnection – 0.00% (0/109 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidImplementation$SocketImpl – 0.00% (0/77 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidTextureView – 0.00% (0/76 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.AndroidSurfaceView – 0.00% (0/73 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.LocalNotificationPublisher – 0.00% (0/65 lines covered)
      • com.codename1.impl.android.com.codename1.impl.android.FridaDetectionUtil – 0.00% (0/64 lines covered)

@shai-almog
Copy link
Collaborator Author

shai-almog commented Nov 21, 2025

iOS screenshot updates

Compared 6 screenshots: 0 matched, 2 updated, 4 missing references.

  • BrowserComponent — updated screenshot. Screenshot differs (1206x2622 px, bit depth 8).

    BrowserComponent
    Preview info: Preview provided by instrumentation.
    Full-resolution PNG saved as BrowserComponent.png in workflow artifacts.

  • GraphicsPipeline — missing reference. Reference screenshot missing at /Users/runner/work/CodenameOne/CodenameOne/scripts/ios/screenshots/GraphicsPipeline.png.

    GraphicsPipeline
    Preview info: Preview provided by instrumentation.
    Full-resolution PNG saved as GraphicsPipeline.png in workflow artifacts.

  • GraphicsShapesAndGradients — missing reference. Reference screenshot missing at /Users/runner/work/CodenameOne/CodenameOne/scripts/ios/screenshots/GraphicsShapesAndGradients.png.

    GraphicsShapesAndGradients
    Preview info: Preview provided by instrumentation.
    Full-resolution PNG saved as GraphicsShapesAndGradients.png in workflow artifacts.

  • GraphicsTransformations — missing reference. Reference screenshot missing at /Users/runner/work/CodenameOne/CodenameOne/scripts/ios/screenshots/GraphicsTransformations.png.

    GraphicsTransformations
    Preview info: Preview provided by instrumentation.
    Full-resolution PNG saved as GraphicsTransformations.png in workflow artifacts.

  • MainActivity — updated screenshot. Screenshot differs (1206x2622 px, bit depth 8).

    MainActivity
    Preview info: Preview provided by instrumentation.
    Full-resolution PNG saved as MainActivity.png in workflow artifacts.

  • MediaPlayback — missing reference. Reference screenshot missing at /Users/runner/work/CodenameOne/CodenameOne/scripts/ios/screenshots/MediaPlayback.png.

    MediaPlayback
    Preview info: Preview provided by instrumentation.
    Full-resolution PNG saved as MediaPlayback.png in workflow artifacts.

@shai-almog shai-almog force-pushed the second-attempt-fix-android-ci-images branch from 9acb8c8 to 617b329 Compare November 21, 2025 15:50
@shai-almog shai-almog force-pushed the second-attempt-fix-android-ci-images branch from 13b0841 to 83baaea Compare November 21, 2025 18:54
@shai-almog shai-almog force-pushed the second-attempt-fix-android-ci-images branch from 58ad188 to e17ec30 Compare November 21, 2025 19:30
@shai-almog shai-almog force-pushed the second-attempt-fix-android-ci-images branch from 1d5e511 to 951062e Compare November 21, 2025 20:10
@shai-almog shai-almog merged commit 23d486b into master Nov 22, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants