cleanup, got rid of legacy scaling

This commit is contained in:
Alexey Kudravtsev
2017-06-16 17:47:18 +03:00
parent 0093ee8e46
commit bd008e5ad6
@@ -427,7 +427,7 @@ public class VirtualFilePointerTest extends PlatformTestCase {
public void testJars() throws Exception {
final File tempDir = createTempDirectory();
VirtualFile vTemp = refreshAndFindFile(tempDir);
VirtualFile vTemp = PlatformTestUtil.notNull(refreshAndFindFile(tempDir));
assertTrue(vTemp.isValid());
final File jarParent = new File(tempDir, "jarParent");
@@ -475,7 +475,7 @@ public class VirtualFilePointerTest extends PlatformTestCase {
assertTrue(jar.exists());
assertTrue(jarParent.exists());
assertTrue(jarParent.getParentFile().exists());
File child = assertOneElement(jarParent.listFiles());
File child = assertOneElement(PlatformTestUtil.notNull(jarParent.listFiles()));
assertEquals(jar.getName(), child.getName());
refreshVFS();
@@ -609,17 +609,18 @@ public class VirtualFilePointerTest extends PlatformTestCase {
}
public void testContainerCreateDeletePerformance() throws Exception {
PlatformTestUtil.startPerformanceTest("VF container create/delete", 200, () -> {
PlatformTestUtil.startPerformanceTest("VF container create/delete", 100, () -> {
Disposable parent = Disposer.newDisposable();
for (int i = 0; i < 10000; i++) {
for (int i = 0; i < 10_000; i++) {
myVirtualFilePointerManager.createContainer(parent);
}
Disposer.dispose(parent);
}).useLegacyScaling().assertTiming();
}).assertTiming();
}
private static void doVfsRefresh(File dir) {
LocalFileSystem.getInstance().refreshAndFindFileByIoFile(dir).refresh(false, true);
VirtualFile file = PlatformTestUtil.notNull(LocalFileSystem.getInstance().refreshAndFindFileByIoFile(dir));
file.refresh(false, true);
}
public void testDoubleDispose() throws IOException {
@@ -649,12 +650,12 @@ public class VirtualFilePointerTest extends PlatformTestCase {
public void testThreadsPerformance() throws IOException, InterruptedException, TimeoutException, ExecutionException {
final File ioTempDir = createTempDirectory();
final File ioPtrBase = new File(ioTempDir, "parent");
final File ioPtr = new File(ioPtrBase, "f1");
final File ioSand = new File(ioTempDir, "sand");
final File ioSandPtr = new File(ioSand, "f2");
assertTrue(ioSandPtr.getParentFile().mkdirs());
assertTrue(ioSandPtr.createNewFile());
final File ioPtrBase = new File(ioTempDir, "parent");
final File ioPtr = new File(ioPtrBase, "f1");
assertTrue(ioPtr.getParentFile().mkdirs());
assertTrue(ioPtr.createNewFile());
@@ -688,12 +689,13 @@ public class VirtualFilePointerTest extends PlatformTestCase {
// ptr is now null, cached as map
final VirtualFile v = LocalFileSystem.getInstance().findFileByIoFile(ioSandPtr);
VirtualFile v = PlatformTestUtil.notNull(LocalFileSystem.getInstance().findFileByIoFile(ioSandPtr));
new WriteCommandAction.Simple(getProject()) {
@Override
protected void run() throws Throwable {
v.delete(this); //inc FS modCount
LocalFileSystem.getInstance().findFileByIoFile(ioSand).createChildData(this, ioSandPtr.getName());
VirtualFile file = PlatformTestUtil.notNull(LocalFileSystem.getInstance().findFileByIoFile(ioSand));
file.createChildData(this, ioSandPtr.getName());
}
}.execute().throwException();
@@ -741,20 +743,20 @@ public class VirtualFilePointerTest extends PlatformTestCase {
public void testManyPointersUpdatePerformance() throws IOException {
LoggingListener listener = new LoggingListener();
final List<VFileEvent> events = new ArrayList<>();
final File ioTempDir = createTempDirectory();
final VirtualFile temp = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(ioTempDir);
for (int i=0; i<100000; i++) {
final VirtualFile temp = PlatformTestUtil.notNull(LocalFileSystem.getInstance().refreshAndFindFileByIoFile(ioTempDir));
final List<VFileEvent> events = new ArrayList<>();
for (int i = 0; i < 100_000; i++) {
myVirtualFilePointerManager.create(VfsUtilCore.pathToUrl("/a/b/c/d/" + i), disposable, listener);
events.add(new VFileCreateEvent(this, temp, "xxx" + i, false, true));
}
PlatformTestUtil.startPerformanceTest("vfp update", 10000, () -> {
PlatformTestUtil.startPerformanceTest("vfp update", 4000, () -> {
for (int i=0; i<100; i++) {
// simulate VFS refresh events since launching the actual refresh is too slow
myVirtualFilePointerManager.before(events);
myVirtualFilePointerManager.after(events);
}
}).useLegacyScaling().assertTiming();
}).assertTiming();
}
public void testMultipleCreationOfTheSamePointerPerformance() throws IOException {
@@ -762,17 +764,17 @@ public class VirtualFilePointerTest extends PlatformTestCase {
final String url = VfsUtilCore.pathToUrl("/a/b/c/d/e");
final VirtualFilePointer thePointer = myVirtualFilePointerManager.create(url, disposable, listener);
TempFileSystem.getInstance();
PlatformTestUtil.startPerformanceTest("same url vfp create", 5000, () -> {
for (int i=0; i<10000000; i++) {
PlatformTestUtil.startPerformanceTest("same url vfp create", 9000, () -> {
for (int i = 0; i < 10_000_000; i++) {
VirtualFilePointer pointer = myVirtualFilePointerManager.create(url, disposable, listener);
assertSame(pointer, thePointer);
}
}).useLegacyScaling().assertTiming();
}).assertTiming();
}
public void testCidrCrazyAddCreateRenames() throws IOException {
File tempDirectory = createTempDirectory();
final VirtualFile root = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(tempDirectory);
final VirtualFile root = PlatformTestUtil.notNull(LocalFileSystem.getInstance().refreshAndFindFileByIoFile(tempDirectory));
VirtualFile dir1 = createChildDirectory(root, "dir1");
VirtualFile dir2 = createChildDirectory(root, "dir2");
@@ -818,7 +820,7 @@ public class VirtualFilePointerTest extends PlatformTestCase {
public void testTwoPointersMergingIntoOne() throws IOException {
File tempDirectory = createTempDirectory();
final VirtualFile root = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(tempDirectory);
final VirtualFile root = PlatformTestUtil.notNull(LocalFileSystem.getInstance().refreshAndFindFileByIoFile(tempDirectory));
VirtualFile dir1 = createChildDirectory(root, "dir1");
VirtualFile dir2 = createChildDirectory(root, "dir2");
@@ -849,7 +851,7 @@ public class VirtualFilePointerTest extends PlatformTestCase {
public void testVirtualPointersMustBeAlreadyUpToDateInVFSChangeListeners() throws IOException {
File tempDirectory = createTempDirectory();
final VirtualFile root = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(tempDirectory);
final VirtualFile root = PlatformTestUtil.notNull(LocalFileSystem.getInstance().refreshAndFindFileByIoFile(tempDirectory));
VirtualFile dir1 = createChildDirectory(root, "dir1");
VirtualFile file = createChildData(dir1, "x.txt");
@@ -877,7 +879,7 @@ public class VirtualFilePointerTest extends PlatformTestCase {
}
finally {
ApplicationManager.getApplication().runWriteAction(() -> {
Library library = LibraryUtil.findLibrary(getModule(), "dir1");
Library library = PlatformTestUtil.notNull(LibraryUtil.findLibrary(getModule(), "dir1"));
LibraryTable.ModifiableModel model = library.getTable().getModifiableModel();
model.removeLibrary(library);
model.commit();
@@ -890,7 +892,7 @@ public class VirtualFilePointerTest extends PlatformTestCase {
public void testDotDot() throws IOException {
File tempDirectory = createTempDirectory();
final VirtualFile root = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(tempDirectory);
final VirtualFile root = PlatformTestUtil.notNull(LocalFileSystem.getInstance().refreshAndFindFileByIoFile(tempDirectory));
VirtualFile dir1 = createChildDirectory(root, "dir1");
VirtualFile dir2 = createChildDirectory(root, "dir2");
@@ -983,13 +985,13 @@ public class VirtualFilePointerTest extends PlatformTestCase {
LOG.info("i = " + i);
assertTrue(file.createNewFile());
refreshVFS();
Future<?> future = ApplicationManager.getApplication().executeOnPooledThread((Runnable)() -> ReadAction.run(() -> {
Future<?> future = ApplicationManager.getApplication().executeOnPooledThread(() -> ReadAction.run(() -> {
for (int k=0;k<100;k++) {
vTemp.getChildren();
}
}));
TimeoutUtil.sleep(100);
VirtualFile vFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(file);
VirtualFile vFile = PlatformTestUtil.notNull(LocalFileSystem.getInstance().refreshAndFindFileByIoFile(file));
assertTrue(vFile.isValid());
assertTrue(pointer.isValid());
assertTrue(file.delete());