Skip to content

Commit

Permalink
Faster StoreNodeRelationshipCursorTest
Browse files Browse the repository at this point in the history
by using single NeoStores for all test
  • Loading branch information
tinwelint committed Sep 19, 2016
1 parent 414a188 commit 3515eb4
Showing 1 changed file with 28 additions and 26 deletions.
Expand Up @@ -19,17 +19,20 @@
*/ */
package org.neo4j.kernel.impl.api.store; package org.neo4j.kernel.impl.api.store;


import org.junit.After; import org.junit.AfterClass;
import org.junit.Before; import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test; import org.junit.Test;
import org.junit.rules.RuleChain;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.Parameterized; import org.junit.runners.Parameterized;


import java.io.File;
import java.io.IOException;
import java.util.Arrays; import java.util.Arrays;
import java.util.function.Consumer; import java.util.function.Consumer;


import org.neo4j.io.pagecache.PageCache;
import org.neo4j.kernel.configuration.Config;
import org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory;
import org.neo4j.kernel.impl.store.NeoStores; import org.neo4j.kernel.impl.store.NeoStores;
import org.neo4j.kernel.impl.store.RecordCursors; import org.neo4j.kernel.impl.store.RecordCursors;
import org.neo4j.kernel.impl.store.RecordStore; import org.neo4j.kernel.impl.store.RecordStore;
Expand All @@ -39,16 +42,19 @@
import org.neo4j.kernel.impl.store.record.RecordLoad; import org.neo4j.kernel.impl.store.record.RecordLoad;
import org.neo4j.kernel.impl.store.record.RelationshipGroupRecord; import org.neo4j.kernel.impl.store.record.RelationshipGroupRecord;
import org.neo4j.kernel.impl.store.record.RelationshipRecord; import org.neo4j.kernel.impl.store.record.RelationshipRecord;
import org.neo4j.logging.NullLog;
import org.neo4j.logging.NullLogProvider; import org.neo4j.logging.NullLogProvider;
import org.neo4j.storageengine.api.Direction; import org.neo4j.storageengine.api.Direction;
import org.neo4j.test.rule.PageCacheRule;
import org.neo4j.test.rule.TestDirectory; import org.neo4j.test.rule.TestDirectory;
import org.neo4j.test.rule.fs.DefaultFileSystemRule;

import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;

import static org.neo4j.graphdb.factory.GraphDatabaseSettings.pagecache_memory;
import static org.neo4j.helpers.collection.MapUtil.stringMap;
import static org.neo4j.io.fs.DefaultFileSystemAbstraction.REAL_FS;
import static org.neo4j.io.pagecache.tracing.PageCacheTracer.NULL;
import static org.neo4j.kernel.impl.locking.LockService.NO_LOCK_SERVICE; import static org.neo4j.kernel.impl.locking.LockService.NO_LOCK_SERVICE;
import static org.neo4j.kernel.impl.store.record.Record.NO_NEXT_RELATIONSHIP; import static org.neo4j.kernel.impl.store.record.Record.NO_NEXT_RELATIONSHIP;
import static org.neo4j.storageengine.api.Direction.BOTH; import static org.neo4j.storageengine.api.Direction.BOTH;
Expand All @@ -63,17 +69,13 @@ public class StoreNodeRelationshipCursorTest
private static final long SECOND_OWNING_NODE = 2; private static final long SECOND_OWNING_NODE = 2;
private static final int TYPE = 0; private static final int TYPE = 0;


private final TestDirectory testDirectory = TestDirectory.testDirectory(); private static PageCache pageCache;
private final PageCacheRule pageCacheRule = new PageCacheRule(); private static NeoStores neoStores;
private final DefaultFileSystemRule fileSystemRule = new DefaultFileSystemRule();
@Rule
public final RuleChain ruleChain = RuleChain.outerRule( testDirectory ).around( pageCacheRule )
.around( fileSystemRule );
@Parameterized.Parameter @Parameterized.Parameter
public Direction direction; public Direction direction;
@Parameterized.Parameter( value = 1 ) @Parameterized.Parameter( value = 1 )
public boolean dense; public boolean dense;
private NeoStores neoStores;


@Parameterized.Parameters @Parameterized.Parameters
public static Iterable<Object[]> parameters() public static Iterable<Object[]> parameters()
Expand All @@ -88,22 +90,22 @@ public static Iterable<Object[]> parameters()
} ); } );
} }


@After @BeforeClass
public void tearDown() public static void setupStores() throws IOException
{ {
if ( neoStores != null ) File directory = TestDirectory.testDataDirectoryOf( REAL_FS, StoreNodeRelationshipCursor.class, true );
{ pageCache = new ConfiguringPageCacheFactory( REAL_FS,
neoStores.close(); Config.defaults().augment( stringMap( pagecache_memory.name(), "8m" ) ), NULL, NullLog.getInstance() )
} .getOrCreatePageCache();
StoreFactory storeFactory = new StoreFactory( directory, pageCache, REAL_FS, NullLogProvider.getInstance() );
neoStores = storeFactory.openAllNeoStores( true );
} }


@Before @AfterClass
public void setUp() public static void shutDownStores() throws IOException
{ {
StoreFactory storeFactory = new StoreFactory( testDirectory.directory(), neoStores.close();
pageCacheRule.getPageCache( fileSystemRule.get() ), fileSystemRule.get(), pageCache.close();
NullLogProvider.getInstance() );
neoStores = storeFactory.openAllNeoStores( true );
} }


@Test @Test
Expand Down

0 comments on commit 3515eb4

Please sign in to comment.