From 49fdc3f19085f0ceb74c0dc20ceadb6df989d298 Mon Sep 17 00:00:00 2001 From: Mattias Persson Date: Tue, 13 Sep 2016 10:55:54 +0200 Subject: [PATCH] Uses real FS in StoreVersionCheckTest in an attempt to remove flakiness, since the ephemeral file system is known to be different in behaviour sometimes. --- .../storemigration/StoreVersionCheckTest.java | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/community/kernel/src/test/java/org/neo4j/kernel/impl/storemigration/StoreVersionCheckTest.java b/community/kernel/src/test/java/org/neo4j/kernel/impl/storemigration/StoreVersionCheckTest.java index 8540db905cf63..9a33e3954d5b7 100644 --- a/community/kernel/src/test/java/org/neo4j/kernel/impl/storemigration/StoreVersionCheckTest.java +++ b/community/kernel/src/test/java/org/neo4j/kernel/impl/storemigration/StoreVersionCheckTest.java @@ -26,12 +26,15 @@ import java.io.IOException; import java.io.OutputStream; +import org.neo4j.io.fs.DefaultFileSystemAbstraction; import org.neo4j.io.fs.FileSystemAbstraction; import org.neo4j.io.pagecache.PageCache; import org.neo4j.kernel.impl.store.MetaDataStore; import org.neo4j.string.UTF8; -import org.neo4j.test.EphemeralFileSystemRule; import org.neo4j.test.PageCacheRule; +import org.neo4j.test.TargetDirectory; +import org.neo4j.test.TargetDirectory.TestDirectory; + import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; @@ -39,8 +42,9 @@ public class StoreVersionCheckTest { + private final FileSystemAbstraction fs = new DefaultFileSystemAbstraction(); @Rule - public final EphemeralFileSystemRule fs = new EphemeralFileSystemRule(); + public final TestDirectory directory = TargetDirectory.testDirForTest( getClass() ); @Rule public final PageCacheRule pageCacheRule = new PageCacheRule(); @@ -48,8 +52,8 @@ public class StoreVersionCheckTest public void shouldFailIfFileDoesNotExist() { // given - File missingFile = new File("/you/will/never/find/me"); - PageCache pageCache = pageCacheRule.getPageCache( fs.get() ); + File missingFile = new File( directory.directory(), "missing-file" ); + PageCache pageCache = pageCacheRule.getPageCache( fs ); StoreVersionCheck storeVersionCheck = new StoreVersionCheck( pageCache ); // when @@ -65,8 +69,8 @@ public void shouldFailIfFileDoesNotExist() public void shouldReportShortFileDoesNotHaveSpecifiedVersion() throws IOException { // given - File shortFile = fileContaining( fs.get(), "nothing interesting" ); - StoreVersionCheck storeVersionCheck = new StoreVersionCheck( pageCacheRule.getPageCache( fs.get() ) ); + File shortFile = fileContaining( fs, "nothing interesting" ); + StoreVersionCheck storeVersionCheck = new StoreVersionCheck( pageCacheRule.getPageCache( fs ) ); // when StoreVersionCheck.Result result = storeVersionCheck.hasVersion( shortFile, "version" ); @@ -81,9 +85,9 @@ public void shouldReportShortFileDoesNotHaveSpecifiedVersion() throws IOExceptio public void shouldReportFileWithIncorrectVersion() throws IOException { // given - File neoStore = emptyFile( fs.get() ); + File neoStore = emptyFile( fs ); long v1 = MetaDataStore.versionStringToLong( "V1" ); - PageCache pageCache = pageCacheRule.getPageCache( fs.get() ); + PageCache pageCache = pageCacheRule.getPageCache( fs ); MetaDataStore.setRecord( pageCache, neoStore, MetaDataStore.Position.STORE_VERSION, v1 ); StoreVersionCheck storeVersionCheck = new StoreVersionCheck( pageCache ); @@ -100,9 +104,9 @@ public void shouldReportFileWithIncorrectVersion() throws IOException public void shouldReportFileWithCorrectVersion() throws IOException { // given - File neoStore = emptyFile( fs.get() ); + File neoStore = emptyFile( fs ); long v1 = MetaDataStore.versionStringToLong( "V1" ); - PageCache pageCache = pageCacheRule.getPageCache( fs.get() ); + PageCache pageCache = pageCacheRule.getPageCache( fs ); MetaDataStore.setRecord( pageCache, neoStore, MetaDataStore.Position.STORE_VERSION, v1 ); StoreVersionCheck storeVersionCheck = new StoreVersionCheck( pageCache ); @@ -117,7 +121,7 @@ public void shouldReportFileWithCorrectVersion() throws IOException private File emptyFile( FileSystemAbstraction fs ) throws IOException { - File shortFile = new File( "shortFile" ); + File shortFile = directory.file( "empty" ); fs.deleteFile( shortFile ); fs.create( shortFile ); return shortFile; @@ -125,7 +129,7 @@ private File emptyFile( FileSystemAbstraction fs ) throws IOException private File fileContaining( FileSystemAbstraction fs, String content ) throws IOException { - File shortFile = new File( "shortFile" ); + File shortFile = directory.file( "file" ); fs.deleteFile( shortFile ); try ( OutputStream outputStream = fs.openAsOutputStream( shortFile, false ) ) {