QL: add test for qlpacks, and get them to work

This commit is contained in:
Erik Krogh Kristensen
2021-10-15 11:21:07 +02:00
parent 6fe7579fc3
commit 0954584743
7 changed files with 25 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
getTarget
| Foo.qll:5:26:5:30 | PredicateCall | Foo.qll:3:1:3:26 | ClasslessPredicate foo |
| Foo.qll:10:21:10:25 | PredicateCall | Foo.qll:8:3:8:28 | ClassPredicate bar |
| Foo.qll:14:30:14:40 | MemberCall | Foo.qll:10:3:10:27 | ClassPredicate baz |
@@ -8,3 +9,7 @@
| Foo.qll:31:5:31:12 | PredicateCall | Foo.qll:24:3:24:32 | ClasslessPredicate alias0 |
| Foo.qll:36:36:36:65 | MemberCall | file://:0:0:0:0 | replaceAll |
| Foo.qll:38:39:38:67 | MemberCall | file://:0:0:0:0 | regexpCapture |
| packs/src/SrcThing.qll:4:3:4:8 | PredicateCall | packs/lib/LibThing/Foo.qll:1:1:1:30 | ClasslessPredicate foo |
| packs/src/SrcThing.qll:5:3:5:8 | PredicateCall | packs/src/SrcThing.qll:8:1:8:30 | ClasslessPredicate bar |
dependsOn
| packs/src/qlpack.yml:1:1:1:4 | ql-testing-src-pack | packs/lib/qlpack.yml:1:1:1:4 | ql-testing-lib-pack |

View File

@@ -1,3 +1,5 @@
import ql
query AstNode getTarget(Call call) { result = call.getTarget() }
query YAML::QLPack dependsOn(YAML::QLPack pack) { result = pack.getADependency() }

View File

@@ -0,0 +1 @@
predicate foo(int i) { i = 3 }

View File

@@ -0,0 +1,3 @@
name: ql-testing-lib-pack
version: 0.1.0
extractor: ql-test-stuff

View File

@@ -0,0 +1,8 @@
import LibThing.Foo
query predicate test(int i) {
foo(i) and
bar(i)
}
predicate bar(int i) { i = 4 }

View File

@@ -0,0 +1,4 @@
name: ql-testing-src-pack
version: 0.1.0
dependencies:
ql-testing-lib-pack: "*"

View File

@@ -6,6 +6,8 @@ exec "${CODEQL_DIST}/codeql" database index-files \
--prune="**/*.testproj" \
--include-extension=.ql \
--include-extension=.qll \
--include-extension=.dbscheme \
--include-extension=.yml \
--size-limit=5m \
--language=ql \
--working-dir=.\