Joe Farebrother
462be46be9
Update test output
2024-12-09 19:57:52 +00:00
Joe Farebrother
ebaab89933
Formatting updates
2024-12-09 19:57:25 +00:00
Joe Farebrother
dd8b7a4a8f
Add additional test for safe case in documentation
2024-12-09 19:57:19 +00:00
Joe Farebrother
0f0c1e1609
Test update
2024-12-09 19:56:46 +00:00
Joe Farebrother
4602c5c905
Remove experimental version + qhelp fixes
2024-12-09 19:56:18 +00:00
Joe Farebrother
cea196ec61
Add concepts tests + some fixes
2024-12-09 19:55:42 +00:00
Joe Farebrother
1cb01a286d
Add tests for jinja
2024-12-09 19:55:36 +00:00
yoff
81c8a702ff
Merge pull request #18112 from github/tausbn/add-api-graph-support-for-parameter-annotations
2024-12-05 15:05:27 +01:00
Jeroen Ketema
10592bb1c4
Merge pull request #18192 from jketema/inline-rm
...
Remove deprecated `InlineExpectationsTest` class-based API
2024-12-04 11:34:39 +01:00
Anders Schack-Mulligen
8a5fc97b06
Python: Remove deprecated configuration classes referencing deleted api.
2024-12-03 20:08:45 +01:00
Jeroen Ketema
c3ea883b11
Python: Update expected test results
2024-12-03 19:18:57 +01:00
Taus
2734377e5d
Python: Add API graph support for parameter annotations
...
Adds API graph support for observing that in
```python
def foo(x : Bar): ...
```
The variable `x` is likely to be an instance of the type `Bar` inside
this function.
In particular, we add `getInstanceFromAnnotation` as a predicate on API
graph nodes that tracks this step (corresponding to a new edge type
labeled with "annotation" in the API graph), and extend the existing
`getAnInstance` predicate to also include instances arising from type
annotations.
A more complete solution would also add support for annotated
assignments (`x : Foo = ...` or just `x : Foo`) as well as track types
through type aliases (`type Foo = Bar`). This turns out to be
non-trivial, however, as these type constructs don't have any CFG nodes
(and so no data-flow nodes by default either). In order to not have
perfect be the enemy of good, this commit is only targeting the type
parameter case (which is also likely to be the most common use case
anyway).
The tests for API graphs have been extended accordingly, including tests
for the kinds of type ascriptions that we _don't_ currently model in API
graphs (marked with `MISSING:` in the inline tests).
2024-11-26 13:03:06 +00:00
yoff
44c94e02fe
Merge pull request #18037 from joefarebrother/pythob-test-global-capture
...
Python: Add some test cases for flow involving global and captured variables
2024-11-22 11:33:31 +01:00
Joe Farebrother
52cd7f2c5c
Add 2 more cases
2024-11-20 11:22:42 +00:00
Joe Farebrother
9b4b01a442
Fix typo
2024-11-20 10:59:27 +00:00
Joe Farebrother
a398f707fe
Add some test cases for flow involving global variables and captured variables
2024-11-19 16:34:59 +00:00
yoff
d4ec8f650a
Merge pull request #18030 from github/tausbn/python-fix-match-literal-pruning
...
Python: Fix pruning of literals in `match` pattern
2024-11-19 17:16:22 +01:00
yoff
22287be5d1
Merge pull request #17370 from Kwstubbs/Bottle/Tornado-HeaderSupport
...
Python: Bottle Framework Support
2024-11-19 15:34:26 +01:00
Taus
e2530cf14f
Python: Update expected test output
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2024-11-19 14:10:50 +00:00
Paolo Tranquilli
147d66b587
Merge branch 'main' into redsun82/python-match-fps
2024-11-07 09:46:32 +01:00
yoff
cec0544ca5
Merge pull request #17789 from aschackmull/python/resolvecall-refactor
...
Python: Refactor references to NormalCall.
2024-11-01 14:20:34 +01:00
Kevin Stubbings
ac411f1254
Second round feedback
2024-10-30 13:52:38 -07:00
Anders Schack-Mulligen
8b5756526c
Update python/ql/test/experimental/library-tests/CallGraph/InlineCallGraphTest.ql
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-10-29 13:57:27 +01:00
Tom Hvitved
e5f2bbb6ec
Python: Post-processing query for inline test expectations
2024-10-29 13:35:37 +01:00
Tom Hvitved
7c4d5981dd
Shared: Add missing spaces in inline test expectation output
2024-10-25 13:23:03 +02:00
Arthur Baars
08af7d0007
Merge pull request #17810 from github/post-release-prep/codeql-cli-2.19.2
...
Post-release preparation for codeql-cli-2.19.2
2024-10-18 18:28:07 +02:00
Rasmus Lerchedahl Petersen
30e5a12230
Python: udate expectations
2024-10-18 15:14:51 +02:00
Anders Schack-Mulligen
5950c336e2
Python: Refactor references to NormalCall.
2024-10-16 16:04:31 +02:00
Taus
65dbc1de91
Python: Add copy.replace test to list of runnable tests
2024-10-15 18:17:00 +02:00
yoff
9ed8fe5dd0
Update python/ql/test/library-tests/dataflow/coverage/functional.py
...
Co-authored-by: Taus <tausbn@github.com >
2024-10-15 17:35:36 +02:00
Taus
778b96aa39
Python: Update test expectations
2024-10-15 12:14:19 +00:00
Taus
e16405c675
Python: Add test for copy.replace
...
This test demonstrates the current state of affairs: that `copy.replace`
essentially blocks all flow of taint through it, because it has not been
modelled yet.
2024-10-15 11:48:43 +00:00
Rasmus Lerchedahl Petersen
195b70aca6
python: Add test for functional-like programming
...
This can also serve for a place to add tests for
constructs like threading.Thread, mulitprocess.Process, concurrent.futures.ThreadPoolExecutor, and concurrent.futures.ProcessPoolExecutor.
2024-10-15 12:54:30 +02:00
yoff
8f681154ce
Merge pull request #17683 from yoff/python/flip-default-for-stdlib-extraction
...
Python: Flip default for stdlib extraction
2024-10-11 18:34:44 +02:00
Rasmus Lerchedahl Petersen
5650694313
Python: update tests
2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
c013d4a59c
Python: update test expectations
2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
bb78c2a67e
Python: update test expectations
2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
0ac4a10345
Python: model that finditer returns iterable of re.Match objects
2024-10-09 12:42:38 +02:00
Rasmus Lerchedahl Petersen
494b8bd7e1
python: model string property of resultof finditer
2024-10-09 12:40:47 +02:00
Rasmus Lerchedahl Petersen
073189ed6b
python: add test for re.Match objects returned from finditer
2024-10-09 12:32:51 +02:00
yoff
1f1b1b7aab
Merge pull request #17653 from yoff/python/typetracking-through-comprehensions
2024-10-08 19:39:21 +02:00
Rasmus Lerchedahl Petersen
6f5b949ec8
Python: adjust test expectations
...
note that we do retain precision in
`test_dict_from_keyword()`
2024-10-04 15:30:02 +02:00
Rasmus Lerchedahl Petersen
a4c1a622b7
Merge branch 'main' of https://github.com/github/codeql into python/add-comprehension-capture-flow
2024-10-04 14:53:03 +02:00
yoff
306b087b6e
Merge pull request #17566 from yoff/python/dict-can-take-multiple-args
...
Python: All dict constructor args are relevant
2024-10-04 14:30:10 +02:00
Tom Hvitved
b3b9406e45
Python: Update test
2024-10-04 08:35:32 +02:00
Rasmus Lerchedahl Petersen
777279dc29
Python: MaD test expectations
2024-10-03 13:29:56 +02:00
Rasmus Lerchedahl Petersen
768d866e72
python: model urllib.parse.parse_qs
2024-10-03 12:20:40 +02:00
Rasmus Lerchedahl Petersen
0462809edc
Python: add taint test for urllib
2024-10-03 12:20:38 +02:00
Rasmus Lerchedahl Petersen
0dc036abd1
Python: Allow type tracking through comprehensions
...
- the subscript operator is extended to comprehensions
- the capture jump-step is extended to work for the functions generated inside comprehensions
2024-10-03 09:31:02 +02:00
Rasmus Lerchedahl Petersen
38b1eb7c71
Python: just use ListElementContent for iterables
2024-10-01 16:24:15 +02:00