# Disable some rules on some files
-sonar.issue.ignore.multicriteria=j1,jni1,jni2,jni3,c1,c2
+sonar.issue.ignore.multicriteria=j1,jni1,jni2,c1,c2,c3
# The Object.finalize() method should not be overriden
# But we need to clean the native memory with JNI
sonar.issue.ignore.multicriteria.jni1.ruleKey=cpp:S3630
sonar.issue.ignore.multicriteria.jni1.resourceKey=src/bindings/java/*.cpp
-# Pointers should not be cast to integral types
-# But we need that for jMSG
-sonar.issue.ignore.multicriteria.jni2.ruleKey=cpp:S1767
-sonar.issue.ignore.multicriteria.jni2.resourceKey=src/bindings/java/*.cpp
-
# Unused function parameters should be removed
# But JNI mandates these parameters
-sonar.issue.ignore.multicriteria.jni3.ruleKey=cpp:S1172
-sonar.issue.ignore.multicriteria.jni3.resourceKey=src/bindings/java/*.cpp
+sonar.issue.ignore.multicriteria.jni2.ruleKey=cpp:S1172
+sonar.issue.ignore.multicriteria.jni2.resourceKey=src/bindings/java/*.cpp
+
+# Pointers should not be cast to integral types
+# But we need that for jMSG, smpi and other places
+sonar.issue.ignore.multicriteria.c1.ruleKey=cpp:S1767
+sonar.issue.ignore.multicriteria.c1.resourceKey=**/*.cpp
# Preprocessor operators "#" and "##" should not be used
# This poses portability issues, but we check our usage on a large panel of architectures on purpose
-sonar.issue.ignore.multicriteria.c1.ruleKey=cpp:PPStringifyAndPastingUsage
-sonar.issue.ignore.multicriteria.c1.resourceKey=**/*.cpp
+sonar.issue.ignore.multicriteria.c2.ruleKey=cpp:PPStringifyAndPastingUsage
+sonar.issue.ignore.multicriteria.c2.resourceKey=**/*.cpp
# Macro names should comply with a naming convention
# But the macros in this file are named after the MPI standard
-sonar.issue.ignore.multicriteria.c2.ruleKey=c:PPMacroName
-sonar.issue.ignore.multicriteria.c2.resourceKey=include/smpi/smpi_extended_traces.h
+sonar.issue.ignore.multicriteria.c3.ruleKey=c:PPMacroName
+sonar.issue.ignore.multicriteria.c3.resourceKey=include/smpi/smpi_extended_traces.h
# - Collectives that we borrowed elsewhere (mpich, openMPI and other implems)
# - the NAS, that are included in our examples
# - RngStream, that is included in SimGrid
-sonar.exclusions=src/*_unit.c*,teshsuite/smpi/mpich3-test/**,teshsuite/smpi/isp/**,**/*_dtd.c,**/*_dtd.h,**/*yy.c,src/smpi/colls/*,examples/smpi/NAS/*,src/xbt/RngStream.c,include/xbt/RngStream.h
+sonar.exclusions=src/*_unit.c*,teshsuite/smpi/mpich3-test/**,teshsuite/smpi/isp/**,**/*_dtd.c,**/*_dtd.h,**/*yy.c,src/xbt/automaton/parserPromela.tab.cacc,src/smpi/colls/*,examples/smpi/NAS/*,src/xbt/RngStream.c,include/xbt/RngStream.h
# Exclude our examples from the duplication detection.
# Examples are expected to be somehow repetitive
# The build-wrapper output dir
sonar.cfamily.build-wrapper-output=bw-outputs
+# Where the coverage files are located
+# See https://docs.sonarqube.org/pages/viewpage.action?pageId=5312222
+sonar.cfamily.gcov.reportsPath=Testing/CoverageInfo
+# Files to ignore from coverage analysis:
+# - foreign test suites
+# - xml files
+sonar.coverage.exclusions=teshsuite/smpi/isp/**,teshsuite/smpi/mpich3-test/**,**/*.xml
+
# Encoding of the source files
sonar.sourceEncoding=UTF-8