From c6a37fdf1dca8fd8ecbedd4907f4261520745ddb Mon Sep 17 00:00:00 2001 From: Max Schaefer Date: Thu, 9 Apr 2020 16:44:03 +0100 Subject: [PATCH] Add consistency query flagging unexpected frontend errors. --- .../UnexpectedFrontendErrors.expected | 0 ql/test/consistency/UnexpectedFrontendErrors.ql | 16 ++++++++++++++++ ql/test/consistency/test.go | 7 +++++++ 3 files changed, 23 insertions(+) create mode 100644 ql/test/consistency/UnexpectedFrontendErrors.expected create mode 100644 ql/test/consistency/UnexpectedFrontendErrors.ql create mode 100644 ql/test/consistency/test.go diff --git a/ql/test/consistency/UnexpectedFrontendErrors.expected b/ql/test/consistency/UnexpectedFrontendErrors.expected new file mode 100644 index 00000000000..e69de29bb2d diff --git a/ql/test/consistency/UnexpectedFrontendErrors.ql b/ql/test/consistency/UnexpectedFrontendErrors.ql new file mode 100644 index 00000000000..f75e2c6bf21 --- /dev/null +++ b/ql/test/consistency/UnexpectedFrontendErrors.ql @@ -0,0 +1,16 @@ +/** + * @name Unexpected frontend error + * @description This query produces a list of all errors produced by the Go frontend + * during extraction, except for those occurring in files annotated with + * "// codeql test: expect frontend errors". + * @id go/unexpected-frontend-error + */ + +import go + +from Error e +where + not exists(Comment c | c.getFile() = e.getFile() | + c.getText().trim() = "codeql test: expect frontend errors" + ) +select e diff --git a/ql/test/consistency/test.go b/ql/test/consistency/test.go new file mode 100644 index 00000000000..ca40bd0f601 --- /dev/null +++ b/ql/test/consistency/test.go @@ -0,0 +1,7 @@ +package main + +// Example file with a syntax error to demonstrate use of "expect frontend errors" directive + +// codeql test: expect frontend errors + +This is not a valid Go program