You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2016/04/05 15:37:18 UTC
[2/2] nifi git commit: NIFI-1689 Correcting TimeUnit conversion to be
milliseconds instead of the incorrect microseconds and using historical
modified times to avoid issues with second granularity of HFS+
NIFI-1689 Correcting TimeUnit conversion to be milliseconds instead of the incorrect microseconds and using historical modified times to avoid issues with second granularity of HFS+
Signed-off-by: joewitt <jo...@apache.org>
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/d1c82ac6
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/d1c82ac6
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/d1c82ac6
Branch: refs/heads/support/nifi-0.6.x
Commit: d1c82ac622787ce897fae46d3407658a54705f50
Parents: ffa852d
Author: Aldrin Piri <al...@apache.org>
Authored: Mon Apr 4 16:01:16 2016 -0400
Committer: joewitt <jo...@apache.org>
Committed: Tue Apr 5 09:17:24 2016 -0400
----------------------------------------------------------------------
.../nifi/processors/standard/TestListFile.java | 31 ++++++++++++--------
1 file changed, 18 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/d1c82ac6/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListFile.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListFile.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListFile.java
index 5b6ea04..a3e5a94 100644
--- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListFile.java
+++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestListFile.java
@@ -266,7 +266,7 @@ public class TestListFile {
fos.write(bytes1000);
fos.close();
- final long now = TimeUnit.MICROSECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ final long now = getTestModifiedTime();
assertTrue(file1.setLastModified(now));
assertTrue(file2.setLastModified(now));
assertTrue(file3.setLastModified(now));
@@ -342,7 +342,7 @@ public class TestListFile {
@Test
public void testFilterHidden() throws Exception {
- final long now = TimeUnit.MICROSECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ final long now = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
FileOutputStream fos;
@@ -398,8 +398,7 @@ public class TestListFile {
@Test
public void testFilterFilePattern() throws Exception {
-
- final long now = TimeUnit.MICROSECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ final long now = getTestModifiedTime();
final File file1 = new File(TESTDIR + "/file1-abc-apple.txt");
assertTrue(file1.createNewFile());
@@ -417,12 +416,6 @@ public class TestListFile {
assertTrue(file4.createNewFile());
assertTrue(file4.setLastModified(now));
- System.out.println(file1.lastModified());
- System.out.println(file2.lastModified());
- System.out.println(file3.lastModified());
- System.out.println(file4.lastModified());
-
-
// check all files
runner.clearTransferState();
runner.setProperty(ListFile.DIRECTORY, testDir.getAbsolutePath());
@@ -453,7 +446,7 @@ public class TestListFile {
@Test
public void testFilterPathPattern() throws Exception {
- final long now = TimeUnit.MICROSECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ final long now = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
final File subdir1 = new File(TESTDIR + "/subdir1");
assertTrue(subdir1.mkdirs());
@@ -522,7 +515,7 @@ public class TestListFile {
@Test
public void testRecurse() throws Exception {
- final long now = TimeUnit.MICROSECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ final long now = getTestModifiedTime();
final File subdir1 = new File(TESTDIR + "/subdir1");
assertTrue(subdir1.mkdirs());
@@ -595,7 +588,7 @@ public class TestListFile {
@Test
public void testReadable() throws Exception {
- final long now = TimeUnit.MICROSECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ final long now = getTestModifiedTime();
final File file1 = new File(TESTDIR + "/file1.txt");
assertTrue(file1.createNewFile());
@@ -701,6 +694,18 @@ public class TestListFile {
assertEquals(false, processor.isListingResetNecessary(new PropertyDescriptor.Builder().name("x").build()));
}
+ /*
+ * HFS+, default for OS X, only has granularity to one second, accordingly, we go back in time to establish consistent test cases
+ *
+ * Provides "now" minus 1 second in millis
+ */
+ private static long getTestModifiedTime() {
+ final long nowNanos = System.nanoTime();
+ // Subtract a second to avoid possible rounding issues
+ final long nowSeconds = TimeUnit.SECONDS.convert(nowNanos, TimeUnit.NANOSECONDS) - 1;
+ return TimeUnit.MILLISECONDS.convert(nowSeconds, TimeUnit.SECONDS);
+ }
+
public void resetAges() {
syncTime = System.currentTimeMillis();