Now uses the same list of Python environments as used by
'tools/setup_base_environments.py' stored inside the project's main
configuration file 'setup.cfg'.
Updated todo list.
This work is done as a part of preparing the code base to make it reusable in
the planned tools/run_all_tests.cmd Python port as there exactly the same
Environment objects will need to be created.
As before, configured project test environment startup commands use the '.cmd'
suffix as that matches the startup commands used on the current maintainer's
notebook, but now that suffix is no longer hardcoded and is explicitly specified
in the project's configuration file instead.
This work is done as a part of preparing the code base to make it reusable in
the planned tools/run_all_tests.cmd Python port as there Environment objects
will only be used to run the project test suite in a specific Python environment
and will not require additional data collected about that environment.
Now stores its script folder, project folder & ini file paths instead of having
each of its derived classes process that configuration for themselves.
This work is done as a part of preparing the code base to make it reusable in
the planned tools/run_all_tests.cmd Python port.
Since we import too many functions from the suds_devel.utility module, it seems
cleaner to import the module and use its functions by referencing them using an
explicit module prefix instead of importing each one of those functions
explicitly into the local namespace.
pytest 2.6.0 restores Python 3.1 compatibility that has been causing our project
testing to fail in that environment. Note that pytest 2.6.0 has not yet been
officially released but our project's testing has been tried out and found to be
working with the current pytest development tip.
Tested using both the 'setup.py test' command and the
'tools/setup_basic_environments.py' script.
Duplicate code extracted to new modules under the suds_devel package:
- specifying the project's requirements - requirements.py
- specifying the used setuptool install script - ez_setup_versioned.py
Updated todo list.
The test suite is no longer installed together with the project and can now be
run from the project's source distribution. This resolves the issue of the suds
test suite confusing users by getting installed as a top level tests package in
their Python environment.
Project to be tested now need to be explicitly installed prior to running its
tests using pytest, except in case of Python 2 tests being run from the top
level project folder. This requires the user to install the project (suggested
way is to install it in editable mode using 'pip install -e') but also allows
him to run the tests on other non-sandbox project versions, e.g. an externally
installed version.
Project testing now requires the six Python 2/3 compatibility support package
(installed automatically, together with other test requirements).
Test support code now moved to a separate testutils package located under the
tests folder.
Updated project README.rst & HACKING.rst docs.
Minor stylistic changes.
Installs packages into multiple Python environments so they can be used for
testing this project. This automates all the previously manually done work on
setting up those environments.
The script contains a multitude of open TODO comments and should still be
considered 'work in progress', but successfully gets the work done at least on
one Windows 7 x64 SP1 machine with 17 different parallel Python installations.
Updated relevant HACKING.rst docs.
Relevant configuration added to the main project Python configuration file
'setup.cfg'.
All Python modules indended for use in different project development utility
scripts have been placed under the suds_devel package folder located under the
tools project folder.
The new scripts:
- are included in the project's source distribution,
- are not installed with the project
- do not need py2to3 processing
- do not have any tests of their own yet
tools/__* folders get created and used as local caches by the new
tools/setup_base_environments.py development script and so must not included in
the project's source distribution.