* asciidoc indirectly requires docbook-style-xsl on el6 and f20,
but not on el5. Resolve failure to build tito with tito on el5:
"I/O error : Attempt to load network entity"
* Resolve "egg missing file" on el5 due to busted symlinks
from 20c4f1b7c0.
* Add functional test to build tito with itself in order to
catch problems like the ones above.
Closes https://github.com/dgoodwin/tito/issues/133
Alas, python3 doesn't have the cmp() function.
Support both python2 and python3 for comparisons using tip from
https://docs.python.org/3.0/whatsnew/3.0.html#ordering-comparisons
Avoids TB on python3:
======================================================================
ERROR: test_compare_version (unit.common-tests.ExtractBugzillasTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/sandbox/test/unit/common-tests.py", line 224, in test_compare_version
self.assertEquals(0, compare_version("1", "1"))
File "/home/sandbox/src/tito/common.py", line 689, in compare_version
return cmp(normalize(version1), normalize(version2))
NameError: global name 'cmp' is not defined
run_command_print originally used trailing comma to suppress newline,
but python3 needs a named argument (`end=`) [1].
38446dca added 'from future...' to support python3's `end=` argument,
but the import causes error on el5:
SyntaxError (future feature print_function is not defined
6b9787e2 introduced an approach to strip newlines compatible
with both el5's python2 and fedora 20's python3.
This means we don't need the future import any more, and
we can safely remove it to restore el5 compatibility.
[1] https://docs.python.org/3.0/whatsnew/3.0.html#print-is-a-function
Lost this somehow in refactoring, but right now failed commands are silent.
Raise an exception and print the error details.
Restore behaviour where we can print command output on success if desired.
Fix a couple tests that were actually failing due to missing rsync dest.
Older versions of git-annex don't support `git annex lock --force`, so peform
a version check and call without --force on these.
The EL6 Docker image is changed to one that contains locales, in order for
git-annex to run successfully.
Particularly useful when creating new projects and wanting to avoid
creating an initial tag, this allows `tito build --test --srpm` etc
to run without any tag.
With a general 'scl' builder option, a software collection name can be
specified irrespective of the releaser used. RsyncReleaser's own 'scl'
option has been deprecated in favour of using 'builder.scl' in
releasers.conf.
Add URL of upstream tito repo to HACKING, then
symlink HACKING as README.md in each Dockerfile dir.
Why?
If a README.md exists in same dir as Dockerfile (incl. symlink),
and it's set up as a
[trusted build](https://index.docker.io/help/docs/#trustedbuilds),
then index.docker.io automatically shows the readme on the info
page of the trusted build.
Before this commit: We use travis-ci (ubuntu vm) to run
just the unit tests. We cannot run functional tests on
travis-ci due to lack of platform support.
After this commit: Run the full dockerized test harness on
http://wercker.com to run `hacking/runtests.sh`, which runs
all the unit and functional tests on el5, el6, and f20 to
assert supportability on all the pythons 2.4 through 3.x.
Sample test runs are at:
https://app.wercker.com/#buildstep/5346d0054daac943370042c7https://app.wercker.com/#buildstep/5346d9914daac94337005096
At the above link...
1. Click **run the docker test suite** in browser to show log
2. Scroll all the way through to see the verbose output and
summary at bottom.
Note: `hacking/runtests.sh` exits non-zero if any test fails
on any of the platforms.
Wercker docs are online at http://devcenter.wercker.com/#