From e30e5685b2be0578b77f5a1eacdce57f0e9e4657 Mon Sep 17 00:00:00 2001 From: Max Schaefer Date: Thu, 9 Apr 2020 09:40:25 +0100 Subject: [PATCH] Fix recognition of `Test`, `Benchmark`, and `Example` as test cases. --- ql/src/semmle/go/frameworks/Testing.qll | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ql/src/semmle/go/frameworks/Testing.qll b/ql/src/semmle/go/frameworks/Testing.qll index 022b74b5db4..47a65346402 100644 --- a/ql/src/semmle/go/frameworks/Testing.qll +++ b/ql/src/semmle/go/frameworks/Testing.qll @@ -27,15 +27,15 @@ module TestCase { /** A `go test` style test (including benchmarks and examples). */ private class GoTestFunction extends Range, FuncDef { GoTestFunction() { - getName().regexpMatch("Test[^a-z].*") and + getName().regexpMatch("Test(?![a-z]).*") and getNumParameter() = 1 and getParameter(0).getType().(PointerType).getBaseType().hasQualifiedName("testing", "T") or - getName().regexpMatch("Benchmark[^a-z].*") and + getName().regexpMatch("Benchmark(?![a-z]).*") and getNumParameter() = 1 and getParameter(0).getType().(PointerType).getBaseType().hasQualifiedName("testing", "B") or - getName().regexpMatch("Example[^a-z].*") and + getName().regexpMatch("Example(?![a-z]).*") and getNumParameter() = 0 } }