From 5ef65483a5f7facdac84281d6418be5b9e4a1394 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Mon, 12 Oct 2020 15:57:57 +0300 Subject: [PATCH] extracted IoTestUtil.assumeMacOS() to simplify and make messages more clear GitOrigin-RevId: 4142aefa6d50ad43f898c3601b1ac28664e7d250 --- .../intellij/ide/plugins/PluginDescriptorTest.kt | 15 ++++++++++++--- .../testSrc/com/intellij/ui/layout/UiDslTest.kt | 3 ++- .../ui/mac/touchbar/TouchBarSettingsTest.java | 3 ++- .../testSrc/com/intellij/util/JdkBundleTest.java | 3 ++- .../com/intellij/openapi/util/io/IoTestUtil.java | 4 ++++ .../testSrc/com/intellij/util/FoundationTest.java | 3 ++- .../com/intellij/util/text/DateFormatUtilTest.kt | 3 ++- 7 files changed, 26 insertions(+), 8 deletions(-) diff --git a/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginDescriptorTest.kt b/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginDescriptorTest.kt index fa6b257016ee..39db72b7ead1 100644 --- a/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginDescriptorTest.kt +++ b/platform/platform-tests/testSrc/com/intellij/ide/plugins/PluginDescriptorTest.kt @@ -6,6 +6,7 @@ import com.intellij.ide.plugins.cl.PluginClassLoader import com.intellij.openapi.extensions.PluginId import com.intellij.openapi.util.BuildNumber import com.intellij.openapi.util.SystemInfo +import com.intellij.openapi.util.io.IoTestUtil import com.intellij.testFramework.PlatformTestUtil import com.intellij.testFramework.UsefulTestCase import com.intellij.testFramework.assertions.Assertions.assertThat @@ -113,7 +114,8 @@ class PluginDescriptorTest { @Test fun testProductionPlugins() { - assumeTrue(SystemInfo.isMac && !UsefulTestCase.IS_UNDER_TEAMCITY) + IoTestUtil.assumeMacOS() + assumeNotUnderTeamcity() val descriptors = loadAndInitDescriptors(Paths.get("/Applications/Idea.app/Contents/plugins"), PluginManagerCore.getBuildNumber()).sortedPlugins assertThat(descriptors).isNotEmpty() assertThat(descriptors.find { it!!.pluginId.idString == "com.intellij.java" }).isNotNull @@ -121,7 +123,8 @@ class PluginDescriptorTest { @Test fun testProductionProductLib() { - assumeTrue(SystemInfo.isMac && !UsefulTestCase.IS_UNDER_TEAMCITY) + IoTestUtil.assumeMacOS() + assumeNotUnderTeamcity() val urls = ArrayList() Paths.get("/Applications/Idea.app/Contents/lib").directoryStreamIfExists { for (path in it) { @@ -135,11 +138,17 @@ class PluginDescriptorTest { @Test fun testProduction2() { - assumeTrue(SystemInfo.isMac && !UsefulTestCase.IS_UNDER_TEAMCITY) + IoTestUtil.assumeMacOS() + + assumeNotUnderTeamcity() val descriptors = loadAndInitDescriptors(Paths.get("/Volumes/data/plugins"), PluginManagerCore.getBuildNumber()).sortedPlugins assertThat(descriptors).isNotEmpty() } + private fun assumeNotUnderTeamcity() { + assumeTrue("Must not be run under TeamCity", !UsefulTestCase.IS_UNDER_TEAMCITY) + } + @Test fun testDuplicateDependency() { val descriptor = loadDescriptorInTest("duplicateDependency") diff --git a/platform/platform-tests/testSrc/com/intellij/ui/layout/UiDslTest.kt b/platform/platform-tests/testSrc/com/intellij/ui/layout/UiDslTest.kt index b4e7f0003095..b08843f77116 100644 --- a/platform/platform-tests/testSrc/com/intellij/ui/layout/UiDslTest.kt +++ b/platform/platform-tests/testSrc/com/intellij/ui/layout/UiDslTest.kt @@ -2,6 +2,7 @@ package com.intellij.ui.layout import com.intellij.openapi.util.SystemInfo +import com.intellij.openapi.util.io.IoTestUtil import com.intellij.testFramework.ProjectRule import org.junit.* import org.junit.rules.TestName @@ -128,7 +129,7 @@ abstract class UiDslTest { @Test fun `checkbox rows with big components`() { // ComboBoxes in MacOs LaF have different border insets, that are used to build layout constraints - Assume.assumeTrue(!SystemInfo.isMac) + IoTestUtil.assumeMacOS() doTest { checkboxRowsWithBigComponents() } } diff --git a/platform/platform-tests/testSrc/com/intellij/ui/mac/touchbar/TouchBarSettingsTest.java b/platform/platform-tests/testSrc/com/intellij/ui/mac/touchbar/TouchBarSettingsTest.java index 396854c3e70d..ab7c5b9ba90e 100644 --- a/platform/platform-tests/testSrc/com/intellij/ui/mac/touchbar/TouchBarSettingsTest.java +++ b/platform/platform-tests/testSrc/com/intellij/ui/mac/touchbar/TouchBarSettingsTest.java @@ -6,6 +6,7 @@ import com.intellij.execution.configurations.GeneralCommandLine; import com.intellij.execution.process.ProcessOutput; import com.intellij.execution.util.ExecUtil; import com.intellij.openapi.util.SystemInfo; +import com.intellij.openapi.util.io.IoTestUtil; import com.intellij.ui.mac.foundation.NSDefaults; import junit.framework.TestCase; import org.junit.Assume; @@ -39,7 +40,7 @@ public class TouchBarSettingsTest extends TestCase { @Test public void testSettingsRead() { - Assume.assumeTrue("mac only", SystemInfo.isMac); + IoTestUtil.assumeMacOS(); final String sysVer = NSDefaults.readStringVal("loginwindow", "SystemVersionStampAsString"); assertNotNull(sysVer); diff --git a/platform/platform-tests/testSrc/com/intellij/util/JdkBundleTest.java b/platform/platform-tests/testSrc/com/intellij/util/JdkBundleTest.java index 146c9a05e678..faeda9758ba2 100644 --- a/platform/platform-tests/testSrc/com/intellij/util/JdkBundleTest.java +++ b/platform/platform-tests/testSrc/com/intellij/util/JdkBundleTest.java @@ -3,6 +3,7 @@ package com.intellij.util; import com.intellij.openapi.util.Bitness; import com.intellij.openapi.util.SystemInfo; +import com.intellij.openapi.util.io.IoTestUtil; import com.intellij.util.lang.JavaVersion; import org.junit.Test; @@ -57,7 +58,7 @@ public class JdkBundleTest { @Test public void testStandardMacOsBundles() { - assumeTrue("Mac-only", SystemInfo.isMac); + IoTestUtil.assumeMacOS(); for (File vm : Objects.requireNonNull(new File("/Library/Java/JavaVirtualMachines").listFiles())) { if (new File(vm, "Contents/Home/bin/java").isFile()) { JdkBundle bundle = JdkBundle.createBundle(vm); diff --git a/platform/testFramework/src/com/intellij/openapi/util/io/IoTestUtil.java b/platform/testFramework/src/com/intellij/openapi/util/io/IoTestUtil.java index b59c4122b504..8862d98469be 100644 --- a/platform/testFramework/src/com/intellij/openapi/util/io/IoTestUtil.java +++ b/platform/testFramework/src/com/intellij/openapi/util/io/IoTestUtil.java @@ -37,6 +37,7 @@ import java.util.zip.ZipOutputStream; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import static org.junit.Assume.assumeTrue; public final class IoTestUtil { @ReviseWhenPortedToJDK("13") @@ -130,6 +131,9 @@ public final class IoTestUtil { public static void assumeWindows() throws AssumptionViolatedException { Assume.assumeTrue("Need Windows, can't run on " + SystemInfo.OS_NAME, SystemInfo.isWindows); } + public static void assumeMacOS() throws AssumptionViolatedException { + assumeTrue("Need macOS, can't run on " + SystemInfo.OS_NAME, SystemInfo.isMac); + } public static void assumeUnix() throws AssumptionViolatedException { Assume.assumeTrue("Need Unix, can't run on " + SystemInfo.OS_NAME, SystemInfo.isUnix); diff --git a/platform/util/testSrc/com/intellij/util/FoundationTest.java b/platform/util/testSrc/com/intellij/util/FoundationTest.java index 0291f87c143c..841625f45c44 100644 --- a/platform/util/testSrc/com/intellij/util/FoundationTest.java +++ b/platform/util/testSrc/com/intellij/util/FoundationTest.java @@ -2,6 +2,7 @@ package com.intellij.util; import com.intellij.openapi.util.SystemInfo; +import com.intellij.openapi.util.io.IoTestUtil; import com.intellij.ui.mac.foundation.ID; import com.intellij.ui.mac.foundation.NSWorkspace; import com.intellij.util.io.jna.DisposableMemory; @@ -23,7 +24,7 @@ import static org.junit.Assert.*; public class FoundationTest { @BeforeClass public static void assumeMac() { - Assume.assumeTrue("mac only", SystemInfo.isMac); + IoTestUtil.assumeMacOS(); } @Test diff --git a/platform/util/testSrc/com/intellij/util/text/DateFormatUtilTest.kt b/platform/util/testSrc/com/intellij/util/text/DateFormatUtilTest.kt index 7ac5bb507b56..66e08fea16c3 100644 --- a/platform/util/testSrc/com/intellij/util/text/DateFormatUtilTest.kt +++ b/platform/util/testSrc/com/intellij/util/text/DateFormatUtilTest.kt @@ -6,6 +6,7 @@ import com.intellij.execution.util.ExecUtil import com.intellij.openapi.util.Clock import com.intellij.openapi.util.SystemInfo import com.intellij.openapi.util.io.FileUtil +import com.intellij.openapi.util.io.IoTestUtil import org.assertj.core.api.Assertions.assertThat import org.junit.Assert.assertEquals import org.junit.Assume.assumeTrue @@ -23,7 +24,7 @@ class DateFormatUtilTest { } @Test fun system() { - assumeTrue("Unsupported OS", SystemInfo.isMac) + IoTestUtil.assumeMacOS() val testDate = LocalDateTime.of(2019, 5, 22, 13, 45).toMillis() val helper = File(DateFormatUtilTest::class.java.getResource("DateFormatUtilTest_macOS").toURI()) FileUtil.setExecutable(helper)