aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-server-benchmarks/src
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-05-25 18:02:12 +0200
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2015-06-01 17:08:28 +0200
commit0404aea2db6cde052c6ac4fbd5b2b8097f1a1846 (patch)
tree10a80ed4f72a4fde3a999c6a695cd54bc8988cfa /server/sonar-server-benchmarks/src
parenta4867b7161c2d7a04ee28bccaca8c09a37087177 (diff)
downloadsonarqube-0404aea2db6cde052c6ac4fbd5b2b8097f1a1846.tar.gz
sonarqube-0404aea2db6cde052c6ac4fbd5b2b8097f1a1846.zip
SONAR-6590 use a CE specific interface to read batch report
Diffstat (limited to 'server/sonar-server-benchmarks/src')
-rw-r--r--server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/PersistFileSourcesStepTest.java47
1 files changed, 23 insertions, 24 deletions
diff --git a/server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/PersistFileSourcesStepTest.java b/server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/PersistFileSourcesStepTest.java
index b5507606e40..7068d8fe84c 100644
--- a/server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/PersistFileSourcesStepTest.java
+++ b/server/sonar-server-benchmarks/src/test/java/org/sonar/server/benchmark/PersistFileSourcesStepTest.java
@@ -31,10 +31,10 @@ import org.sonar.api.utils.System2;
import org.sonar.api.utils.internal.Uuids;
import org.sonar.batch.protocol.Constants;
import org.sonar.batch.protocol.output.BatchReport;
-import org.sonar.batch.protocol.output.BatchReportReader;
import org.sonar.batch.protocol.output.BatchReportWriter;
import org.sonar.core.persistence.DbTester;
import org.sonar.server.computation.ComputationContext;
+import org.sonar.server.computation.batch.BatchReportReaderRule;
import org.sonar.server.computation.component.ComponentTreeBuilders;
import org.sonar.server.computation.component.DbComponentsRefCache;
import org.sonar.server.computation.component.DbComponentsRefCache.DbComponent;
@@ -70,21 +70,23 @@ public class PersistFileSourcesStepTest {
@Rule
public Benchmark benchmark = new Benchmark();
+ @Rule
+ public BatchReportReaderRule reportReader = new BatchReportReaderRule();
@Test
public void benchmark() throws Exception {
- File reportDir = prepareReport();
- persistFileSources(reportDir);
+ prepareReport();
+ persistFileSources();
}
- private void persistFileSources(File reportDir) {
+ private void persistFileSources() {
LOGGER.info("Persist file sources");
DbClient dbClient = new DbClient(dbTester.database(), dbTester.myBatis(), new FileSourceDao(dbTester.myBatis()));
long start = System.currentTimeMillis();
PersistFileSourcesStep step = new PersistFileSourcesStep(dbClient, System2.INSTANCE, dbComponentsRefCache);
- step.execute(new ComputationContext(new BatchReportReader(reportDir), "PROJECT_KEY", new Settings(), dbClient, ComponentTreeBuilders.from(DumbComponent.DUMB_PROJECT), mock(LanguageRepository.class)));
+ step.execute(new ComputationContext(reportReader, "PROJECT_KEY", new Settings(), dbClient, ComponentTreeBuilders.from(DumbComponent.DUMB_PROJECT), mock(LanguageRepository.class)));
long end = System.currentTimeMillis();
long duration = end - start;
@@ -95,14 +97,13 @@ public class PersistFileSourcesStepTest {
benchmark.expectAround("Duration to persist FILE_SOURCES", duration, 105000, Benchmark.DEFAULT_ERROR_MARGIN_PERCENTS);
}
- private File prepareReport() throws IOException {
+ private void prepareReport() throws IOException {
LOGGER.info("Create report");
File reportDir = temp.newFolder();
- BatchReportWriter writer = new BatchReportWriter(reportDir);
- writer.writeMetadata(BatchReport.Metadata.newBuilder()
- .setRootComponentRef(1)
- .build());
+ reportReader.setMetadata(BatchReport.Metadata.newBuilder()
+ .setRootComponentRef(1)
+ .build());
BatchReport.Component.Builder project = BatchReport.Component.newBuilder()
.setRef(1)
.setType(Constants.ComponentType.PROJECT);
@@ -110,13 +111,11 @@ public class PersistFileSourcesStepTest {
dbComponentsRefCache.addComponent(1, new DbComponent(1L, "PROJECT", PROJECT_UUID));
for (int fileRef = 2; fileRef <= NUMBER_OF_FILES + 1; fileRef++) {
- generateFileReport(writer, fileRef);
+ generateFileReport(new BatchReportWriter(reportDir), fileRef);
project.addChildRef(fileRef);
}
- writer.writeComponent(project.build());
-
- return reportDir;
+ reportReader.putComponent(project.build());
}
private void generateFileReport(BatchReportWriter writer, int fileRef) throws IOException {
@@ -124,20 +123,20 @@ public class PersistFileSourcesStepTest {
for (int line = 1; line <= NUMBER_OF_LINES; line++) {
lineData.generateLineData(line);
}
- writer.writeComponent(BatchReport.Component.newBuilder()
- .setRef(fileRef)
- .setType(Constants.ComponentType.FILE)
- .setLines(NUMBER_OF_LINES)
- .build());
+ reportReader.putComponent(BatchReport.Component.newBuilder()
+ .setRef(fileRef)
+ .setType(Constants.ComponentType.FILE)
+ .setLines(NUMBER_OF_LINES)
+ .build());
dbComponentsRefCache.addComponent(fileRef, new DbComponent((long) fileRef, "PROJECT:" + fileRef, Uuids.create()));
FileUtils.writeLines(writer.getSourceFile(fileRef), lineData.lines);
- writer.writeComponentCoverage(fileRef, lineData.coverages);
- writer.writeComponentChangesets(lineData.changesetsBuilder.setComponentRef(fileRef).build());
- writer.writeComponentSyntaxHighlighting(fileRef, lineData.highlightings);
- writer.writeComponentSymbols(fileRef, lineData.symbols);
- writer.writeComponentDuplications(fileRef, lineData.duplications);
+ reportReader.putCoverage(fileRef, writer.writeComponentCoverage(fileRef, lineData.coverages));
+ reportReader.putChangesets(lineData.changesetsBuilder.setComponentRef(fileRef).build());
+ reportReader.putSyntaxHighlighting(fileRef, writer.writeComponentSyntaxHighlighting(fileRef, lineData.highlightings));
+ reportReader.putSymbols(fileRef, lineData.symbols);
+ reportReader.putDuplications(fileRef, lineData.duplications);
}
private static class LineData {