Commit graph

89 commits

Author SHA1 Message Date
Paul Morgan
97b29d6c35 add pep8 tests and fix blank line errors and warnings 2014-02-28 01:34:34 +00:00
Paul Morgan
53f9a02442 avoid TB in nose tests if there is no tty
GitPython's git.util.get_user_id() calls os.getlogin(), which
throws an OSError if there is no tty:

    Traceback (most recent call last):
      File "/home/sandbox/test/functional/multiproject_tests.py", line 65, in setUp
        TitoGitTestFixture.setUp(self)
      File "/home/sandbox/test/functional/fixture.py", line 129, in setUp
        index.commit('Setting offline.')
      File "/usr/lib/python2.7/site-packages/git/index/base.py", line 887, in commit
        return Commit.create_from_tree(self.repo, tree, message, parent_commits, head)
      File "/usr/lib/python2.7/site-packages/git/objects/commit.py", line 303, in create_from_tree
        committer = Actor.committer(cr)
      File "/usr/lib/python2.7/site-packages/git/util.py", line 354, in committer
        return cls._main_actor(cls.env_committer_name, cls.env_committer_email, config_reader)
      File "/usr/lib/python2.7/site-packages/git/util.py", line 327, in _main_actor
        default_email = get_user_id()
      File "/usr/lib/python2.7/site-packages/git/util.py", line 120, in get_user_id
        username = os.getlogin()
    OSError: [Errno 25] Inappropriate ioctl for device

But GitPython also allows to avoid the call by setting
environment variable "USER" to anything other than "UNKNOWN".

Therefore we preempt GitPython by calling os.getlogin() ourselves.
If we have to rescue the exception, export the environment var to
avoid traceback.
2014-02-27 21:22:05 +00:00
Devan Goodwin
8d64e56b4e Fix bug with fetch builder source replacement. 2014-02-27 15:44:42 -04:00
Devan Goodwin
8342529dd9 Fix releasers and respect offline flag. 2014-02-27 11:46:00 -04:00
Devan Goodwin
9474b0ab95 Support release with fetch builder. 2014-02-26 15:58:58 -04:00
Devan Goodwin
a6d71534bb Add support for passing builder args through a releaser. 2014-02-26 14:52:56 -04:00
Devan Goodwin
1535850328 More testing. 2014-02-03 15:59:26 -04:00
Devan Goodwin
922c0f2850 Rename --builder-arg to just --arg in build command. 2014-01-16 14:52:55 -04:00
Devan Goodwin
e1a0017144 Rename to FetchBuilder. 2014-01-15 16:17:02 -04:00
Devan Goodwin
35c51ba7a3 Refactor to just one config object.
Instead of passing package specific and global config around separately, parse
them as one config object where package specific can override global should the
same sections and properties exist.

If you maintain custom builders/releasers, they will need to have their
constructors updated.
2014-01-14 11:50:39 -04:00
Devan Goodwin
a73c90cbf5 Make external source builder fetch strategy configurable. 2014-01-13 16:29:38 -04:00
Devan Goodwin
a52a2458c4 Merge branch 'master' into sourcefetch
Conflicts:
	test/functional/singleproject_tests.py

Technically not a merge, did a bunch of work only to discover I was mid-merge when I did it.
2014-01-13 14:40:28 -04:00
Devan Goodwin
8fe640e0ed Fix buildroot using ~/rpmbuild/BUILDROOT.
This may have been a recent change in rpmbuild that caused this as the
_buildroot macro appears to be somewhat new. However it seems using topdir
accomplishes the same thing more thoroughly.
2014-01-10 16:12:16 -04:00
Devan Goodwin
6097b7da59 Restore building of specific tags. 2014-01-09 15:52:17 -04:00
Devan Goodwin
05e3b80205 Extract version/release in external source builder. 2014-01-09 15:20:04 -04:00
Devan Goodwin
381debd36b Replace external sources in spec file copy during build. 2014-01-03 14:28:26 -04:00
Devan Goodwin
199f332d4d Start building with external sources and no tag.
Currently uses the files in the directory where tito was initially run, hoping to make this smarter and more useful soon.
2014-01-02 15:20:52 -04:00
Devan Goodwin
a3363cb93f Merge the FiledVersionTagger into the base VersionTagger.
This allows the behaviour to be used in just about any tagger sub-class.

