Setup functions for CPython development
This commit is contained in:
parent
c8bd4750b8
commit
39aa41fb2d
1 changed files with 88 additions and 0 deletions
88
zsh/func/setup-cpython
Normal file
88
zsh/func/setup-cpython
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
#
|
||||||
|
# Set up for CPython development.
|
||||||
|
#
|
||||||
|
# Eryn Wells <eryn@erynwells.me>
|
||||||
|
|
||||||
|
|
||||||
|
function _usage-setup-cpython
|
||||||
|
{
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $1 [-h] [-r root]
|
||||||
|
|
||||||
|
Setup for CPython development.
|
||||||
|
|
||||||
|
Arguments:
|
||||||
|
-h Show this help.
|
||||||
|
-r root Use the given directory as the root of the CPython source tree.
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function setup-cpython
|
||||||
|
{
|
||||||
|
root="$HOME/Code/cpython"
|
||||||
|
coverage="$HOME/Code/coveragepy"
|
||||||
|
|
||||||
|
while getopts 'hr:' opt; do
|
||||||
|
case $opt in
|
||||||
|
(h)
|
||||||
|
_usage-setup-cpython "$0"
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
(r)
|
||||||
|
root="$OPTARG"
|
||||||
|
;;
|
||||||
|
(*)
|
||||||
|
echo "Invalid argument: $OPTARG" 1>&2
|
||||||
|
return -1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [[ ! -d "$root" ]]; then
|
||||||
|
print_error "Invalid source root: $root"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export coverage
|
||||||
|
export lib="$root/Lib"
|
||||||
|
export root
|
||||||
|
|
||||||
|
function cov
|
||||||
|
{
|
||||||
|
local cmd
|
||||||
|
case "$1" in
|
||||||
|
(html)
|
||||||
|
local module="$root/Lib/$2"
|
||||||
|
if [[ ! -d "$module" ]]; then
|
||||||
|
if [[ -f "$module.py" ]]; then
|
||||||
|
module="$module.py"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
cmd="html -i --include=$module"
|
||||||
|
;;
|
||||||
|
(report)
|
||||||
|
cmd="report"
|
||||||
|
;;
|
||||||
|
(run)
|
||||||
|
cmd="run --pylib --source=$2 Lib/test/regrtest.py test_$2"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
(cd "$root"; ./python.exe "$coverage" "$cmd")
|
||||||
|
}
|
||||||
|
|
||||||
|
unsetup_functions=(unsetup-cpython)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function unsetup-cpython
|
||||||
|
{
|
||||||
|
unset coverage
|
||||||
|
unset lib
|
||||||
|
unset root
|
||||||
|
|
||||||
|
unfunction cov
|
||||||
|
}
|
||||||
|
|
||||||
|
setup-cpython "$@"
|
Loading…
Add table
Add a link
Reference in a new issue