extracted IoTestUtil.assumeMacOS() to simplify and make messages more clear

GitOrigin-RevId: 4142aefa6d50ad43f898c3601b1ac28664e7d250
This commit is contained in:
Alexey Kudravtsev
2020-10-12 14:49:17 +00:00
committed by intellij-monorepo-bot
parent dc88a8438a
commit 5ef65483a5
7 changed files with 26 additions and 8 deletions
@@ -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<URL>()
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")
@@ -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() }
}
@@ -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);
@@ -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);
@@ -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);
@@ -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
@@ -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)