Regression¶
There is now a, more or less, fully automated regression. I setup a regression directory like this:
- regression (static)
|- regress.sh
- regression (dynamic)
|- tarballs
|- srcs
|- 3.4.7
|- ...
|- 3.7.0b2
|- libedit
|- gawk (optional)
The regress.sh
script implements a vast amount of functionality
all in POSIX /bin/sh – for portability. I had run into various issue
trying to get gmake and bmake to agree on a Makefile, then gave up.
The shell-script now does even more than the preceeding Makefiles
with some dependency checks.
The process goes like this:
./regress.sh fetch
- downloads a tarball of each Python release (3.X) to test, along with libedit and tools. It also extracts the tarballs into srcs../regress.sh venvs
- builds Python versions and all virtual-envs./regress.sh install
- installs pyeditline via PIP into each virtual-envscript test.log
- log the console. This is necessary because the extension must run in a TTY – redirections fail miserably./regress.sh check
- runs the unittest on every virtual-envexit
- End the script session.
Configurations¶
The regress.sh script mainly looks at environment-variables for configuration. Overriding these can be helpful to do specific testing.
VER - Sets the versions of Python to work with. (Quote it for multiple.) CFG - Sets the configurations to test – default: “dist builtin custom”
Have a look at:
regress.sh help
to gain more insight into the commands and usage. For those of you who are hard-core – read the source.