From 67114dac8ac3a29a02cc6b0e08feff4f7226b145 Mon Sep 17 00:00:00 2001 From: Simeon Andreev Date: Wed, 29 Apr 2026 12:32:08 +0300 Subject: [PATCH] Disable test_PlaceholderOnTopStackSwitch() on MacOS I-builds PartOnTopManagerTest.test_PlaceholderOnTopStackSwitch() fails stabily in MacOS I-builds. Since its unclear what is wrong, the test is now disabled to reduce noise in test results. See: https://github.com/eclipse-platform/eclipse.platform.ui/issues/3893 --- .../tests/model/test/util/E4UITestUtils.java | 33 +++++++++++++++++++ .../tests/workbench/PartOnTopManagerTest.java | 5 +++ 2 files changed, 38 insertions(+) create mode 100644 tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/model/test/util/E4UITestUtils.java diff --git a/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/model/test/util/E4UITestUtils.java b/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/model/test/util/E4UITestUtils.java new file mode 100644 index 00000000000..a58d6f3f39b --- /dev/null +++ b/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/model/test/util/E4UITestUtils.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2026 Simeon Andreev and others. + * + * This program and the accompanying materials + * are made available under the terms of the Eclipse Public License 2.0 + * which accompanies this distribution, and is available at + * https://www.eclipse.org/legal/epl-2.0/ + * + * SPDX-License-Identifier: EPL-2.0 + * + * Contributors: + * Simeon Andreev - initial API and implementation + ******************************************************************************/ + +package org.eclipse.e4.ui.tests.model.test.util; + +public class E4UITestUtils { + + public static final String JENKINS_JOB_NAME_ENV_VAR = "JOB_NAME"; + + /** + * Return {@code true} if we are probably running on Jenkins, i.e. if + * {@link #JENKINS_JOB_NAME_ENV_VAR} is set. Jenkins jobs are: + * + */ + public static boolean isRunningOnJenkins() { + return System.getenv(JENKINS_JOB_NAME_ENV_VAR) != null; + } +} diff --git a/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/workbench/PartOnTopManagerTest.java b/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/workbench/PartOnTopManagerTest.java index 899a46f7321..a02d4a4203f 100644 --- a/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/workbench/PartOnTopManagerTest.java +++ b/tests/org.eclipse.e4.ui.tests/src/org/eclipse/e4/ui/tests/workbench/PartOnTopManagerTest.java @@ -19,6 +19,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import jakarta.inject.Inject; +import org.eclipse.core.runtime.Platform; import org.eclipse.e4.ui.internal.workbench.PartOnTopManager; import org.eclipse.e4.ui.model.application.MApplication; import org.eclipse.e4.ui.model.application.ui.MContext; @@ -29,10 +30,12 @@ import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainer; import org.eclipse.e4.ui.model.application.ui.basic.MPartStack; import org.eclipse.e4.ui.model.application.ui.basic.MWindow; +import org.eclipse.e4.ui.tests.model.test.util.E4UITestUtils; import org.eclipse.e4.ui.tests.rules.WorkbenchContextExtension; import org.eclipse.e4.ui.workbench.IWorkbench; import org.eclipse.e4.ui.workbench.modeling.EModelService; import org.eclipse.e4.ui.workbench.modeling.EPartService; +import org.junit.jupiter.api.Assumptions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; @@ -136,6 +139,8 @@ public void test_PartOnTopStackSwitch() { @Test public void test_PlaceholderOnTopStackSwitch() { + Assumptions.assumeFalse(Platform.OS.isMac() && E4UITestUtils.isRunningOnJenkins(), + "test fails stably on MacOS I-builds, its unclear how to fix it, see: https://github.com/eclipse-platform/eclipse.platform.ui/issues/3893"); MWindow window = ems.createModelElement(MWindow.class); application.getChildren().add(window); application.setSelectedElement(window);