memory in tests

This commit is contained in:
Alexey Kudravtsev
2012-06-08 12:16:48 +04:00
parent 6efe89f213
commit e9b09067a0
12 changed files with 57 additions and 35 deletions
@@ -33,8 +33,8 @@ import java.io.File;
@Override
protected void setUp() throws Exception {
super.setUp();
myTempDirectory = FileUtil.createTempDirectory(getTestName(true), "test");
myFilesToDelete.add(getTestContentFile());
myTempDirectory = FileUtil.createTempDirectory(getTestName(true), "test",false);
myFilesToDelete.add(myTempDirectory);
final File testRoot = new File(getTestDataPath(), getTestPath());
assertTrue(testRoot.getAbsolutePath(), testRoot.isDirectory());
@@ -18,6 +18,7 @@ package com.intellij.ide.caches;
import com.intellij.openapi.util.UserDataHolderBase;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.ArrayUtil;
import java.io.IOException;
@@ -25,8 +26,6 @@ import java.io.IOException;
* @author max
*/
public class FileContent extends UserDataHolderBase {
private static final byte[] EMPTY_CONTENT = new byte[0];
private final VirtualFile myVirtualFile;
private byte[] myCachedBytes;
private long myCachedLength = -1;
@@ -53,7 +52,7 @@ public class FileContent extends UserDataHolderBase {
}
public void setEmptyContent() {
myCachedBytes = EMPTY_CONTENT;
myCachedBytes = ArrayUtil.EMPTY_BYTE_ARRAY;
myCachedLength = 0;
}
@@ -292,7 +292,7 @@ public class LocalFileSystemTest extends PlatformLangTestCase {
if (!SystemInfo.isWindows && !SystemInfo.isUnix) return;
final boolean safeWrite = GeneralSettings.getInstance().isUseSafeWrite();
final File dir = FileUtil.createTempDirectory("hardlinks", "");
final File dir = FileUtil.createTempDirectory("hardlinks", "",false);
try {
GeneralSettings.getInstance().setUseSafeWrite(false);
@@ -34,7 +34,7 @@ public abstract class FlyIdeaTestCase extends TestCase {
public File getTempDir() throws IOException {
if (myTempDir == null) {
myTempDir = FileUtil.createTempDirectory(getName(), getClass().getName());
myTempDir = FileUtil.createTempDirectory(getName(), getClass().getName(),false);
}
return myTempDir;
@@ -53,6 +53,7 @@ import com.intellij.openapi.startup.StartupManager;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.EmptyRunnable;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.io.FileUtilRt;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl;
@@ -722,7 +723,7 @@ public abstract class PlatformTestCase extends UsefulTestCase implements DataPro
}
public static File createTempDir(@NonNls final String prefix, final boolean refresh) throws IOException {
final File tempDirectory = FileUtil.createTempDirectory(TEST_DIR_PREFIX + prefix, null);
final File tempDirectory = FileUtilRt.createTempDirectory(TEST_DIR_PREFIX + prefix, null, false);
myFilesToDelete.add(tempDirectory);
if (refresh) {
getVirtualFile(tempDirectory);
@@ -87,7 +87,7 @@ import java.util.List;
final String rootPath,
final Collection<File> filesToDelete,
final boolean addProjectRoots) throws Exception {
File dir = FileUtil.createTempDirectory(tempName, null);
File dir = FileUtil.createTempDirectory(tempName, null,false);
filesToDelete.add(dir);
final VirtualFile vDir = LocalFileSystem.getInstance().refreshAndFindFileByPath(dir.getCanonicalPath().replace(File.separatorChar, '/'));
@@ -19,36 +19,36 @@ import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.vfs.LocalFileSystem;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.junit.Assert;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
import static org.junit.Assert.assertTrue;
public class TempFiles {
private final Collection<File> myFilesToDelete;
public TempFiles(Collection<File> filesToDelete) {
public TempFiles(@NotNull Collection<File> filesToDelete) {
myFilesToDelete = filesToDelete;
}
@Nullable
public VirtualFile createVFile(String prefix) {
public VirtualFile createVFile(@NotNull String prefix) {
return getVFileByFile(createTempFile(prefix));
}
@Nullable
public VirtualFile createVFile(String prefix, String postfix) {
public VirtualFile createVFile(@NotNull String prefix, String postfix) {
return getVFileByFile(createTempFile(prefix, postfix));
}
public File createTempFile(String prefix) {
public File createTempFile(@NotNull String prefix) {
return createTempFile(prefix, "_Temp_File_");
}
public File createTempFile(String prefix, String postfix) {
public File createTempFile(@NotNull String prefix, String postfix) {
try {
File tempFile = FileUtil.createTempFile(prefix, postfix);
tempFileCreated(tempFile);
@@ -60,13 +60,12 @@ public class TempFiles {
}
}
private void tempFileCreated(File tempFile) {
private void tempFileCreated(@NotNull File tempFile) {
myFilesToDelete.add(tempFile);
tempFile.deleteOnExit();
}
@Nullable
public static VirtualFile getVFileByFile(File tempFile) {
public static VirtualFile getVFileByFile(@NotNull File tempFile) {
return LocalFileSystem.getInstance().refreshAndFindFileByIoFile(tempFile);
}
@@ -74,9 +73,9 @@ public class TempFiles {
return createTempDir("dir");
}
private File createTempDir(String prefix) {
private File createTempDir(@NotNull String prefix) {
try {
File dir = FileUtil.createTempDirectory(prefix, "test");
File dir = FileUtil.createTempDirectory(prefix, "test",false);
tempFileCreated(dir);
getVFileByFile(dir);
return dir;
@@ -92,20 +91,22 @@ public class TempFiles {
}
@Nullable
public VirtualFile createTempVDir(String prefix) {
public VirtualFile createTempVDir(@NotNull String prefix) {
return getVFileByFile(createTempDir(prefix));
}
public String createTempPath() {
File tempFile = createTempFile("xxx");
String absolutePath = tempFile.getAbsolutePath();
assertTrue(absolutePath, tempFile.delete());
Assert.assertTrue(absolutePath, tempFile.delete());
return absolutePath;
}
public void deleteAll() {
for (File file : myFilesToDelete) {
FileUtil.delete(file);
if (!FileUtil.delete(file)) {
file.deleteOnExit();
}
}
}
@@ -164,7 +164,7 @@ public class TempDirTestFixtureImpl extends BaseFixture implements TempDirTestFi
try {
if (myTempDir == null) {
File th = getTempHome();
myTempDir = th != null ? FileUtil.createTempDirectory(th, "unitTest", null) : FileUtil.createTempDirectory("unitTest", null);
myTempDir = th != null ? FileUtil.createTempDirectory(th, "unitTest", null,false) : FileUtil.createTempDirectory("unitTest", null,false);
myFilesToDelete.add(myTempDir);
}
return myTempDir;
@@ -60,7 +60,7 @@ public class TestFileSystemItem {
try {
Assert.assertEquals("in " + relativePath, myName, file.getName());
if (myArchive) {
final File dirForExtracted = FileUtil.createTempDirectory("extracted_archive", null);
final File dirForExtracted = FileUtil.createTempDirectory("extracted_archive", null,false);
ZipUtil.extract(file, dirForExtracted, null);
assertDirectoryEqual(dirForExtracted, relativePath);
FileUtil.delete(dirForExtracted);
@@ -37,6 +37,7 @@ public class FileUtilRt {
private static final LoggerRt LOG = LoggerRt.getInstance("#com.intellij.openapi.util.io.FileUtilLight");
protected static final ThreadLocal<byte[]> BUFFER = new ThreadLocal<byte[]>() {
@Override
protected byte[] initialValue() {
return new byte[1024 * 20];
}
@@ -130,19 +131,31 @@ public class FileUtilRt {
@NotNull
public static File createTempDirectory(@NotNull @NonNls String prefix, @Nullable @NonNls String suffix) throws IOException {
return createTempDirectory(prefix, suffix, true);
}
public static File createTempDirectory(@NotNull @NonNls String prefix, @Nullable @NonNls String suffix, boolean deleteOnExit) throws IOException {
File file = doCreateTempFile(prefix, suffix);
file.delete();
file.mkdir();
file.deleteOnExit();
if (deleteOnExit) {
file.deleteOnExit();
}
return file;
}
@NotNull
public static File createTempDirectory(File dir, @NotNull @NonNls String prefix, @Nullable @NonNls String suffix) throws IOException {
File file = doCreateTempFile(prefix, suffix, dir);
public static File createTempDirectory(@NotNull File dir, @NotNull @NonNls String prefix, @Nullable @NonNls String suffix) throws IOException {
return createTempDirectory(dir, prefix, suffix,true);
}
@NotNull
public static File createTempDirectory(@NotNull File dir, @NotNull @NonNls String prefix, @Nullable @NonNls String suffix,boolean deleteOnExit) throws IOException {
File file = doCreateTempFile(dir, prefix, suffix);
file.delete();
file.mkdir();
file.deleteOnExit();
if (deleteOnExit) {
file.deleteOnExit();
}
return file;
}
@@ -157,7 +170,7 @@ public class FileUtilRt {
@Nullable @NonNls String suffix,
final boolean create,
boolean deleteOnExit) throws IOException {
File file = doCreateTempFile(prefix, suffix, dir);
File file = doCreateTempFile(dir, prefix, suffix);
file.delete();
if (create) {
file.createNewFile();
@@ -186,11 +199,11 @@ public class FileUtilRt {
@NotNull
private static File doCreateTempFile(String prefix, String suffix) throws IOException {
return doCreateTempFile(prefix, suffix, new File(getTempDirectory()));
return doCreateTempFile(new File(getTempDirectory()), prefix, suffix);
}
@NotNull
private static File doCreateTempFile(@NotNull String prefix, String suffix, final File dir) throws IOException {
private static File doCreateTempFile(@NotNull File dir, @NotNull String prefix, String suffix) throws IOException {
dir.mkdirs();
if (prefix.length() < 3) {
@@ -1127,11 +1127,19 @@ public class FileUtil extends FileUtilRt {
public static File createTempDirectory(@NotNull @NonNls String prefix, @Nullable @NonNls String suffix) throws IOException {
return FileUtilRt.createTempDirectory(prefix, suffix);
}
@NotNull
public static File createTempDirectory(@NotNull @NonNls String prefix, @Nullable @NonNls String suffix, boolean deleteOnExit) throws IOException {
return FileUtilRt.createTempDirectory(prefix, suffix, deleteOnExit);
}
@NotNull
public static File createTempDirectory(File dir, @NotNull @NonNls String prefix, @Nullable @NonNls String suffix) throws IOException {
public static File createTempDirectory(@NotNull File dir, @NotNull @NonNls String prefix, @Nullable @NonNls String suffix) throws IOException {
return FileUtilRt.createTempDirectory(dir, prefix, suffix);
}
@NotNull
public static File createTempDirectory(File dir, @NotNull @NonNls String prefix, @Nullable @NonNls String suffix, boolean deleteOnExit) throws IOException {
return FileUtilRt.createTempDirectory(dir, prefix, suffix,deleteOnExit);
}
@NotNull
public static File createTempFile(@NonNls File dir, @NotNull @NonNls String prefix, @Nullable @NonNls String suffix, boolean create) throws IOException {
@@ -36,7 +36,7 @@ public class FileUtilFindFileTest {
@BeforeClass
public static void setUp() throws Exception {
myTempFile = FileUtil.createTempDirectory("tEF", ""); //NON-NLS
myTempFile = FileUtil.createTempDirectory("tEF", "",false); //NON-NLS
myFirstFile = new File(myTempFile, "first");
mySecondFile = new File(myTempFile, "second"); //NON-NLS
assertTrue(myFirstFile.createNewFile());