mirror of
https://github.com/github/codeql.git
synced 2025-12-18 01:33:15 +01:00
Python: Treat SyntaxErrors as warnings in diagnostics
Rename going to happen in second commit, so git doesn't get too confused I don't actually recall where to lookup that warning is 1, and error is 2, but I took this from https://github.com/github/codeql/pull/6830/files#diff-460fc20823ced3b074784db804f2d4d6cfcad4f23fe5d264dc7496c782629a2eR121-R123
This commit is contained in:
@@ -1,23 +1,36 @@
|
||||
/**
|
||||
* @name Python extraction errors
|
||||
* @description List all extraction errors for Python files in the source code directory.
|
||||
* @name Python extraction warnings
|
||||
* @description List all extraction warnings for Python files in the source code directory.
|
||||
* @kind diagnostic
|
||||
* @id py/diagnostics/extraction-errors
|
||||
* @id py/diagnostics/extraction-warnings
|
||||
*/
|
||||
|
||||
import python
|
||||
|
||||
/**
|
||||
* Gets the SARIF severity for errors.
|
||||
* Gets the SARIF severity for warnings.
|
||||
*
|
||||
* See point 3.27.10 in https://docs.oasis-open.org/sarif/sarif/v2.0/sarif-v2.0.html for
|
||||
* what error means.
|
||||
* See https://docs.oasis-open.org/sarif/sarif/v2.1.0/csprd01/sarif-v2.1.0-csprd01.html#_Toc10541338
|
||||
*/
|
||||
int getErrorSeverity() { result = 2 }
|
||||
int getWarningSeverity() { result = 1 }
|
||||
|
||||
// The spec
|
||||
// https://docs.oasis-open.org/sarif/sarif/v2.1.0/csprd01/sarif-v2.1.0-csprd01.html#_Toc10541338
|
||||
// defines error and warning as:
|
||||
//
|
||||
// "error": A serious problem was found. The condition encountered by the tool resulted
|
||||
// in the analysis being halted or caused the results to be incorrect or incomplete.
|
||||
//
|
||||
// "warning": A problem that is not considered serious was found. The condition
|
||||
// encountered by the tool is such that it is uncertain whether a problem occurred, or
|
||||
// is such that the analysis might be incomplete but the results that were generated are
|
||||
// probably valid.
|
||||
//
|
||||
// so SyntaxErrors are reported at the warning level, since analysis might be incomplete
|
||||
// but the results that were generated are probably valid.
|
||||
from SyntaxError error, File file
|
||||
where
|
||||
file = error.getFile() and
|
||||
exists(file.getRelativePath())
|
||||
select error, "Extraction failed in " + file + " with error " + error.getMessage(),
|
||||
getErrorSeverity()
|
||||
getWarningSeverity()
|
||||
|
||||
Reference in New Issue
Block a user