Merge pull request #12442 from aibaars/diagnostics-tests

Ruby: add some integration tests for diagnostic messages
This commit is contained in:
Arthur Baars
2023-03-09 21:58:42 +01:00
committed by GitHub
11 changed files with 100 additions and 6 deletions

View File

@@ -0,0 +1,3 @@
4 %%% 5
if 1; 2

View File

@@ -0,0 +1,46 @@
{
"helpLinks": [
"https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning"
],
"location": {
"endColumn": 5,
"endLine": 1,
"file": "<test-root-directory>/bad.rb",
"startColumn": 4,
"startLine": 1
},
"markdownMessage": "A parse error occurred. Check the syntax of the file. If the file is invalid, correct the error or [exclude](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning) the file from analysis.",
"plaintextMessage": "A parse error occurred. Check the syntax of the file. If the file is invalid, correct the error or exclude the file from analysis.",
"severity": "Warning",
"source": {
"extractorName": "ruby",
"id": "ruby/parse-error",
"name": "Parse error"
},
"visibility": {
"statusPage": true
}
}
{
"helpLinks": [
"https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning"
],
"location": {
"endColumn": 7,
"endLine": 3,
"file": "<test-root-directory>/bad.rb",
"startColumn": 8,
"startLine": 3
},
"markdownMessage": "A parse error occurred (expected `end` symbol). Check the syntax of the file. If the file is invalid, correct the error or [exclude](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/customizing-code-scanning) the file from analysis.",
"plaintextMessage": "A parse error occurred (expected end symbol). Check the syntax of the file. If the file is invalid, correct the error or exclude the file from analysis.",
"severity": "Warning",
"source": {
"extractorName": "ruby",
"id": "ruby/parse-error",
"name": "Parse error"
},
"visibility": {
"statusPage": true
}
}

View File

@@ -0,0 +1,7 @@
import os
from create_database_utils import *
from diagnostics_test_utils import *
run_codeql_database_create([], lang="ruby", runFunction = runSuccessfully, db = None)
check_diagnostics()

View File

@@ -0,0 +1,19 @@
{
"helpLinks": [
"https://docs.ruby-lang.org/en/master/syntax/comments_rdoc.html#label-encoding+Directive"
],
"location": {
"file": "<test-root-directory>/encoding.rb"
},
"markdownMessage": "Unknown character encoding `silly` in `#encoding:` [directive](https://docs.ruby-lang.org/en/master/syntax/comments_rdoc.html#label-encoding+Directive).",
"plaintextMessage": "Unknown character encoding silly in #encoding: directive.",
"severity": "Warning",
"source": {
"extractorName": "ruby",
"id": "ruby/unknown-character-encoding",
"name": "Unknown character encoding"
},
"visibility": {
"statusPage": true
}
}

View File

@@ -0,0 +1,5 @@
# encoding: silly
def f
puts "hello"
end

View File

@@ -0,0 +1,7 @@
import os
from create_database_utils import *
from diagnostics_test_utils import *
run_codeql_database_create([], lang="ruby", runFunction = runSuccessfully, db = None)
check_diagnostics()

View File

@@ -0,0 +1,3 @@
dependencies:
codeql/ruby-all: '*'
codeql/ruby-queries: '*'

View File

@@ -0,0 +1,4 @@
---
category: minorAnalysis
---
* The severity of parse errors was reduced to warning (previously error).

View File

@@ -47,6 +47,6 @@ class Diagnostic extends @diagnostic {
}
/** A diagnostic relating to a particular error in extracting a file. */
class ExtractionError extends Diagnostic, @diagnostic_error {
class ExtractionError extends Diagnostic {
ExtractionError() { this.getTag() = "parse_error" }
}