From 4820626f291354570ea113c9c32155ae8ec68757 Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Fri, 6 Sep 2024 14:04:46 +0200 Subject: [PATCH 1/2] Add SyntaxError query This can be used by autofix, but might also be nice to help find YAML syntax errors :shrug: --- ql/src/Debug/SyntaxError.ql | 17 +++++++++++++++++ .../SyntaxError/SyntaxError.expected | 1 + .../query-tests/SyntaxError/SyntaxError.qlref | 1 + ql/test/query-tests/SyntaxError/options | 1 + 4 files changed, 20 insertions(+) create mode 100644 ql/src/Debug/SyntaxError.ql create mode 100644 ql/test/query-tests/SyntaxError/SyntaxError.expected create mode 100644 ql/test/query-tests/SyntaxError/SyntaxError.qlref create mode 100644 ql/test/query-tests/SyntaxError/options diff --git a/ql/src/Debug/SyntaxError.ql b/ql/src/Debug/SyntaxError.ql new file mode 100644 index 00000000000..9a638ad7fbe --- /dev/null +++ b/ql/src/Debug/SyntaxError.ql @@ -0,0 +1,17 @@ +/** + * @name Syntax error + * @description A piece of code could not be parsed due to syntax errors. + * @kind problem + * @problem.severity recommendation + * @id actions/syntax-error + * @tags reliability + * correctness + * language-features + * debug + * @precision very-high + */ + +private import codeql.actions.ast.internal.Yaml + +from YamlParseError pe +select pe, pe.getMessage() diff --git a/ql/test/query-tests/SyntaxError/SyntaxError.expected b/ql/test/query-tests/SyntaxError/SyntaxError.expected new file mode 100644 index 00000000000..386e6554e2d --- /dev/null +++ b/ql/test/query-tests/SyntaxError/SyntaxError.expected @@ -0,0 +1 @@ +| .github/workflows/malformed.yml:7:4:7:4 | expected , but found '' | expected , but found '' | diff --git a/ql/test/query-tests/SyntaxError/SyntaxError.qlref b/ql/test/query-tests/SyntaxError/SyntaxError.qlref new file mode 100644 index 00000000000..97c5686103c --- /dev/null +++ b/ql/test/query-tests/SyntaxError/SyntaxError.qlref @@ -0,0 +1 @@ +Debug/SyntaxError.ql diff --git a/ql/test/query-tests/SyntaxError/options b/ql/test/query-tests/SyntaxError/options new file mode 100644 index 00000000000..096355709a6 --- /dev/null +++ b/ql/test/query-tests/SyntaxError/options @@ -0,0 +1 @@ +semmle-extractor-options: --tolerate-parse-errors --experimental From 2f68e6f26e352ce0373300b386828a5cd05c7633 Mon Sep 17 00:00:00 2001 From: Rasmus Wriedt Larsen Date: Fri, 6 Sep 2024 14:53:46 +0200 Subject: [PATCH 2/2] Add missing test file --- .../SyntaxError/.github/workflows/malformed.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 ql/test/query-tests/SyntaxError/.github/workflows/malformed.yml diff --git a/ql/test/query-tests/SyntaxError/.github/workflows/malformed.yml b/ql/test/query-tests/SyntaxError/.github/workflows/malformed.yml new file mode 100644 index 00000000000..a8bfa4ae19a --- /dev/null +++ b/ql/test/query-tests/SyntaxError/.github/workflows/malformed.yml @@ -0,0 +1,7 @@ +on: pull_request_target + +jobs: + test: + runs-on: ubuntu-latest + steps: + - run: echo ${{ github.event.pull_request.body}}