github / github/codeql

LGTM.com - false positive: py/unreachable-statement with assert

未关闭
#2,506 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
false-positive Python
主要语言
CodeQL
星标
10.1k
派生
2.1k
平均合并
2 天 15 小时
30 天内合并 PR
141

描述

Platform: Python

**Description of the false positive**

`assert` calls will be ignored when using the `-O` option. Therefore some code shouldn't be considered as dead.

This is quite low priority. `-O` related bugs are very common, but no one really uses it. Linters have been fighting forever to know whether this should be taken into account, or simply discarded

**test.py**
```python
def hello():
assert False
return 1

print(hello())
```

**Results:**

- `python test.py` -> `AssertionError`
- `python -O test.py` -> `1`

**[Related doc:](https://docs.python.org/3/using/cmdline.html#cmdoption-o)**

> -O
> Remove assert statements and any code conditional on the value of \_\_debug\_\_. Augment the filename for compiled (bytecode) files by adding .opt-1 before the .pyc extension (see PEP 488). See also PYTHONOPTIMIZE.

**URL to the alert on the project page on LGTM.com**

https://lgtm.com/projects/g/secdev/scapy/snapshot/33177966dbe59a9c7cbed5b086f99b40c4b1ede7/files/scapy/fields.py?sort=name&dir=ASC&mode=heatmap#x551c9066f44c0ec2:1

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。