Rasmus Wriedt Larsen
30891ca4aa
Merge pull request #14861 from yoff/python/demonstrate-def-use-explosion
...
Python: test demonstrating the need for phi nodes
2023-11-22 09:57:10 +01:00
Rasmus Lerchedahl Petersen
d288c4a709
Python: rename folder
2023-11-21 16:48:41 +01:00
yoff
4f7fde7b87
Merge pull request #14858 from yoff/python/demonstrate-use-use-explosion
...
Python: Test demonstrating the need for phi-read-nodes
2023-11-21 16:44:11 +01:00
Rasmus Lerchedahl Petersen
c552bc5eb1
Python: fix test output
2023-11-21 15:48:22 +01:00
Rasmus Lerchedahl Petersen
077e51c6c6
Python: fix test output
2023-11-21 15:47:18 +01:00
Rasmus Lerchedahl Petersen
4857960f72
Python: test demonstrating the need for phi nodes
...
or a dataflow node playing that role, at least.
2023-11-21 15:40:05 +01:00
Rasmus Lerchedahl Petersen
f138fc0d2d
Python: Test demonstrating need for phi-read-nodes
...
Or for a data flow node filling that role, at least.
2023-11-21 13:54:02 +01:00
Rasmus Wriedt Larsen
db1499d5b0
Python: Add test for variable reference in list comprehension
2023-11-20 16:41:34 +01:00
Rasmus Wriedt Larsen
25d3af9236
Merge branch 'main' into clean-tests
2023-11-16 11:21:01 +01:00
Rasmus Wriedt Larsen
ae6c95ff95
Python: Fix asyncio.coroutine deprecation
...
Was removed in 3.11, see https://docs.python.org/3.10/library/asyncio-task.html#asyncio.coroutine
I couldn't make the __awwait__ actually give the result to the agen function...
I also tried looking into
https://docs.python.org/3/library/types.html#types.coroutine , but also
failed to make that work.
Without the Future, such as doing `yield SOURCE` inside `__await__` it
complains `RuntimeError: Task got bad yield: 'source'`
2023-11-15 13:24:08 +01:00
Rasmus Wriedt Larsen
55f5b26ba6
Python: Accept new ordering of query predicates in .expected
2023-11-15 10:09:54 +01:00
Rasmus Wriedt Larsen
721bde1ce8
Python: Delete orphaned .expected files
2023-11-15 09:59:26 +01:00
Rasmus Wriedt Larsen
5fc8a00487
Python: Rename test function
2023-11-10 15:58:20 +01:00
Rasmus Wriedt Larsen
9b0ad8295e
Python: Add test of nested classes
2023-11-08 14:58:40 +01:00
Rasmus Wriedt Larsen
9d5cf0b331
Merge branch 'main' into class-attribute-flow
2023-11-08 14:30:53 +01:00
Rasmus Wriedt Larsen
6d4e000c7c
Merge pull request #14590 from RasmusWL/fix-dataflow-class-scope
...
Python: Fix dataflow consistency error due to missing class scope
2023-11-08 14:30:34 +01:00
Rasmus Wriedt Larsen
5433907c33
Python: Accept more test changes
...
All are for the better 🎉
2023-11-07 15:49:14 +01:00
Rasmus Wriedt Larsen
5220a8d3f8
Update python/ql/test/experimental/dataflow/validTest.py
...
Co-authored-by: Taus <tausbn@github.com >
2023-11-07 11:30:13 +01:00
Rasmus Wriedt Larsen
9f43108ba8
Python: Fix DataFlowCall.getEnclosingCallable
...
Now it is aligned with the implementation of DataFlow::Node
See 4bc4e0845d/python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll (L134-L138)
2023-11-07 11:29:23 +01:00
Rasmus Wriedt Larsen
904a8b1ea9
Python: Add consistency tests for class scope
2023-11-07 11:29:23 +01:00
Rasmus Wriedt Larsen
6568332e3d
Python: Add basic flow for class attributes
2023-11-07 11:23:42 +01:00
Rasmus Wriedt Larsen
6c50c2bfe6
Python: Highlight missing flow for class attributes
2023-11-07 11:23:42 +01:00
Rasmus Wriedt Larsen
43f1d092f1
Python: Misc: show that all tests passed in validTest
2023-11-06 16:04:58 +01:00
Rasmus Lerchedahl Petersen
58bf70d61b
Python: filter self steps from use-use flow
...
Factor out use-use flow in order to do this.
Also improve names and comments.
I also wanted to change the types in `difinitionFlowStep`, but
that broke the module instantiation.
2023-11-02 09:31:28 +01:00
Rasmus Lerchedahl Petersen
613831b2e1
Python: add test for post-update loop flow
2023-11-02 09:31:28 +01:00
Rasmus Lerchedahl Petersen
38b811b050
Python: Separate -> PhaseDependentFlow
2023-10-31 21:50:33 +01:00
Rasmus Lerchedahl Petersen
e745df6478
Python: module for import time flow
...
The logic for separating local flow into _import time_
and _runtime_ was duplicated a few times.
Create a module for it instead, and add a good qldoc.
2023-10-27 15:07:49 +02:00
Rasmus Wriedt Larsen
2bf4c32433
Python: Add syntactic support for yield in contextlib.contextmanager
2023-10-17 09:51:20 +02:00
Rasmus Wriedt Larsen
2399793c8a
Python: Expand contextmanager test even more
2023-10-17 09:41:30 +02:00
Rasmus Wriedt Larsen
883bd9f3b3
Python: Add test for type-tracking with yield
2023-10-16 12:09:07 +02:00
Taus
8e1bb4b364
Python: Accept moved consistency test results
...
Co-authored-by: Rasmus Lerchedahl Petersen <yoff@github.com >
2023-10-10 09:22:36 +00:00
Taus
e8ac258994
Python: Add missing flow for AssignmentExpr nodes
...
Also extend the tests surrounding this construct to be a bit more comprehensive.
Co-authored-by: Rasmus Lerchedahl Petersen <yoff@github.com >
2023-10-09 14:16:03 +00:00
Tom Hvitved
d3558f8579
Python: Update expected test output
2023-09-12 21:18:31 +02:00
Tom Hvitved
253f932d2a
Python: Use data flow consistency checks from shared pack
2023-08-30 15:29:41 +02:00
yoff
6e05246daa
Merge pull request #13935 from yoff/python/mad-on-externals
...
Python: MaD on externals
2023-08-28 14:04:54 +02:00
Rasmus Wriedt Larsen
9c44235782
Python: Modernize DataflowQueryTest.qll
...
Co-authored-by: Rasmus Lerchedahl Petersen <yoff@github.com >
2023-08-28 11:40:41 +02:00
Rasmus Lerchedahl Petersen
ad49eada48
Python: Do not alter codeql-workspaces.yml
...
And remove the qlpack referred to therein.
Instead we rename and duplicate the extesion file
that this qlpack pointed to.
These two extension files are kept in sync by `identical-files.json`.
2023-08-25 11:46:41 +02:00
Rasmus Wriedt Larsen
843f2681bb
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-08-18 10:09:45 +02:00
Rasmus Wriedt Larsen
ca93f4d223
Python: Accept .expected changes
2023-08-11 10:36:05 +02:00
Rasmus Wriedt Larsen
46af77c1af
Python: Include all assignments in data flow paths
...
Like Ruby did in https://github.com/github/codeql/pull/12566
2023-08-10 11:45:29 +02:00
Rasmus Wriedt Larsen
9bd5694c3f
Python: Add tests of path-graph for dataflow/taint-tracking
...
Although this is actually using taint-tracking (so we can use the +=
statement), I would personally forget to check under the
dataflow/tainttracking folder to look for such a test, so I'm opting to
keep it under the dataflow/ folder.
2023-08-10 11:44:17 +02:00
Rasmus Lerchedahl Petersen
dbc60140e0
Python: move tests to data extensions
...
For these tests, we cannot use the same mechanism, as we want the
data extensions to be available for both tests.
Instead, we create a ql-pack for the test directory and point to
the data entensions from there. This makes the extensions
available for all tests in the directory.
2023-08-10 09:17:34 +02:00
yoff
d032bf5c0e
Merge pull request #13685 from RasmusWL/captured-variables-default-param-value
...
Python: Model parameter with default value as `DefinitionNode`
2023-07-17 14:25:13 +02:00
Rasmus Wriedt Larsen
6f3cb67050
Python: Model parameter with default value as DefinitionNode
2023-07-07 11:54:50 +02:00
Rasmus Wriedt Larsen
bea07002d3
Python: Expand captured-variable test with default param
2023-07-06 17:21:29 +02:00
Jeroen Ketema
abe06e5b95
Python: Update remaining inline expectation tests to use the paramterized module
2023-07-03 10:22:35 +02:00
Rasmus Wriedt Larsen
257f9912dd
Python: Remove one more unnecessary taint test
2023-06-26 12:00:55 +02:00
Rasmus Wriedt Larsen
6cb03190fa
Python: Updates from inline test being parameterized
2023-06-26 11:43:51 +02:00
Rasmus Wriedt Larsen
0121263e03
Merge branch 'main' into python/enable-summaries-from-models
2023-06-26 11:34:12 +02:00
Rasmus Lerchedahl Petersen
86dfc7b66e
python: format
2023-06-23 08:18:06 +02:00