This commit is contained in:
2026-09-12 14:19:56 +08:00
commit 87ab0b794b
130 changed files with 30042 additions and 0 deletions

27
engine/tests/fixtures/demo_sort.py vendored Normal file
View File

@@ -0,0 +1,27 @@
"""Demo script for users: contains several detectable anti-patterns.
- membership test against a list inside a loop -> membership_in_list
- nested loops -> nested_loops
- string concatenation with += inside a loop -> str_concat_loop
"""
def build_report(rows, allow):
out = ""
for r in rows:
if r in allow: # O(n) membership test on a list
out += str(r) + "," # string += accumulation
for other in rows: # nested loop -> O(n^2)
if r == other:
pass
return out
def main():
rows = list(range(400))
allow = list(range(0, 400, 2))
for _ in range(30):
build_report(rows, allow)
main()

16
engine/tests/fixtures/nested_calls.py vendored Normal file
View File

@@ -0,0 +1,16 @@
def leaf():
s = 0
for i in range(20000):
s += i
return s
def mid():
return sum(leaf() for _ in range(3))
def main():
return mid()
main()

19
engine/tests/fixtures/with_imports.py vendored Normal file
View File

@@ -0,0 +1,19 @@
"""scope=all 的测试 fixture —— 故意 import 一些标准库并实际用它们,
让 cProfile 能归因到非用户脚本里的帧。"""
import json
import time
def payload():
# 强制 json.loads / json.dumps 进 cProfile 栈
return json.loads(json.dumps({"a": 1, "b": [1, 2, 3]}))
def run():
for _ in range(50):
payload()
# 让 time.sleep / 调度器也进栈 —— 注意 sleep < cProfile tick 的话归不到
# 它自己头上,但 time 模块的辅助函数会被经过
run()