mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-20 13:33:09 +00:00
test: make tests stop relying on pyutil version class accepting the string 'unknown' for its version, and make them forward-compatible with the future Python Rational Version Numbering standard
This commit is contained in:
parent
84cd0d991a
commit
fd17d63c95
@ -81,14 +81,32 @@ class BinTahoe(common_util.SignalMixin, unittest.TestCase, SkipMixin):
|
||||
out, err, rc_or_sig = res
|
||||
self.failUnlessEqual(rc_or_sig, 0, str(res))
|
||||
|
||||
# Fail unless the package is *this* version *and* was loaded from *this* source directory.
|
||||
required_ver_and_path = "%s: %s (%s)" % (allmydata.__appname__, allmydata.__version__, srcdir)
|
||||
self.failUnless(out.startswith(required_ver_and_path),
|
||||
str((out, err, rc_or_sig, required_ver_and_path)))
|
||||
# Fail unless the allmydata-tahoe package is *this* version *and*
|
||||
# was loaded from *this* source directory.
|
||||
|
||||
self.failIfEqual(allmydata.__version__, "unknown",
|
||||
"We don't know our version, because this distribution didn't come "
|
||||
"with a _version.py and 'setup.py darcsver' hasn't been run.")
|
||||
verstr = str(allmydata.__version__)
|
||||
|
||||
# The Python "rational version numbering" convention
|
||||
# disallows "-r$REV" but allows ".post$REV"
|
||||
# instead. Eventually we'll probably move to that. When we
|
||||
# do, this test won't go red:
|
||||
|
||||
ix = verstr.rfind('-r')
|
||||
if ix != -1:
|
||||
altverstr = verstr[:ix] + '.post' + verstr[ix+2:]
|
||||
else:
|
||||
ix = verstr.rfind('.post')
|
||||
if ix != -1:
|
||||
altverstr = verstr[:ix] + '-r' + verstr[ix+5:]
|
||||
else:
|
||||
altverstr = verstr
|
||||
|
||||
ad = os.path.dirname(os.path.dirname(os.path.realpath(allmydata.__file__)))
|
||||
|
||||
required_ver_and_path = "%s: %s (%s)" % (allmydata.__appname__, verstr, ad)
|
||||
alt_required_ver_and_path = "%s: %s (%s)" % (allmydata.__appname__, altverstr, ad)
|
||||
|
||||
self.failUnless(out.startswith(required_ver_and_path) or out.startswith(alt_required_ver_and_path), (out, err, rc_or_sig, required_ver_and_path))
|
||||
d.addCallback(_cb)
|
||||
return d
|
||||
|
||||
|
@ -753,8 +753,27 @@ class SystemTest(SystemTestMixin, unittest.TestCase):
|
||||
d = getPage(self.introweb_url, method="GET", followRedirect=True)
|
||||
def _check(res):
|
||||
try:
|
||||
self.failUnless("%s: %s" % (allmydata.__appname__, allmydata.__version__)
|
||||
in res)
|
||||
self.failUnless("%s: %s" % (allmydata.__appname__, allmydata.__version__) in res)
|
||||
verstr = str(allmydata.__version__)
|
||||
|
||||
# The Python "rational version numbering" convention
|
||||
# disallows "-r$REV" but allows ".post$REV"
|
||||
# instead. Eventually we'll probably move to
|
||||
# that. When we do, this test won't go red:
|
||||
ix = verstr.rfind('-r')
|
||||
if ix != -1:
|
||||
altverstr = verstr[:ix] + '.post' + verstr[ix+2:]
|
||||
else:
|
||||
ix = verstr.rfind('.post')
|
||||
if ix != -1:
|
||||
altverstr = verstr[:ix] + '-r' + verstr[ix+5:]
|
||||
else:
|
||||
altverstr = verstr
|
||||
|
||||
appverstr = "%s: %s" % (allmydata.__appname__, verstr)
|
||||
newappverstr = "%s: %s" % (allmydata.__appname__, altverstr)
|
||||
|
||||
self.failUnless((appverstr in res) or (newappverstr in res), (appverstr, newappverstr, res))
|
||||
self.failUnless("Announcement Summary: storage: 5, stub_client: 5" in res)
|
||||
self.failUnless("Subscription Summary: storage: 5" in res)
|
||||
except unittest.FailTest:
|
||||
|
Loading…
Reference in New Issue
Block a user