Search in sources :

Example 1 with PhpIniParser

use of org.sonar.php.ini.PhpIniParser in project sonar-php by SonarSource.

the class PhpIniCheckTestUtils method check.

public static void check(PhpIniCheck check, File file) {
    PhpFile inputFile = TestUtils.getFile(file);
    PhpIniFile phpIniFile = new PhpIniParser().parse(inputFile);
    List<PhpIniIssue> actualIssues = check.analyze(phpIniFile);
    List<PhpIniIssue> expectedIssues = expectedIssues(file);
    compare(actualIssues, expectedIssues);
}
Also used : PhpIniFile(org.sonar.php.ini.tree.PhpIniFile) PhpFile(org.sonar.plugins.php.api.visitors.PhpFile) BasePhpIniIssue(org.sonar.php.ini.BasePhpIniIssue) PhpIniIssue(org.sonar.php.ini.PhpIniIssue) PhpIniParser(org.sonar.php.ini.PhpIniParser)

Example 2 with PhpIniParser

use of org.sonar.php.ini.PhpIniParser in project sonar-php by SonarSource.

the class PhpIniCheckTestUtils method check.

public static void check(PhpIniCheck check, File file, List<PhpIniIssue> expectedIssues) {
    PhpFile inputFile = TestUtils.getFile(file);
    PhpIniFile phpIniFile = new PhpIniParser().parse(inputFile);
    List<PhpIniIssue> actualIssues = check.analyze(phpIniFile);
    compare(actualIssues, expectedIssues);
}
Also used : PhpIniFile(org.sonar.php.ini.tree.PhpIniFile) PhpFile(org.sonar.plugins.php.api.visitors.PhpFile) BasePhpIniIssue(org.sonar.php.ini.BasePhpIniIssue) PhpIniIssue(org.sonar.php.ini.PhpIniIssue) PhpIniParser(org.sonar.php.ini.PhpIniParser)

Example 3 with PhpIniParser

use of org.sonar.php.ini.PhpIniParser in project sonar-php by SonarSource.

the class PhpIniSensor method execute.

@VisibleForTesting
protected void execute(SensorContext context, Checks<PhpIniCheck> checks) {
    PhpIniParser parser = new PhpIniParser();
    FileSystem fs = context.fileSystem();
    Iterable<InputFile> inputFiles = fs.inputFiles(fs.predicates().matchesPathPattern("**/php.ini"));
    for (InputFile inputFile : inputFiles) {
        PhpIniFile phpIni;
        try {
            phpIni = parser.parse(new PhpFileImpl(inputFile));
        } catch (RecognitionException e) {
            LOG.error("Unable to parse file: " + inputFile.toString());
            LOG.error(e.getMessage());
            continue;
        }
        for (PhpIniCheck check : checks.all()) {
            List<PhpIniIssue> issues = check.analyze(phpIni);
            saveIssues(context, inputFile, checks.ruleKey(check), issues);
        }
    }
}
Also used : PhpIniFile(org.sonar.php.ini.tree.PhpIniFile) PhpIniCheck(org.sonar.php.ini.PhpIniCheck) PhpIniIssue(org.sonar.php.ini.PhpIniIssue) FileSystem(org.sonar.api.batch.fs.FileSystem) PhpFileImpl(org.sonar.php.compat.PhpFileImpl) PhpIniParser(org.sonar.php.ini.PhpIniParser) RecognitionException(com.sonar.sslr.api.RecognitionException) InputFile(org.sonar.api.batch.fs.InputFile) VisibleForTesting(com.google.common.annotations.VisibleForTesting)

Aggregations

PhpIniIssue (org.sonar.php.ini.PhpIniIssue)3 PhpIniParser (org.sonar.php.ini.PhpIniParser)3 PhpIniFile (org.sonar.php.ini.tree.PhpIniFile)3 BasePhpIniIssue (org.sonar.php.ini.BasePhpIniIssue)2 PhpFile (org.sonar.plugins.php.api.visitors.PhpFile)2 VisibleForTesting (com.google.common.annotations.VisibleForTesting)1 RecognitionException (com.sonar.sslr.api.RecognitionException)1 FileSystem (org.sonar.api.batch.fs.FileSystem)1 InputFile (org.sonar.api.batch.fs.InputFile)1 PhpFileImpl (org.sonar.php.compat.PhpFileImpl)1 PhpIniCheck (org.sonar.php.ini.PhpIniCheck)1