Behaviour will be triggered on the presence of the 'version_template'
section in tito.props.

Renamed config:
  version -> version_template (section)
  file -> destination_file

Separated the replacement of version and release, as caller may just
want one or the other. (it works fine if only one of the variables is
present in your template file) Release is more of an rpm concept so may
not always be wanted in this context.

Removed the notion of default template files, if you want to use this
you need to specify the configuration for it.

Added a functional test to make sure I keep it working.
2013-11-12 13:28:32 -04:00
jesus m. rodriguez
c1df0a1a81 PEP8 cleanup 2011-12-05 14:37:07 -05:00
Devan Goodwin
8246ec2b79 Functional test fix. 2011-11-25 11:30:51 -04:00
Alex Wood
3a621a9cc2 Adding --use-version to allow Tito to force a version to use. 2011-10-21 16:23:01 -04:00
Devan Goodwin
dc27216b51 Add some multi-project builder tests. 2010-05-24 23:16:49 -03:00
Devan Goodwin
7e8017571f Port multi-project git tests to use GitPython more. 2010-05-24 14:59:50 -03:00
Devan Goodwin
73413b30bd Better tag undo test. 2010-05-24 13:51:48 -03:00
Devan Goodwin
a29185f8c5 Port remaining single project tests to new format. 2010-05-24 11:35:07 -03:00
Devan Goodwin
bd84de04c7 Better test repo/project creation. 2010-05-24 11:26:22 -03:00
Devan Goodwin
e49b6f77cf Begin testing with GitPython. 2010-05-24 00:56:30 -03:00
Devan Goodwin
a0cdf98405 Test tito via CLI class rather than shell commands.
Should allow for much better error checking.
2010-05-24 00:44:47 -03:00
Devan Goodwin
f6eedc27bb Introduce --output option for destination/tmp directory. 2009-08-02 14:53:41 -03:00
Devan Goodwin
b0843d6b66 Use tito.props for project specific config filename.
Aparently we were still using legacy build.py.props from before the tito
rename.
2009-08-02 14:22:06 -03:00
Devan Goodwin
3461d47cc9 Add multi-project repo tagging tests. 2009-08-02 13:46:03 -03:00
Devan Goodwin
a393dfbfda Create a multi-project git repository for testing. 2009-08-02 12:33:36 -03:00
Devan Goodwin
6dd00ae3bc Test additions and improvements.
And a rename to something more appropriate.
2009-07-29 21:00:35 -03:00
James Bowes
515815dcbc pyflakes cleanup
Signed-off-by: Devan Goodwin <dgoodwin@rm-rf.ca>
2009-07-27 00:08:21 +08:00
Devan Goodwin
0de5290258 Expand tagging tests. 2009-07-25 12:39:22 -03:00
Devan Goodwin
1f587f0f3c Kinda support running nosetests manually.
Will fail unless you have tito installed on your system. In this case
only the bare tito script in bin and seldom modified perl scripts will
be used from the installed version, the code should still run against
the source.
2009-07-25 11:54:06 -03:00
Devan Goodwin
6ea3f432bc Re-enable functional tests, add top level runtests.py.
Path hacks currently requiring this, though we still use python-nose
once it's time to actually call the tests. Still probably a solution to
get rid of the test script...
2009-07-25 11:50:02 -03:00
Devan Goodwin
e5e98bc098 Big test refactor.
Introduce unit test framework, disable functional test framework for
now, but getting closer to something that's sensible.
2009-07-24 23:00:45 -03:00
Devan Goodwin
af72fd5572 Prep for namespace change spacewalk.releng -> tito. 2009-07-24 22:11:25 -03:00