[tahoe-dev] [tahoe-lafs] #737: python2.5 setup.py test runs CPU to 100% on 32-bit single-core NetBSD "4"
tahoe-lafs
trac at allmydata.org
Sat Jun 20 01:37:26 PDT 2009
#737: python2.5 setup.py test runs CPU to 100% on 32-bit single-core NetBSD "4"
---------------------------+------------------------------------------------
Reporter: midnightmagic | Owner: warner
Type: defect | Status: new
Priority: major | Milestone: 1.5.0
Component: code | Version: 1.4.1
Keywords: | Launchpad_bug:
---------------------------+------------------------------------------------
Comment(by warner):
righto. You had the Tahoe unit tests running, which means it was able to
import or build Foolscap and everything that Foolscap depends upon, so
things
should probably be pretty easy.
First step, download the foolscap-0.4.2 tarball from
http://foolscap.lothar.com/trac (the front page has a download link), or
from
http://pypi.python.org (search for "foolscap" and you'll get a page with
download links).
Then unpack it and try running "make test". If that works, jump to the
"trial" step below. (/usr/bin/trial is the program that runs the unit
tests.
it comes from Twisted. "make test" is a simple wrapper for invoking
trial.)
If that can't find a "trial" executable, or if it complains about
!ImportErrors, then you may need to install one or more of the Foolscap
dependencies. The dependency graph looks like:
* Foolscap requires Twisted
* Twisted requires zope.interface (note: zope.interface is a tiny tiny
portion of the Zope package, less than 1% by weight. We don't need all
of
Zope. Don't let the enormous size of Zope scare you)
* Foolscap requires pyopenssl
* pyopenssl links against the OpenSSL libraries (.a/.so/.h)
Tahoe goes to great lengths to hide the dependencies from you, by
downloading
and installing everything that isn't already available on the system (and
sometimes even things which *are* on the system, but that's a bug). It can
only install python things, though.. it doesn't know how to build
libopenssl.a .
If you were to install Tahoe, you'd get everything that Foolscap needs too
(Twisted, zope.interface, pyopenssl). That might not include executable
scripts like /usr/bin/trial though.
Foolscap does not behave this way: you have to satisfy its dependencies
yourself.
So, if there's no "trial" on your $PATH, then download the Twisted tarball
from http://twistedmatrix.com , unpack it, and do "sudo python setup.py
install" (if you're willing to install stuff to /usr/lib and /usr/bin .. I
prefer packages or GNU stow, so I usually do "sudo python setup.py install
--prefix /usr/local/stow/XYZ" and then "cd /usr/local/stow && stow -v XYZ"
to
put it into place in /usr/local/bin and /usr/local/lib). I believe that
Twisted includes a copy of zope.interface and will install it if
necessary..
no need to download something extra.
After that, "{{{trial --version}}}" should work, so try foolscap's "make
test"
again.
Foolscap will skip the crypto tests if pyopenssl is not installed, but for
this bug, we don't care about those.
Then running "{{{trial --until-failure foolscap.test.test_eventual}}}" in
the
foolscap source directory will tell it to run that one specific
test_eventual
over and over again until something fails.
hope that helps.. grab me on IRC if you want to walk through this
together.
--
Ticket URL: <http://allmydata.org/trac/tahoe/ticket/737#comment:8>
tahoe-lafs <http://allmydata.org>
secure decentralized file storage grid
More information about the tahoe-dev
mailing list