Taus
c6c6a857df
Python: Add tests
...
Also fixes an issue with the return type annotations that caused these
to not work properly.
Currently, annotated assignments don't work properly, due to the fact
that our flow relation doesn't consider flow going to the "type" part of
an annotated assignment. This means that in `x : Foo`, we do correctly
note that `x` is annotated with `Foo`, but we have no idea what `Foo`
is, since it has no incoming flow.
To fix this we should probably just extend the flow relation, but this
may need to be done with some care, so I have left it as future work.
2025-07-11 12:03:14 +00:00
Michael Nebel
2321ca59f6
Python: Update all test util paths to point to the new location.
2024-12-12 13:54:30 +01:00
Jeroen Ketema
c3ea883b11
Python: Update expected test results
2024-12-03 19:18:57 +01: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
Anders Schack-Mulligen
5950c336e2
Python: Refactor references to NormalCall.
2024-10-16 16:04:31 +02:00
Tom Hvitved
b3b9406e45
Python: Update test
2024-10-04 08:35:32 +02:00
Rasmus Wriedt Larsen
fa0c4e18fc
Python: Expand dict-content tt test even more
...
While it might be useful to track content to any lookup, it's not
something we do right now.
2024-03-14 10:43:28 +01:00
Rasmus Wriedt Larsen
4d78762ba8
Python: Ignore consistency failure
2024-03-14 10:43:28 +01:00
Rasmus Wriedt Larsen
8a7ffac19c
Python: Accept consistency failure
2024-03-14 10:43:28 +01:00
Rasmus Wriedt Larsen
92729dbbd6
Python: Support iterable unpacking in type-tracking
2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
0cf3fe4a4c
Python: Expand dict update tests
2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
dac2b57bb0
Python: type-track through dict-updates
2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
73fe596753
Python: type-tracking through dictionary construction
2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
ece8245a4b
Python: type-track through tuple content
2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
a95bb7c86b
Python: Expand function reference in content test
2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
3e878f5a0b
Python: Model django response subclass relationship
2023-12-19 17:07:02 +01:00
Rasmus Wriedt Larsen
abe6f1639a
Python: Add example of models subclassing problem
...
In reality, we only want to model this as a `rest_framework.response.Response`, since our .qll modeling is more precise for rest-framework responses than if we also modeled it as a basic django http response. (specifically, that default mime-type handling is way different).
2023-12-19 17:07:02 +01:00
Rasmus Wriedt Larsen
0fe29b6a86
Python: Recover subclass finder .expected after cherry picking commits from https://github.com/github/codeql/pull/15030
2023-12-19 17:07:01 +01:00
Rasmus Wriedt Larsen
e050f2e998
Python: Adjust subclass finder to no ESSA nodes
...
But the new test results looks very strange indeed!
2023-12-19 17:07:01 +01:00
Rasmus Wriedt Larsen
6ef9a2b11e
Python: Fix problem if import is used
...
I fixed it in both predicates... I think we might still be able to remove
`newDirectAlias` -- but with it being better, it will allow us to better test if `newImportAlias` actually cover everything we need!
2023-12-08 11:27:52 +01:00
Rasmus Wriedt Larsen
fcdc8102e2
Python: Add test highlight problem is import is used :O
2023-12-08 11:27:52 +01:00
Rasmus Wriedt Larsen
f1fd9b4c7a
Python: Fix underlying problem of not using Alias
2023-12-08 11:27:52 +01:00
Rasmus Wriedt Larsen
a956e1f613
Python: Use django View instead of MethodView
...
Due to the 'only model most specific spec' logic highlighted in previous
commit, I'm changing away from MethodView/View, and use Django view instead.
In practice this shouldn't matter at all, but for writing tests it would
have been a nice fix to only have the "same name but more specific"
logic apply when it's the same _definition_ location. We used to have
this information available, but right now we don't... so instead of
spending a lot of time rewriting the core library, I simply used a
different class :D :O :(
2023-12-08 11:27:52 +01:00
Rasmus Wriedt Larsen
03aa2e27df
Python: Explain the funky logic in Find.ql
2023-12-08 11:27:52 +01:00
Rasmus Wriedt Larsen
1f8f6dd0ec
Python: Ensure no deps visible in FindSubclass tests
2023-12-08 11:27:52 +01:00
Rasmus Wriedt Larsen
af2d783b38
Python: More examples of things to handle in find-subclass
2023-12-08 11:27:52 +01:00
Rasmus Wriedt Larsen
f19b672656
Python: Also capture alias with new name
2023-12-08 11:27:50 +01:00
Rasmus Wriedt Larsen
e7d55736b0
Python: Add test of find-subclass code
2023-12-08 11:27:50 +01:00
Rasmus Wriedt Larsen
df9fb141b8
Python: Remove old manual consistency query tests
2023-11-21 11:50:23 +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
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 Lerchedahl Petersen
1d4832cbfe
python: allow namespace packages as packages
...
remove the logic around isPotentialPackage
2023-09-29 15:10:19 +02:00
Rasmus Lerchedahl Petersen
362cf107a4
python: add tests for module import
...
- `--max-import-depth=3` to give points-to a chance
- `not_root` dir to force namespace package logic
- add usage in `example.py` to get files extracted
2023-09-29 15:10:19 +02:00
Tom Hvitved
d3558f8579
Python: Update expected test output
2023-09-12 21:18:31 +02:00
Rasmus Lerchedahl Petersen
f33aff42ad
Python: missing result was fixed
2023-08-08 12:14:57 +02:00
Jeroen Ketema
5d855594ba
Python: Use correct class in inline expectation test
...
These were missed earlier, and still referred to the classes from the legacy
interface and not the parameterized module.
2023-07-03 10:23:26 +02:00
Jeroen Ketema
8f599faf85
Python: Rewrite inline expectation tests to use parameterized module
2023-06-09 10:42:29 +02:00
Mathias Vorreiter Pedersen
e650df810d
Python: Accept consistency changes.
2023-05-03 20:33:00 +01:00
Tom Hvitved
404ead8a18
Python: Update expected test output
2023-03-16 08:40:53 +01:00
Rasmus Wriedt Larsen
d198b91c82
Python: Fix expected of call-graph after merge
...
Since the import resolution was fixed, but tests not rerun, these
expectations were not updated to reflect that we now handle them
properly 💪
2023-02-27 17:38:28 +01:00
Rasmus Wriedt Larsen
dad6221b61
Python: Accept dataflow-consistency.expected changes for now
...
As highlighted in the configuration file, there are some things to catch
up on, and we also need to apply the same fix as Ruby for **kwargs
handling.
2023-01-17 13:58:40 +01:00
Rasmus Wriedt Larsen
f8d7a367ad
Python: Rewrite test for __add__ special method
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 11:45:57 +01:00
Rasmus Wriedt Larsen
00ec3a23ba
Python: Accept fix from module-resolution PR
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
8de5cfef43
Python: Update dataflow-consistency.expected
...
After merging in main
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
e5fdeae6fc
Python: Add return (func_ref, ...) test
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
fb0cc184d9
Python: Add test of multi func def based on runtime decision
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
276a825cd0
Python: Allow same function name in call-graph tests
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
8a56b48357
Python: Support super().__new__(cls)
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
2b76964f7f
Python: Expand tests of __new__ a bit more
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
a4e6433942
Python: add support for type(self)()
2022-11-22 14:46:31 +01:00