File: pydoctests

package info (click to toggle)
mini-buildd 2.4.7
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,632 kB
  • sloc: python: 9,994; sql: 1,597; sh: 1,466; javascript: 98; lisp: 90; cpp: 70; makefile: 69
file content (36 lines) | stat: -rwxr-xr-x 824 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash -e

mbd_modules()
{
	local f
	for f in $(./pysources modules); do
		if [ "${f}" == "./setup.py" -o "${f}" == "./manual/conf.py" ]; then  # can't be used for doctests
			continue
		fi
		local module="$(basename $(tr '/' '.' <<< ${f:6}) '.py')"
		printf "=> Doctest on %s (%s)...\n" "${f}" "${module}"
		( cd ./src/ && ./run-doctest "${module}" )
	done
}

mbd_scripts()
{
	local f
	for f in $(./pysources scripts); do
		# Workaround: Temporary *.py symlink, else doctest won't import script
		local f_module="${f}.py"
		ln -s -f "$(basename "${f}")" "${f_module}"
		printf "=> Doctest on script %s (%s)...\n" "${f}" "${f_module}"
		( cd ./src/ && python3 -B -m doctest "../${f_module}" )
		rm "${f_module}"
	done
}

python3 ./setup.py version_py

if [ -z "${1}" ]; then
	mbd_modules
	mbd_scripts
else
	mbd_${1}
fi