From c8b261535c069c47df70592f2acba35b2c29a54c Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Wed, 6 Nov 2024 00:18:04 +0100 Subject: Change SingleMerge to only use second precision when comparing last modified Otherwise you get problems with one file system uses seconds and another milliseconds and suddenly two files that are created at the same time does not have the same timestamp. Makes the test suite take 2 seconds longer to run but it is what it is. --- .../java/org/the_jk/cleversync/io/BaseSingleMergeTest.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'libs/test-utils/src/main/java') diff --git a/libs/test-utils/src/main/java/org/the_jk/cleversync/io/BaseSingleMergeTest.kt b/libs/test-utils/src/main/java/org/the_jk/cleversync/io/BaseSingleMergeTest.kt index 65d870b..c50f6fa 100644 --- a/libs/test-utils/src/main/java/org/the_jk/cleversync/io/BaseSingleMergeTest.kt +++ b/libs/test-utils/src/main/java/org/the_jk/cleversync/io/BaseSingleMergeTest.kt @@ -6,7 +6,7 @@ import org.junit.Assert import org.junit.Assume import org.junit.Before import org.junit.Test -import kotlin.time.Duration +import kotlin.time.Duration.Companion.seconds abstract class BaseSingleMergeTest { private lateinit var src: ModifiableTree @@ -67,7 +67,7 @@ abstract class BaseSingleMergeTest { fun oneFileAlreadyExistsSameSizeContentOlder() { val tgtFile = tgt.createFile("foo") tgtFile.write().writer().use { it.write("Cruel World") } - Thread.sleep(minModificationTime().inWholeMilliseconds) + Thread.sleep(MIN_MODIFICATION_TIME.inWholeMilliseconds) val srcFile = src.createFile("foo") srcFile.write().writer().use { it.write("Hello World") } @@ -84,7 +84,7 @@ abstract class BaseSingleMergeTest { fun oneFileAlreadyExistsSameSizeContentNewer() { val srcFile = src.createFile("foo") srcFile.write().writer().use { it.write("Hello World") } - Thread.sleep(minModificationTime().inWholeMilliseconds) + Thread.sleep(MIN_MODIFICATION_TIME.inWholeMilliseconds) val tgtFile = tgt.createFile("foo") tgtFile.write().writer().use { it.write("hello world") } @@ -705,5 +705,10 @@ abstract class BaseSingleMergeTest { abstract fun target(): ModifiableTree abstract fun targetSupportsSymlinks(): Boolean - abstract fun minModificationTime(): Duration + private companion object { + // See SingleMerge, anything less than a second is ignored + // Not great, but for network file systems we really can't + // be asking for better. + val MIN_MODIFICATION_TIME = 1.seconds + } } -- cgit v1.2.3-70-g09d2