[openstack-dev] heat run_tests.sh fails with one huge line of output
Robert Collins
robertc at robertcollins.net
Sun Feb 16 22:26:50 UTC 2014
On 17 February 2014 10:20, Mike Spreitzer <mspreitz at us.ibm.com> wrote:
> Kevin, I changed no code, it was a fresh DevStack install.
>
> Thanks Robert, I tried following your leads but got nowhere, perhaps I need
> a few more clues.
>
> I am not familiar with bzr (nor baz), and it wasn't obvious to me how to fit
> that into my workflow --- which was:
> (1) install DevStack
> (2) install libmysqlclient-dev
> (3) install flake8
> (4) cd /opt/stack/heat
> (5) ./run_tests.sh
I would have expected run_tests.sh to tox which creates a venv, but
heat seems different. So you'll need to install testrepository via
your system tox, not one from a venv.
So the steps to install testrepository outside a venv will be:
$ bzr branch lp:testrepository
$ sudo pip install ./testrepository
> I guessed that your (A) would apply if I use a venv and go between (1) the
> `python tools/install_venv.py` inside run_tests.sh and (2) the invocation
> inside run_tests.sh of its run_tests function.
No - see above.
> So I manually invoked
> `python tools/install_venv.py`, then entered that venv, then issued your
I suspect heat hasn't kept up with run_tests evolution from other
projects - install_venv was a pre-tox thing IIRC.... I think its
somewhat unhelpful, since AFAICT it's main purpose is to confuse
people :).
> commands of (A) (discovered I needed to install bzr and did so), then exited
> that venv, then invoked heat's `run_tests -V -u` to use the venv thus
> constructed. It still produced one huge line of output. Here I attach a
> typescript of that:
The 'd' is because you're human-reading a binary protocol (which the
testrepository trunk fixes). Try the import without the 'd'. Also be
sure to be trying the import within the tox venv, which run_tests will
have triggered.
> You will see that the huge line still ends with something about import
> error, and now lists one additional package ---
> heat.tests.test_neutron_firewalld. I then tried your (B), testing manual
> imports. All worked except for the last, which failed because there is
> indeed no such thing (why is there a spurrious 'd' at the end of the package
> name?). Here is a typescript of that:
So, all the listed imports fail to import from the test run. It's odd
that they are succeeding manually.
You could try patching your testtools with
https://github.com/testing-cabal/testtools/pull/77 to get a direct
readout of the error.
-Rob
--
Robert Collins <rbtcollins at hp.com>
Distinguished Technologist
HP Converged Cloud
More information about the OpenStack-dev
mailing list