From 87dbec69eeca5f8a94ed08e9cc9df588dc89a770 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Fri, 4 Jul 2014 10:54:28 +0200 Subject: SONAR-5433 Do not loose exception when indexing FS --- .../batch/mediumtest/fs/FileSystemMediumTest.java | 26 +++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'sonar-batch/src/test/java/org/sonar/batch') diff --git a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java index aafeada87cf..10fbfd2263f 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/mediumtest/fs/FileSystemMediumTest.java @@ -23,10 +23,13 @@ import com.google.common.collect.ImmutableMap; import org.apache.commons.io.FileUtils; import org.junit.After; import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.rule.RuleKey; +import org.sonar.api.utils.MessageException; import org.sonar.batch.mediumtest.AnalyzerMediumTester; import org.sonar.batch.mediumtest.AnalyzerMediumTester.TaskResult; import org.sonar.batch.mediumtest.xoo.plugin.XooPlugin; @@ -39,9 +42,12 @@ import static org.fest.assertions.Assertions.assertThat; public class FileSystemMediumTest { - @org.junit.Rule + @Rule public TemporaryFolder temp = new TemporaryFolder(); + @Rule + public ExpectedException thrown = ExpectedException.none(); + public AnalyzerMediumTester tester = AnalyzerMediumTester.builder() .registerPlugin("xoo", new XooPlugin()) .registerLanguage(new Xoo()) @@ -141,4 +147,22 @@ public class FileSystemMediumTest { assertThat(result.inputFiles()).hasSize(4); } + @Test + public void failForDuplicateInputFile() throws IOException { + File srcDir = new File(baseDir, "src"); + srcDir.mkdir(); + + File xooFile = new File(srcDir, "sample.xoo"); + FileUtils.write(xooFile, "Sample xoo\ncontent"); + + thrown.expect(MessageException.class); + thrown.expectMessage("can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files"); + tester.newTask() + .properties(builder + .put("sonar.sources", "src,src/sample.xoo") + .build()) + .start(); + + } + } -- cgit v1.2.3