You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by tv...@apache.org on 2018/08/26 14:59:14 UTC
svn commit: r1839222 -
/db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/control/RunOnlyOnSourceChangeTest.java
Author: tv
Date: Sun Aug 26 14:59:14 2018
New Revision: 1839222
URL: http://svn.apache.org/viewvc?rev=1839222&view=rev
Log:
Fix TORQUE-351 by synchronizing file timestamps between runs
Modified:
db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/control/RunOnlyOnSourceChangeTest.java
Modified: db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/control/RunOnlyOnSourceChangeTest.java
URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/control/RunOnlyOnSourceChangeTest.java?rev=1839222&r1=1839221&r2=1839222&view=diff
==============================================================================
--- db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/control/RunOnlyOnSourceChangeTest.java (original)
+++ db/torque/torque4/trunk/torque-generator/src/test/java/org/apache/torque/generator/control/RunOnlyOnSourceChangeTest.java Sun Aug 26 14:59:14 2018
@@ -25,7 +25,10 @@ import static org.junit.Assert.assertTru
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.Log;
@@ -47,6 +50,7 @@ public class RunOnlyOnSourceChangeTest e
private static Log log = LogFactory.getLog(Controller.class);
@Test
+ @SuppressWarnings("unchecked")
public void testRunOnlyOnSourceChange() throws Exception
{
File targetDir = new File("target/test/runOnlyOnSourceChange");
@@ -55,6 +59,15 @@ public class RunOnlyOnSourceChangeTest e
File srcDir2 = new File(targetDir, "src/2");
FileUtils.copyDirectory(new File("src/test/runOnlyOnSourceChange/src/main/torque-gen/src"), srcDir1);
FileUtils.copyDirectory(new File("src/test/runOnlyOnSourceChange/src/main/torque-gen/src"), srcDir2);
+
+ // Fix TORQUE-351, timestamps of files in src and secondSource must be identical
+ Collection<File> srcFiles = FileUtils.listFiles(new File(targetDir, "src"), null, true);
+ Map<String, Long> srcFileStamps = new HashMap<>();
+ for (File file : srcFiles)
+ {
+ srcFileStamps.put(file.getAbsolutePath(), Long.valueOf(file.lastModified()));
+ }
+
Controller controller = new Controller();
// run first generation with two unit descriptors to reproduce TORQUE-338
@@ -104,6 +117,18 @@ public class RunOnlyOnSourceChangeTest e
FileUtils.deleteDirectory(srcDir2);
FileUtils.copyDirectory(new File("src/test/runOnlyOnSourceChange/src/main/torque-gen/secondSource"), srcDir1);
FileUtils.copyDirectory(new File("src/test/runOnlyOnSourceChange/src/main/torque-gen/secondSource"), srcDir2);
+
+ srcFiles = FileUtils.listFiles(new File(targetDir, "src"), null, true);
+ for (File file : srcFiles)
+ {
+ Long ts = srcFileStamps.get(file.getAbsolutePath());
+ if (ts != null && ts.longValue() != file.lastModified())
+ {
+ log.debug("Fixing timestamp of " + file);
+ file.setLastModified(ts.longValue());
+ }
+ }
+
controller.run(unitDescriptors);
log.debug("End time of generation " + System.currentTimeMillis());
---------------------------------------------------------------------
To unsubscribe, e-mail: torque-dev-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org