Summary of the check_leo script

6 views
Skip to first unread message

Edward K. Ream

unread,
12:19 PM (11 hours ago) 12:19 PM
to leo-editor
have just finished the latest round of work on PR #4484. The project appears to be complete, but I'll wait a day or two before merging the PR.

Summary of bugs
 
​The check_leo script found several bugs that neither pylint, mypy, nor pyflakes were able to report. ​See the PR for full details. Otoh, the probability of any of these bugs actually presenting themselves in actual operation is very small:

- Two bugs could only occur if someone executed seldom-used Leo commands from LeoInteg. These two bugs might not be present in LeoJS.

- The seemingly severe undo bug could only occur within user scripts. Neither Leo's core nor Leo's unit test called the offending method.

Conclusions

This has been a compelling project. It's been a ton of fun. As I said earlier, the check_leo script marks a personal milestone. This project concludes my decades-long interest in checking tools. This is a good thing. I feel liberated from a delusional obsession!

check_leo demonstrates that an application-specific script can find bugs that none of Python's heavyweight tools can find.

Imo, devs from other projects could adapt this script to their apps fairly easily. I've spent considerable time encapsulating the relevant tasks in easy-to-understand methods.

Edward

Reply all
Reply to author
Forward
0 new messages