mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-03-09 13:19:07 +01:00
Fixed some test concurrency issues due to Processing
This commit is contained in:
parent
dea1aa3f4f
commit
e3d883b43e
@ -53,7 +53,7 @@ public class Processing implements SubSystem {
|
|||||||
criticalExecutor = createExecutor(2, "Plan Critical-pool-%d");
|
criticalExecutor = createExecutor(2, "Plan Critical-pool-%d");
|
||||||
}
|
}
|
||||||
|
|
||||||
private ExecutorService createExecutor(int i, String s) {
|
protected ExecutorService createExecutor(int i, String s) {
|
||||||
return Executors.newFixedThreadPool(i, new ThreadFactoryBuilder().setNameFormat(s).build());
|
return Executors.newFixedThreadPool(i, new ThreadFactoryBuilder().setNameFormat(s).build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ import com.djrapitops.plan.db.SQLiteDB;
|
|||||||
import com.djrapitops.plan.system.database.DBSystem;
|
import com.djrapitops.plan.system.database.DBSystem;
|
||||||
import com.djrapitops.plan.system.listeners.ListenerSystem;
|
import com.djrapitops.plan.system.listeners.ListenerSystem;
|
||||||
import com.djrapitops.plan.system.locale.Locale;
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
|
import com.djrapitops.plan.system.processing.Processing;
|
||||||
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
import com.djrapitops.plan.system.settings.config.PlanConfig;
|
||||||
import com.djrapitops.plan.system.settings.paths.DatabaseSettings;
|
import com.djrapitops.plan.system.settings.paths.DatabaseSettings;
|
||||||
import com.djrapitops.plan.system.tasks.TaskSystem;
|
import com.djrapitops.plan.system.tasks.TaskSystem;
|
||||||
@ -35,6 +36,7 @@ import com.djrapitops.pluginbridge.plan.Bridge;
|
|||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
import org.mockito.Mockito;
|
import org.mockito.Mockito;
|
||||||
|
import utilities.mocks.TestProcessing;
|
||||||
|
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
|
|
||||||
@ -105,4 +107,10 @@ public class PluginSuperClassBindingModule {
|
|||||||
return Mockito.mock(Bridge.class);
|
return Mockito.mock(Bridge.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Provides
|
||||||
|
@Singleton
|
||||||
|
Processing provideProcessing(TestProcessing testProcessing) {
|
||||||
|
return testProcessing;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
package utilities.mocks;
|
||||||
|
|
||||||
|
import com.djrapitops.plan.system.locale.Locale;
|
||||||
|
import com.djrapitops.plan.system.processing.Processing;
|
||||||
|
import com.djrapitops.plugin.logging.console.PluginLogger;
|
||||||
|
import com.djrapitops.plugin.logging.error.ErrorHandler;
|
||||||
|
import com.google.common.util.concurrent.MoreExecutors;
|
||||||
|
import dagger.Lazy;
|
||||||
|
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
import java.util.concurrent.ExecutorService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Directly executing version of Processing for Tests to avoid concurrency issues during tests.
|
||||||
|
*
|
||||||
|
* @author Rsl1122
|
||||||
|
*/
|
||||||
|
@Singleton
|
||||||
|
public class TestProcessing extends Processing {
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
public TestProcessing(Lazy<Locale> locale, PluginLogger logger, ErrorHandler errorHandler) {
|
||||||
|
super(locale, logger, errorHandler);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ExecutorService createExecutor(int i, String s) {
|
||||||
|
return MoreExecutors.newDirectExecutorService();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user