Commit 753eba5
committed
Migrate external to extensible predicates w/ dataExtensions
Replace `external string` declarations with `extensible predicate` syntax
across all 8 languages, enabling YAML-based data extensions for testing
instead of fragile fallback hacks.
Architecture:
- Add ExternalPredicates.qll per language with shared extensible predicate
declarations (sourceFunction, targetFunction, selectedSourceFiles)
- Add dataExtensions YAML files in test/*/ext/ directories providing
test values for each query's external predicates
- Add dataExtensions glob to all test pack codeql-pack.yml files
- Remove all "Fallback for unit tests" or clauses from queries
This means:
- Tests now exercise the actual external predicate logic path
- No more path-based hacks (getParentContainer().getBaseName() = "test")
- CallGraphFromTo tests produce precise source→target results
- New queries only need a .model.yml file, not query modifications1 parent 5cb3839 commit 753eba5
111 files changed
Lines changed: 756 additions & 770 deletions
File tree
- server
- dist
- ql
- cpp/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- csharp/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- go/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- javascript/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- java/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- python/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- ruby/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- swift/tools
- src
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- PrintAST
- PrintCFG
- test
- CallGraphFromTo
- CallGraphFrom
- CallGraphTo
- ext
- src/lib
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
| 20 | + | |
20 | 21 | | |
21 | 22 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57238 | 57238 | | |
57239 | 57239 | | |
57240 | 57240 | | |
57241 | | - | |
| 57241 | + | |
| 57242 | + | |
57242 | 57243 | | |
57243 | | - | |
57244 | | - | |
57245 | | - | |
57246 | | - | |
57247 | | - | |
57248 | | - | |
57249 | | - | |
57250 | | - | |
57251 | | - | |
57252 | | - | |
57253 | | - | |
57254 | | - | |
57255 | | - | |
57256 | | - | |
57257 | | - | |
57258 | | - | |
57259 | | - | |
| 57244 | + | |
57260 | 57245 | | |
57261 | | - | |
| 57246 | + | |
57262 | 57247 | | |
57263 | | - | |
57264 | | - | |
57265 | | - | |
57266 | | - | |
57267 | | - | |
57268 | | - | |
57269 | | - | |
57270 | | - | |
57271 | | - | |
57272 | | - | |
57273 | | - | |
57274 | | - | |
57275 | | - | |
57276 | | - | |
57277 | | - | |
57278 | | - | |
57279 | | - | |
| 57248 | + | |
57280 | 57249 | | |
57281 | | - | |
| 57250 | + | |
57282 | 57251 | | |
57283 | | - | |
57284 | | - | |
57285 | | - | |
57286 | | - | |
57287 | | - | |
57288 | | - | |
57289 | | - | |
57290 | | - | |
57291 | | - | |
57292 | | - | |
57293 | | - | |
| 57252 | + | |
| 57253 | + | |
| 57254 | + | |
| 57255 | + | |
| 57256 | + | |
| 57257 | + | |
| 57258 | + | |
| 57259 | + | |
| 57260 | + | |
| 57261 | + | |
| 57262 | + | |
| 57263 | + | |
| 57264 | + | |
| 57265 | + | |
| 57266 | + | |
| 57267 | + | |
| 57268 | + | |
| 57269 | + | |
| 57270 | + | |
| 57271 | + | |
| 57272 | + | |
| 57273 | + | |
| 57274 | + | |
| 57275 | + | |
| 57276 | + | |
| 57277 | + | |
| 57278 | + | |
| 57279 | + | |
| 57280 | + | |
| 57281 | + | |
| 57282 | + | |
| 57283 | + | |
| 57284 | + | |
| 57285 | + | |
| 57286 | + | |
| 57287 | + | |
| 57288 | + | |
| 57289 | + | |
| 57290 | + | |
| 57291 | + | |
| 57292 | + | |
| 57293 | + | |
| 57294 | + | |
| 57295 | + | |
| 57296 | + | |
| 57297 | + | |
| 57298 | + | |
| 57299 | + | |
| 57300 | + | |
| 57301 | + | |
| 57302 | + | |
| 57303 | + | |
| 57304 | + | |
| 57305 | + | |
57294 | 57306 | | |
57295 | | - | |
57296 | | - | |
57297 | | - | |
57298 | | - | |
57299 | | - | |
57300 | 57307 | | |
57301 | 57308 | | |
57302 | 57309 | | |
| |||
57360 | 57367 | | |
57361 | 57368 | | |
57362 | 57369 | | |
57363 | | - | |
| 57370 | + | |
| 57371 | + | |
57364 | 57372 | | |
57365 | 57373 | | |
57366 | 57374 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
| 11 | + | |
17 | 12 | | |
18 | 13 | | |
19 | 14 | | |
20 | 15 | | |
21 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
22 | 19 | | |
23 | 20 | | |
24 | 21 | | |
| |||
40 | 37 | | |
41 | 38 | | |
42 | 39 | | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
| 40 | + | |
51 | 41 | | |
Lines changed: 12 additions & 27 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
| 11 | + | |
23 | 12 | | |
24 | 13 | | |
25 | 14 | | |
26 | 15 | | |
27 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
28 | 19 | | |
29 | 20 | | |
30 | 21 | | |
31 | 22 | | |
32 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
33 | 26 | | |
34 | 27 | | |
35 | 28 | | |
| |||
74 | 67 | | |
75 | 68 | | |
76 | 69 | | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
90 | 75 | | |
91 | 76 | | |
92 | 77 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
| 11 | + | |
17 | 12 | | |
18 | 13 | | |
19 | 14 | | |
20 | 15 | | |
21 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
22 | 19 | | |
23 | 20 | | |
24 | 21 | | |
| |||
40 | 37 | | |
41 | 38 | | |
42 | 39 | | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
| 40 | + | |
51 | 41 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
| 11 | + | |
17 | 12 | | |
18 | 13 | | |
19 | 14 | | |
20 | 15 | | |
21 | | - | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
22 | 19 | | |
23 | 20 | | |
24 | 21 | | |
| |||
45 | 42 | | |
46 | 43 | | |
47 | 44 | | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
| 45 | + | |
56 | 46 | | |
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | 1 | | |
3 | 2 | | |
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | 1 | | |
3 | 2 | | |
0 commit comments