|
@@ -40,6 +40,9 @@ import java.io.FileWriter;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Files;
|
|
import java.security.Permission;
|
|
import java.security.Permission;
|
|
|
|
+import java.util.Collections;
|
|
|
|
+import java.util.LinkedHashMap;
|
|
|
|
+import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.UUID;
|
|
import java.util.UUID;
|
|
|
|
|
|
@@ -432,6 +435,35 @@ public class TestCGroupsHandlerImpl {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Test
|
|
|
|
+ public void testSelectCgroup() throws Exception {
|
|
|
|
+ File cpu = new File(tmpPath, "cpu");
|
|
|
|
+ File cpuNoExist = new File(tmpPath, "cpuNoExist");
|
|
|
|
+ File memory = new File(tmpPath, "memory");
|
|
|
|
+ try {
|
|
|
|
+ CGroupsHandlerImpl handler = new CGroupsHandlerImpl(
|
|
|
|
+ conf,
|
|
|
|
+ privilegedOperationExecutorMock);
|
|
|
|
+ Map<String, List<String>> cgroups = new LinkedHashMap<>();
|
|
|
|
+
|
|
|
|
+ Assert.assertTrue("temp dir should be created", cpu.mkdirs());
|
|
|
|
+ Assert.assertTrue("temp dir should be created", memory.mkdirs());
|
|
|
|
+ Assert.assertFalse("temp dir should not be created", cpuNoExist.exists());
|
|
|
|
+
|
|
|
|
+ cgroups.put(
|
|
|
|
+ memory.getAbsolutePath(), Collections.singletonList("memory"));
|
|
|
|
+ cgroups.put(
|
|
|
|
+ cpuNoExist.getAbsolutePath(), Collections.singletonList("cpu"));
|
|
|
|
+ cgroups.put(cpu.getAbsolutePath(), Collections.singletonList("cpu"));
|
|
|
|
+ String selectedCPU = handler.findControllerInMtab("cpu", cgroups);
|
|
|
|
+ Assert.assertEquals("Wrong CPU mount point selected",
|
|
|
|
+ cpu.getAbsolutePath(), selectedCPU);
|
|
|
|
+ } finally {
|
|
|
|
+ FileUtils.deleteQuietly(cpu);
|
|
|
|
+ FileUtils.deleteQuietly(memory);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
@After
|
|
@After
|
|
public void teardown() {
|
|
public void teardown() {
|
|
FileUtil.fullyDelete(new File(tmpPath));
|
|
FileUtil.fullyDelete(new File(tmpPath));
|