fixed artifact builders test on mac

This commit is contained in:
nik
2012-08-22 16:27:11 +04:00
parent 3cb8c048e2
commit f4857f11f7
4 changed files with 8 additions and 11 deletions
@@ -1,6 +1,7 @@
package org.jetbrains.jps.incremental;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import org.jetbrains.annotations.Nullable;
@@ -23,6 +24,7 @@ public class Utils {
public static final Key<Boolean> ERRORS_DETECTED_KEY = Key.create("_errors_detected_");
private static volatile File ourSystemRoot = new File(System.getProperty("user.home"), ".idea-build");
public static final boolean IS_TEST_MODE = Boolean.parseBoolean(System.getProperty("test.mode", "false"));
public static final long TIMESTAMP_ACCURACY = SystemInfo.isMac ? 1000 : 1;
private Utils() {
}
@@ -204,13 +204,8 @@ public class BuildFSState extends FSState {
for (String path : paths) {
File file = new File(FileUtil.toSystemDependentName(path));
long stamp = FileSystemUtil.lastModified(file);
if (stamp > compilationStartStamp + 1000) {//todo[nik] do we really need this?
delta.markRecompile(descriptor.getRootIndex(), path);
}
else {
marked = true;
storage.update(descriptor.getArtifactId(), path, stamp);
}
marked = true;
storage.update(descriptor.getArtifactId(), path, stamp);
}
}
return marked;
@@ -16,7 +16,6 @@
package org.jetbrains.ether;
import com.intellij.openapi.application.ex.PathManagerEx;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.io.FileUtil;
import com.intellij.openapi.util.text.StringUtil;
import org.jetbrains.jps.JpsPathUtil;
@@ -144,8 +143,8 @@ public abstract class IncrementalTestCase extends JpsBuildTestCase {
true, false).assertSuccessful();
modify();
if (SystemInfo.isMac) {//todo[nik] check if FileSystemUtil.lastModified return accurate result for mac and remove this
Thread.sleep(1000L);
if (Utils.TIMESTAMP_ACCURACY > 1) {
Thread.sleep(Utils.TIMESTAMP_ACCURACY);
}
@@ -28,6 +28,7 @@ import org.jetbrains.jps.cmdline.ProjectDescriptor;
import org.jetbrains.jps.incremental.AllProjectScope;
import org.jetbrains.jps.incremental.BuildLoggingManager;
import org.jetbrains.jps.incremental.CompileScope;
import org.jetbrains.jps.incremental.Utils;
import org.jetbrains.jps.incremental.java.JavaBuilderLoggerImpl;
import org.jetbrains.jps.model.JpsDummyElement;
import org.jetbrains.jps.model.JpsElementFactory;
@@ -184,7 +185,7 @@ public abstract class ArtifactBuilderTestCase extends JpsBuildTestCase {
if (newContent != null) {
FileUtil.writeToFile(file, newContent);
}
boolean updated = file.setLastModified(FileSystemUtil.lastModified(file) + 10);
boolean updated = file.setLastModified(FileSystemUtil.lastModified(file) + Utils.TIMESTAMP_ACCURACY);
assertTrue("Cannot modify timestamp for " + file.getAbsolutePath(), updated);
}
catch (IOException e) {