Rasmus Lerchedahl Petersen
1b0687e2f2
Python: update expectations correctly
2020-05-15 13:25:20 +02:00
Rasmus Lerchedahl Petersen
81a5692935
Python: handle \uxxxx and refactor
2020-05-14 21:22:21 +02:00
Rasmus Lerchedahl Petersen
21d1ea5d96
Merge branch 'boolDefault' of github.com:yoff/codeql into boolDefault
2020-05-14 16:06:58 +02:00
Rasmus Lerchedahl Petersen
1817d2af2b
Make test for wrong bool type pass
2020-05-14 15:56:57 +02:00
Rasmus Lerchedahl Petersen
7b004c3746
Python: Add test for wrong exception type
2020-05-14 15:42:52 +02:00
yoff
e5eadf9126
Update python/ql/test/query-tests/Functions/general/protocols.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-05-14 07:34:53 +02:00
Rasmus Lerchedahl Petersen
c7ddd2c20c
Python: make test for unicode names pass
2020-05-14 07:31:03 +02:00
Rasmus Lerchedahl Petersen
de50aabd60
Python: test for unicode names
2020-05-14 07:30:29 +02:00
Rasmus Lerchedahl Petersen
4c7cf2ac2d
Python: Make test pass
...
Also checked that the OP's snapshot no longer has alerts from
`duplicate_char_in_class`
2020-05-14 07:06:59 +02:00
Rasmus Lerchedahl Petersen
f9f52b0105
Python: test for unicode in raw strings
2020-05-13 18:47:36 +02:00
Rasmus Lerchedahl Petersen
d9d86e1f56
Make test pass
2020-05-13 12:16:11 +02:00
Rasmus Lerchedahl Petersen
6a35c6b4d4
Test: __bool__ does not raise TypeError by default
2020-05-12 15:28:12 +02:00
Rasmus Wriedt Larsen
8150c78ae0
Python: In flask, taint routed prameters for variable rules
...
Fixes https://github.com/github/codeql-python-team/issues/79
2020-05-12 15:02:32 +02:00
Rasmus Wriedt Larsen
7d5e35a7aa
Python: Expand flask tests to use "variable rules"
...
which is what flask calls them. wildcard rules in bottle, django doesn't even
give them a proper term :(
2020-05-12 14:23:24 +02:00
Taus
2502d1c3ed
Merge pull request #3410 from RasmusWL/python-fix-3397
...
Python: More safe methods for py/modification-of-default-value
2020-05-07 15:28:24 +02:00
Taus
964b8478dc
Merge pull request #3405 from jcreedcmu/jcreed/jump-to-def-python
...
Python: Refactor definitions query, add queries for ide search
2020-05-07 12:51:35 +02:00
Jason Reed
5934345fe3
Python: Fix formatting.
2020-05-06 08:48:45 -04:00
Rasmus Wriedt Larsen
f1630983d3
Python: Cleanup default-indexing upgrade script
2020-05-06 09:57:07 +02:00
Rasmus Wriedt Larsen
010d5fb769
Python: Fix indexes of keyword-only defaults in upgrade script
...
Works like a charm ;)
2020-05-06 09:57:07 +02:00
Rasmus Wriedt Larsen
a15833d194
Python: DB upgrade script for default-indexing change
...
Follow this excellent guide:
https://github.com/github/codeql-c-extractor-team/blob/master/docs/db-upgrade.md
2020-05-06 09:56:53 +02:00
Jason Reed
c759e891d0
Python: Exclude additional tag from LGTM suites
2020-05-05 09:43:40 -04:00
jcreedcmu
6cf30ef87a
Update python/ql/src/analysis/DefinitionTracking.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2020-05-05 09:40:54 -04:00
Rasmus Wriedt Larsen
6488714758
Python: Autoformat
2020-05-05 11:38:17 +02:00
Rasmus Wriedt Larsen
07ae40206f
Python: Don't allow getParameter(-1) for BoundMethodValue
...
As per discussion in the PR
2020-05-05 11:37:10 +02:00
Rasmus Wriedt Larsen
5d5d412b78
Python: Add test of safe methods for py/modification-of-default-value
2020-05-05 11:14:37 +02:00
Rasmus Wriedt Larsen
4da5222255
Python: More safe methods for py/modification-of-default-value
...
Fixes https://github.com/github/codeql/issues/3397
2020-05-05 11:09:05 +02:00
Rasmus Wriedt Larsen
affca1a728
Python: Add test-cases using keyword arguments for builtin function
2020-05-05 10:26:25 +02:00
Geoffrey White
a70f534458
Sync identical files.
2020-05-05 09:18:05 +01:00
Rasmus Wriedt Larsen
dfe7c8270b
Python: Clean up trailing whitespace
2020-05-05 09:55:09 +02:00
Rasmus Wriedt Larsen
87d7738b6e
Python: Expand QLDoc for get[Named]ArgumentForCall
2020-05-05 09:54:54 +02:00
Rasmus Wriedt Larsen
061bbb82f5
Python: Restructure getNamedArgumentForCall
...
So it matches the structure of getArgumentForCall -- call.getArgByName first!
2020-05-05 09:00:55 +02:00
Rasmus Wriedt Larsen
838106d49c
Python: Refactor get[Named]ArgumentForCall
...
Also fixed a bug for BoundMethodValue, as highlighted in the expected diff 👍
2020-05-04 20:51:23 +02:00
Rasmus Wriedt Larsen
bc92c26e12
Python: Add BoundMethodValue
2020-05-04 20:51:12 +02:00
Rasmus Wriedt Larsen
96fdb7a5b6
Python: Add tests for getParameter[byName]
...
These already have results for BoundMethodValue, although
1) it's a bit strange that `getParameter(-1)` has results
2) why does `Method(Function C.n, class C)` exists? this would only be relevant
if `n` was a classmethod, but it isn't. It's not a problem that it exsits per
se, but curious.
2020-05-04 20:51:04 +02:00
Rasmus Wriedt Larsen
e9859ad96d
Python: Fix getArgumentForCall when using keyword arguments
...
Yikes :|
2020-05-04 20:50:56 +02:00
Rasmus Wriedt Larsen
acb506db21
Python: Add test for getNamedArgumentForCall
...
and rename the one for getArgumentForCall
2020-05-04 20:50:32 +02:00
Rasmus Wriedt Larsen
9ec32ee1c1
Python: Add test-cases using keyword arguments
2020-05-04 20:50:19 +02:00
Rasmus Wriedt Larsen
fc0b0221f0
Python: Add test-cases for BuiltinFunction and BuiltinMethod
2020-05-04 20:50:14 +02:00
Rasmus Wriedt Larsen
f624754390
Python: Use Value in GetACAll test
...
That was not possible when using the old Object-API, but in Value-API getACall
is defined on all Values.
2020-05-04 20:50:06 +02:00
Rasmus Wriedt Larsen
06b67e0d32
Python: Modernise test/library-tests/PointsTo/calls/*
2020-05-04 20:49:57 +02:00
Rasmus Wriedt Larsen
a5289bd708
Python: Use Object in CallRefersTo test
...
Since other things than FunctionObject can be called ;)
2020-05-04 20:49:47 +02:00
Rasmus Wriedt Larsen
7b8b4af6d2
Python: Add test for call.getFunction().refersTo
...
Showing that
`call.getFunction().refersTo(func)` gives different results from
`call = func.getACall()`
2020-05-04 20:49:19 +02:00
Jason Reed
c34fa840a2
Python: Use NiceLocationExpr::hasLocationInfo for ide jump-to-def
2020-05-04 11:36:54 -04:00
Jason Reed
b0f72ebb56
Python: Refactor definitions query, add queries for ide search
...
This enables jump-to-definition and find-references in the VS Code
extension, for python source archives.
2020-05-04 11:27:30 -04:00
Rasmus Wriedt Larsen
16e9d76e22
Merge branch 'master' into python-keyword-only-args
2020-05-04 11:49:00 +02:00
Taus
33f4503ac3
Merge pull request #3213 from RasmusWL/python-iter-str-seq-with-tests
...
Python: supress non-useful results (w/ tests) for iter str/seq query
2020-05-01 11:04:05 +02:00
Rasmus Wriedt Larsen
e569d7ae41
Merge branch 'master' into python-parse_qs
2020-04-30 17:05:17 +02:00
Rasmus Wriedt Larsen
e0b4518a3e
Merge branch 'master' into python-improve-file-taint
2020-04-30 11:24:29 +02:00
Rasmus Wriedt Larsen
c5e14f5c0d
Python: Handle defaults and annotations for keyword-only arguments
...
This commit is based on a change to the extractor
2020-04-27 17:24:10 +02:00
Rasmus Wriedt Larsen
1fcbb6e9f4
Python: Better test for Argument.getDefault(i)
...
Default values for positional arugments follow a rule, so if an argument has a
default value, later positional arguments must also have default values.
The database only stores the actual default values, and nothing about the
arguments that doesn't have default values.
This turns out to be a major problem for Argument.getKwDefault(i), since default
values for keyword-only arguments doesn't have the same rule. So if you know
there is one default value, you can't tell if it is associated with `foo` or
`bar`, as in the examples below:
```
def a(*, foo=None, bar):
pass
def b(*, foo, bar=None):
pass
```
2020-04-27 17:22:56 +02:00