variety:wip/argparse

Last commit made on 2018-07-22
Get this branch:
git clone -b wip/argparse https://git.launchpad.net/variety

Branch merges

Branch information

Name:
wip/argparse
Repository:
lp:variety

Recent commits

5ca8331... by James Lu

[WIP] begin migrating optparse code to argparse

7b9efc0... by James Lu

Re-add -vvvv and -vvvvv to profile the entirety of variety + variety_lib

This is per the original command line help "-vv shows even finer debugging messages, -vvv debugs variety_lib too", which wasn't actually being done!

bbbf96d... by James Lu

ModuleProfiler: also allow profiling target paths (both files and directories)

c62dd6b... by James Lu

ModuleProfiler: split log_all() into log_class() and log_module()

45b39b1... by James Lu

Remove --debug-smart option; the Smart code doesn't exist anymore

3243b3a... by James Lu

ModuleProfiler: multithreadify

3afc782... by James Lu

ModuleProfiler: trace into non-target methods at a configurable max depth

683a32c... by James Lu

Replace LogMethodCalls with a profiler-based logging system

The existing implementation broke in Python 3 because of its removal of "unbound methods" - i.e. functions
that require a class instance but are accessed as a class attribute. According to [1], this makes determining
the class of an instance method less than trivial when referred to from an instance attribute, since a bare
function object is returned instead.

This new logger works a bit differently - it still supports filtering by packages, but i doesn't log function
parameters because those are not isolated in Python frames. However, it is able to track the *exit* and line numbers
of functions, which IMO are also very useful.

[1]: https://stackoverflow.com/questions/3589311/get-defining-class-of-unbound-method-object-in-python-3

d51c85f... by James Lu

Revert "Util: rewrite LogMethodCalls for Python 3; fixes verbose mode"

This reverts commit 2df3521da54dee2149602f08d9c8ae2f2b6ece34.

0a90046... by James Lu

Revert "Util: more log_all() hackery..."

This reverts commit acfed09aeba59b8cf8034206b6a5f57d75a938d9.