Skip to content

BUILD-10388 reactivate all tests#1651

Draft
julien-carsique-sonarsource wants to merge 2 commits intomasterfrom
fix/jcarsique/BUILD-10388-allTests
Draft

BUILD-10388 reactivate all tests#1651
julien-carsique-sonarsource wants to merge 2 commits intomasterfrom
fix/jcarsique/BUILD-10388-allTests

Conversation

@julien-carsique-sonarsource
Copy link
Contributor

@julien-carsique-sonarsource julien-carsique-sonarsource commented Feb 20, 2026

BUILD-10388

Follow-up of #1640

Summary

Reactivates the 5 integration tests that were temporarily disabled in #1640 (BUILD-10388) and fixes the root cause of failures for PyCharm 2025+ and Rider.

Problem

PyCharm 2025+ and all Rider versions do not display a Welcome Frame on startup, causing integration tests to fail with WaitForConditionTimeoutException when the test framework waits for a frame that never appears.

The following QA targets were disabled in #1640:

  • IU-2025.3.2 (IntelliJ IDEA Ultimate 2025)
  • PY-2025.3.2.1 (PyCharm Professional 2025)
  • PC-2025.3.2.1 (PyCharm Community 2025)
  • RD-2023.1.7 (Rider 2023)
  • RD-2024.3.9 (Rider 2024)

Changes

Fix: Welcome Frame handling for PyCharm 2025+ and Rider (OpeningUtils.kt)

  • Add getIdeVersionYear() helper in RemoteRobotExtensions.kt to detect the IDE version year from the build number
  • Update openExistingProject() to skip waiting for the Welcome Frame when:
    • PyCharm 2025+ (no welcome frame since 2025)
    • Rider (all versions, never had a welcome frame)
    • GoLand 2025+ (already handled before this PR)
  • Use openFileSelector() as the workaround when no Welcome Frame is present
  • Wrap dialog closing in idea{} block and remove optionalStep to properly propagate exceptions

Fix: isRider import conflict (OpeningUtils.kt)

  • Rename import of fixtures.isRider to isRiderExtension to avoid ambiguity with BaseUiTest.Companion.isRider
  • Consistently use isRiderExtension() for the extension function and isRider() for the static function

Reactivate all 5 ITs (.github/workflows/build.yml)

Reverts the temporary disable introduced in BUILD-10388:

  • IU-2025.3.2, PY-2025.3.2.1, PC-2025.3.2.1 (PyCharm/IDEA Ultimate 2025)
  • RD-2023.1.7, RD-2024.3.9 (Rider 2023/2024)

Note: RD-2025.1.5 remains disabled (pre-existing, unrelated issue).

Testing

  • IU-2025.3.2 — re-enabled, no code change needed
  • PY-2025.3.2.1 — fixed by Welcome Frame + dialog handling
  • PC-2025.3.2.1 — fixed by Welcome Frame + dialog handling
  • RD-2023.1.7 — fixed by Welcome Frame handling
  • RD-2024.3.9 — fixed by Welcome Frame handling

@hashicorp-vault-sonar-prod
Copy link

hashicorp-vault-sonar-prod bot commented Feb 20, 2026

BUILD-10388

Base automatically changed from feat/jcarsique/BUILD-10388-allInOneImage to master February 27, 2026 10:14
PyCharm 2025+ and all Rider versions do not display a Welcome Frame on startup,
causing integration tests to fail with WaitForConditionTimeoutException.

Changes:
- Add getIdeVersionYear() helper to detect IDE version
- Update openExistingProject() to handle:
  - PyCharm 2025+ (no welcome frame)
  - Rider (all versions, never had welcome frame)
  - GoLand 2025+ (already handled)
- Use openFileSelector() workaround when Welcome Frame is not present

This fixes 4 failing integration test jobs:
- PC-2025.3.2.1 (PyCharm Community 2025)
- PY-2025.3.2.1 (PyCharm Professional 2025)
- RD-2023.1.7 (Rider 2023)
- RD-2024.3.9 (Rider 2024)

---

BUILD-10388 Fix compilation error: resolve isRider import conflict

Fix duplicate import of isRider from two sources:
- BaseUiTest.Companion.isRider (static function)
- fixtures.isRider (extension function)

Changes:
- Import fixtures.isRider as isRiderExtension to avoid conflict
- Use isRiderExtension() where calling extension function
- Use isRider() where calling static function (in closeProject)
- Import custom DialogFixture from fixtures package instead of RemoteRobot package

This resolves the compilation error that broke all tests in run 22221651501.

---

BUILD-10388 Fix dialog closing for PyCharm 2025+ and Rider

Remove optionalStep wrapper from dialog closing code to allow exceptions
to propagate and ensure dialogs are actually closed. optionalStep was
silently swallowing exceptions, preventing proper error diagnosis.

Also wrap dialog closing in idea{} block to ensure IDE is ready before
attempting to find and close dialogs.

This should fix IndexOutOfBoundsException when accessing File menu:
- PC-2025.3.2.1 (PyCharmCommunity2025)
- PY-2025.3.2.1 (PyCharmProfessional2025)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@julien-carsique-sonarsource julien-carsique-sonarsource force-pushed the fix/jcarsique/BUILD-10388-allTests branch from dfb292a to 694e9ba Compare March 9, 2026 13:29
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.

1 participant