mirror of
https://github.com/github/codeql.git
synced 2026-05-02 20:25:13 +02:00
Python: Add simple test of AttrRead/AttrWrite
This commit is contained in:
4
python/ql/test/experimental/attrs/AttrReads.expected
Normal file
4
python/ql/test/experimental/attrs/AttrReads.expected
Normal file
@@ -0,0 +1,4 @@
|
||||
| test.py:6:9:6:16 | ControlFlowNode for Attribute | test.py:6:9:6:12 | ControlFlowNode for self | foo |
|
||||
| test.py:9:1:9:9 | ControlFlowNode for Attribute | test.py:9:1:9:5 | ControlFlowNode for myobj | foo |
|
||||
| test.py:10:1:10:9 | ControlFlowNode for Attribute | test.py:10:1:10:5 | ControlFlowNode for myobj | foo |
|
||||
| test.py:13:1:13:21 | ControlFlowNode for getattr() | test.py:13:9:13:13 | ControlFlowNode for myobj | foo |
|
||||
5
python/ql/test/experimental/attrs/AttrReads.ql
Normal file
5
python/ql/test/experimental/attrs/AttrReads.ql
Normal file
@@ -0,0 +1,5 @@
|
||||
import python
|
||||
private import semmle.python.dataflow.new.DataFlow
|
||||
|
||||
from DataFlow::AttrRead read
|
||||
select read, read.getObject(), read.getAttributeName()
|
||||
4
python/ql/test/experimental/attrs/AttrWrites.expected
Normal file
4
python/ql/test/experimental/attrs/AttrWrites.expected
Normal file
@@ -0,0 +1,4 @@
|
||||
| test.py:5:9:5:16 | ControlFlowNode for __init__ | test.py:4:1:4:20 | ControlFlowNode for ClassExpr | __init__ | test.py:5:5:5:28 | ControlFlowNode for FunctionExpr |
|
||||
| test.py:6:9:6:16 | ControlFlowNode for Attribute | test.py:6:9:6:12 | ControlFlowNode for self | foo | test.py:6:20:6:22 | ControlFlowNode for foo |
|
||||
| test.py:9:1:9:9 | ControlFlowNode for Attribute | test.py:9:1:9:5 | ControlFlowNode for myobj | foo | test.py:9:13:9:17 | ControlFlowNode for Str |
|
||||
| test.py:12:1:12:25 | ControlFlowNode for setattr() | test.py:12:9:12:13 | ControlFlowNode for myobj | foo | test.py:12:23:12:24 | ControlFlowNode for IntegerLiteral |
|
||||
5
python/ql/test/experimental/attrs/AttrWrites.ql
Normal file
5
python/ql/test/experimental/attrs/AttrWrites.ql
Normal file
@@ -0,0 +1,5 @@
|
||||
import python
|
||||
private import semmle.python.dataflow.new.DataFlow
|
||||
|
||||
from DataFlow::AttrWrite write
|
||||
select write, write.getObject(), write.getAttributeName(), write.getValue()
|
||||
13
python/ql/test/experimental/attrs/test.py
Normal file
13
python/ql/test/experimental/attrs/test.py
Normal file
@@ -0,0 +1,13 @@
|
||||
# This file is a simple test of which nodes are included with AttrRead/AttrWrite.
|
||||
# For actual data-flow tests, see fieldflow/ dir.
|
||||
|
||||
class MyObj(object):
|
||||
def __init__(self, foo):
|
||||
self.foo = foo
|
||||
|
||||
myobj = MyObj("foo")
|
||||
myobj.foo = "bar"
|
||||
myobj.foo
|
||||
|
||||
setattr(myobj, "foo", 42)
|
||||
getattr(myobj, "foo")
|
||||
Reference in New Issue
Block a user