This ports Nova/Neutron's'(and others) "pretty tox" script into tools/
and establishes it within tox.ini. This causes a vanilla test run
to output the full package names of all tests, the index of the
subprocess it's being run within, as well as the total run time
and status of each test. It also captures stdout/stderr and reports on that
as well; revealing that oslo.db's tests have a lot of deprecation
warnings in fact.
The display of this runner shows a lot more information than the
default testr/subunit thing which is somewhat useless, and for
those who are actually watching the test output, this is what
we'd most like to see.
Pretty Tox. Pretty please, can we have?
Change-Id: I50d1c6e998425964dd9a5497c2bc1e9145be3120
Move the public API out of oslo.db to oslo_db. Retain the ability to
import from the old namespace package for backwards compatibility for
this release cycle.
Blueprint: drop-namespace-packages
Change-Id: Ie96b482b9fbcb1d85203ad35bb65c1f43e912a44
Remove the specification in tox.ini that _ is a builtin so that
it will no longer assume that _ does not need to be imported.
This helps ensure that the _ from i18n is used.
Activating this check did not flag any violations.
Change-Id: Idc4d6259d4eb2db66e7122535bc42f8647049a06
Get a tox environment for py34/py33 that doesn't stop the existing
py26 and py27 to continue working with the adjusted test-requirements since
MySQL-python and sqlalchemy-migrate do not yet exist in 3.x.
Note that this does not fully make py34 work yet but it starts to work
in this direction of getting it to work (which will apparently require
quite a big more tweaking).
Change-Id: I024957a76f2de0bd406d14da5af6e4caf3d493e7
Module `gettextutils` from common code was graduated to oslo.i18n, so it
would be great if we reuse this library.
Change-Id: Ie5836b82723fc80c1d54e5e65eac8565cf905c5a
Uses keyword params for i18n string to pass H703 check.
Removes H703 from ignore setting in tox.ini.
Change-Id: I7b4f48be739167aed7dcb33a8a70e24adfe02672
Adds empty line to multilines docs to pass H405 check.
Removes H405 from ignore setting in tox.ini.
Change-Id: I0516fb12765bf961a4488570a6c73b80f667d972
Changes import orders to H305 check in hacking 0.9.x
Leaves H305 in ignore setting in tox.ini
due to hacking is confused by oslo.* namespace
when checking import rules
see https://bugs.launchpad.net/hacking/+bug/1329363
Change-Id: I1701574b5e1a8cde1a044cda90a0c95360bb0825
Migrations should be tested with real database backends. For this goal
intended number of base test cases which used in current implementation.
Previously there were two ways to run migration tests: using
opportunistic test cases (default way we've been using on CI) and
by using database connection strings, specified in test_migrations.conf,
for every particular database test case. For the sake of simplicity and
consistency we are moving to using of opportunistic db test cases here.
With this change we are free from locking, so we don't need `lockfile`
anymore.
Closes-Bug: #1327397
Closes-Bug: #1328997
Change-Id: I92b1dcd830c4755f429a0f6529911e607c2c7de7
This change presents one way we might include test support
for oslo.db against specific SQLAlchemy major releases, currently
including the 0.7, 0.8, and 0.9 series. As we will want to
begin including features within oslo.db that target advanced
and in some cases semi-public APIs within SQLAlchemy, it will
be important that we test these features against each major release,
as there may be variances between major revs as well as
version-specific approaches within oslo.
To accomplish this, I was not able to override "deps" alone,
as the SQLAlchemy revision within requirements.txt conflicts
with a hand-entered requirement, and due to pip's lack of
a dependency resolver (see https://github.com/pypa/pip/issues/988
and https://github.com/pypa/pip/issues/56) I instead overrode
"commands". I don't know that this is the best approach, nor
do I know how the tox.ini file is accommodated by CI servers,
if these CI servers would need their tox invocation altered or
how that works.
This patch may or may not be the way to go, but in any case
I'd like to get input on how we can ensure that more SQLAlchemy-specific
oslo.db features can be tested against multiple SQLAlchemy versions.
Note that even with this change, running the "sqla_07" environment
does in fact produce test failures, see http://paste.openstack.org/show/85263/;
so already oslo.db expects behaviors that are not present in
all SQLAlchemy versions listed in the common requirements.txt.
Change-Id: I4128272ce15b9e576d7b97b1adab4d5027108c7c
In order to keep this patch to just a requirements bump, ignore new and
stricter hacking rules that are being triggered. Fixing up the code and
turning these on is out of scope of this patch and is for future patches.
Change-Id: I632655eb975a9f6c2b922c065c029e9870bc2b70
In oslo-incubator Oslo incubator multiple functions can be imported
from gettextutils on one line. So we should allow such imports in
hacking.
Change-Id: Ic55996987d312839c5e6863a1eb99faea3b575a9
`tox -e cover` would fail with
ERROR: InvocationError: could not find executable
'OSLO_LOCK_PATH=/tmp/'
Change-Id: I6208847f25a47ff3d4e7704249a02baecaac2d7e