Hello community, here is the log from the commit of package obs-service-tar_scm for openSUSE:Factory checked in at 2014-10-09 12:52:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/obs-service-tar_scm (Old) and /work/SRC/openSUSE:Factory/.obs-service-tar_scm.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-tar_scm" Changes: -------- --- /work/SRC/openSUSE:Factory/obs-service-tar_scm/obs-service-tar_scm.changes 2014-10-05 20:34:04.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.obs-service-tar_scm.new/obs-service-tar_scm.changes 2014-10-09 12:52:34.000000000 +0200 @@ -1,0 +2,10 @@ +Wed Oct 08 12:13:42 UTC 2014 - aspi...@suse.com + +- Update to version 0.5.0.1412769870.6cda976: + + change default git versionformat to %ct.%h + + fix changes generation when version is blank + + lots of refactoring + + add info and caveats about data persisting between tests + + gittests: give default author test a unique name + +------------------------------------------------------------------- Old: ---- obs-service-tar_scm-0.4.2.1412467141.df3329e.tar.gz New: ---- obs-service-tar_scm-0.5.0.1412769870.6cda976.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ obs-service-tar_scm.spec ++++++ --- /var/tmp/diff_new_pack.C9gwsO/_old 2014-10-09 12:52:34.000000000 +0200 +++ /var/tmp/diff_new_pack.C9gwsO/_new 2014-10-09 12:52:34.000000000 +0200 @@ -19,7 +19,7 @@ %define service tar_scm Name: obs-service-%{service} -Version: 0.4.2.1412467141.df3329e +Version: 0.5.0.1412769870.6cda976 Release: 0 Summary: An OBS source service: checkout or update a tar ball from svn/git/hg License: GPL-2.0+ ++++++ _service ++++++ --- /var/tmp/diff_new_pack.C9gwsO/_old 2014-10-09 12:52:34.000000000 +0200 +++ /var/tmp/diff_new_pack.C9gwsO/_new 2014-10-09 12:52:34.000000000 +0200 @@ -4,7 +4,7 @@ <param name="scm">git</param> <param name="exclude">.git</param> <param name="version">git-master</param> - <param name="versionformat">0.4.2.%ct.%h</param> + <param name="versionformat">0.5.0.%ct.%h</param> <param name="revision">master</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.C9gwsO/_old 2014-10-09 12:52:34.000000000 +0200 +++ /var/tmp/diff_new_pack.C9gwsO/_new 2014-10-09 12:52:34.000000000 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">git://github.com/openSUSE/obs-service-tar_scm.git</param> - <param name="changesrevision">df3329e67fec7cfe40e59a17329079357bad94a0</param> + <param name="changesrevision">6cda976777de4e38ee88efe97353dec92f609614</param> </service> </servicedata> \ No newline at end of file ++++++ debian.dsc ++++++ --- /var/tmp/diff_new_pack.C9gwsO/_old 2014-10-09 12:52:34.000000000 +0200 +++ /var/tmp/diff_new_pack.C9gwsO/_new 2014-10-09 12:52:34.000000000 +0200 @@ -1,6 +1,6 @@ Format: 1.0 Source: obs-service-tar-scm -Version: 0.4.2 +Version: 0.5.0 Binary: obs-service-tar-scm Maintainer: Adrian Schroeter <adr...@suse.de> Architecture: all ++++++ obs-service-tar_scm-0.4.2.1412467141.df3329e.tar.gz -> obs-service-tar_scm-0.5.0.1412769870.6cda976.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.4.2.1412467141.df3329e/TESTING.md new/obs-service-tar_scm-0.5.0.1412769870.6cda976/TESTING.md --- old/obs-service-tar_scm-0.4.2.1412467141.df3329e/TESTING.md 2014-10-05 02:02:16.000000000 +0200 +++ new/obs-service-tar_scm-0.5.0.1412769870.6cda976/TESTING.md 2014-10-08 14:13:42.000000000 +0200 @@ -32,6 +32,27 @@ `$PATH` it actually invokes `scm-wrapper`, which logs the VCS invocation before continuing. +### Persistence between test runs + +The test fixtures create working directories for each test +representing a (fake) check-out of a build service package, and each +test invokes `tar_scm` on this working directory. The directory +persists between tests to simulate real world use. + +Similarly, a fake `$HOME` directory is created, in which source +repositories may be cached upon cloning from the (fake) upstream +repository, and again, this `$HOME` directory is persisted between +tests in order to simulate real world use. + +All these directories can be found under `tests/tmp/`. + +Upon a successful test run, these persisted directories are cleaned +up. However, if the run fails, they are left behind for debugging. +In this case, you may need to `rm -rf tests/tmp` prior to the next +test run, otherwise you may get errors like `Invalid revision range` +when a brand new repository history is constructed which conflicts +with the previous run. + ## PEP8 checking There's also a `pep8` rule for checking diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.4.2.1412467141.df3329e/debian/changelog new/obs-service-tar_scm-0.5.0.1412769870.6cda976/debian/changelog --- old/obs-service-tar_scm-0.4.2.1412467141.df3329e/debian/changelog 2014-10-05 02:02:16.000000000 +0200 +++ new/obs-service-tar_scm-0.5.0.1412769870.6cda976/debian/changelog 2014-10-08 14:13:42.000000000 +0200 @@ -1,3 +1,13 @@ +obs-service-tar-scm (0.5.0) unstable; urgency=low + + * change default git versionformat to %ct.%h + * fix changes generation when version is blank + * lots of refactoring + * add info and caveats about data persisting between tests + * gittests: give default author test a unique name + + -- Adam Spiers <opens...@adamspiers.org> Wed, 08 Oct 2014 12:45:56 +0100 + obs-service-tar-scm (0.4.2) unstable; urgency=medium * Retrieve tags for a cached git repo diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.4.2.1412467141.df3329e/tar_scm.py new/obs-service-tar_scm-0.5.0.1412769870.6cda976/tar_scm.py --- old/obs-service-tar_scm-0.4.2.1412467141.df3329e/tar_scm.py 2014-10-05 02:02:16.000000000 +0200 +++ new/obs-service-tar_scm-0.5.0.1412769870.6cda976/tar_scm.py 2014-10-08 14:13:42.000000000 +0200 @@ -349,10 +349,21 @@ return version +def get_version(args, clone_dir): + version = args.version + if version == '_auto_' or args.versionformat: + version = detect_version(args.scm, clone_dir, args.versionformat) + if args.versionprefix: + version = "%s.%s" % (args.versionprefix, version) + + logging.debug("VERSION(auto): %s", version) + return version + + def detect_version_git(repodir, versionformat): """Automatic detection of version number for checked-out GIT repository.""" if versionformat is None: - versionformat = '%ct' + versionformat = '%ct.%h' if re.match('.*@PARENT_TAG@.*', versionformat): try: @@ -737,7 +748,7 @@ return config -if __name__ == '__main__': +def parse_args(): parser = argparse.ArgumentParser(description='Git Tarballs') parser.add_argument('-v', '--verbose', action='store_true', default=False, help='Enable verbose output') @@ -831,15 +842,11 @@ if os.getenv('DEBUG_TAR_SCM'): args.verbose = True - FORMAT = "%(message)s" - logging.basicConfig(format=FORMAT, stream=sys.stderr, level=logging.INFO) - if args.verbose: - logging.getLogger().setLevel(logging.DEBUG) + return args - # force cleaning of our workspace on exit - atexit.register(cleanup, CLEANUP_DIRS) - # check for enabled caches (1. environment, 2. user confog, 3. system wide) +def get_repocachedir(): + # check for enabled caches (1. environment, 2. user config, 3. system wide) repocachedir = os.getenv('CACHEDIRECTORY') if repocachedir is None: config = get_config_options() @@ -851,6 +858,22 @@ if repocachedir: logging.debug("REPOCACHE: %s", repocachedir) + return repocachedir + + +def main(): + args = parse_args() + + FORMAT = "%(message)s" + logging.basicConfig(format=FORMAT, stream=sys.stderr, level=logging.INFO) + if args.verbose: + logging.getLogger().setLevel(logging.DEBUG) + + # force cleaning of our workspace on exit + atexit.register(cleanup, CLEANUP_DIRS) + + repocachedir = get_repocachedir() + # construct repodir (the parent directory of the checkout) repodir = None if repocachedir and os.path.isdir(os.path.join(repocachedir, 'repo')): @@ -874,13 +897,10 @@ else: dstname = os.path.basename(clone_dir) - version = args.version - if version == '_auto_' or args.versionformat: - version = detect_version(args.scm, clone_dir, args.versionformat) - if args.versionprefix: - version = "%s.%s" % (args.versionprefix, version) + version = get_version(args, clone_dir) + changesversion = version if version: - dstname = dstname + '-' + version + dstname += '-' + version logging.debug("DST: %s", dstname) @@ -902,11 +922,15 @@ logging.debug("AUTHOR: %s", changesauthor) + if not version: + args.version = "_auto_" + changesversion = get_version(args, clone_dir) + for filename in glob.glob('*.changes'): new_changes_file = os.path.join(args.outdir, filename) shutil.copy(filename, new_changes_file) write_changes(new_changes_file, changes['lines'], - version, changesauthor) + changesversion, changesauthor) write_changes_revision(args.url, args.outdir, changes['revision']) @@ -918,3 +942,6 @@ os.rename(repodir, repodir2) elif not os.path.samefile(repodir, repodir2): CLEANUP_DIRS.append(repodir) + +if __name__ == '__main__': + main() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.4.2.1412467141.df3329e/tests/gittests.py new/obs-service-tar_scm-0.5.0.1412769870.6cda976/tests/gittests.py --- old/obs-service-tar_scm-0.4.2.1412467141.df3329e/tests/gittests.py 2014-10-05 02:02:16.000000000 +0200 +++ new/obs-service-tar_scm-0.5.0.1412769870.6cda976/tests/gittests.py 2014-10-08 14:13:42.000000000 +0200 @@ -30,7 +30,8 @@ yyyymmddhhmmss_format = '%ci' def default_version(self): - return self.timestamps(self.rev(2)) + return "%s.%s" % (self.timestamps(self.rev(2)), + self.abbrev_sha1s(self.rev(2))) def version(self, rev): # Hyphens aren't allowed in version number. This substitution @@ -235,24 +236,60 @@ self._check_servicedata(revision=5, expected_dirents=3) - new_changes_file = os.path.join(self.outdir, 'pkg.changes') expected_author = author or 'opensuse-packag...@opensuse.org' + expected_changes_regexp = self._new_change_entry_regexp( + expected_author, + textwrap.dedent("""\ + - Update to version 0.6.%s: + \+ 3 + \+ 4 + \+ 5 + """) % self.abbrev_sha1s('tag5') + ) + self._check_changes(orig_changes, expected_changes_regexp) + + def test_changesgenerate_new_commit_and_changes_file_no_version(self): + self._write_servicedata(2) + orig_changes = self._write_changes_file() + self.fixtures.create_commits(3) - expected_changes_regexp = textwrap.dedent("""\ + tar_scm_args = [ + '--changesgenerate', 'enable', + '--version', '', + '--changesauthor', self.fixtures.user_email + ] + self.tar_scm_std(*tar_scm_args) + + self._check_servicedata(revision=5, expected_dirents=3) + + expected_author = self.fixtures.user_email + expected_changes_regexp = self._new_change_entry_regexp( + expected_author, + textwrap.dedent("""\ + - Update to version \d{10}.%s: + \+ 3 + \+ 4 + \+ 5 + """) % self.abbrev_sha1s('tag5') + ) + self._check_changes(orig_changes, expected_changes_regexp) + + def _new_change_entry_regexp(self, author, changes): + return textwrap.dedent("""\ ^------------------------------------------------------------------- \w{3} \w{3} [ \d]\d \d\d:\d\d:\d\d [A-Z]{3} 20\d\d - %s - - Update to version 0.6.%s: - \+ 3 - \+ 4 - \+ 5 + %s + """) % (author, changes) - (.+)""" % (expected_author, self.abbrev_sha1s('tag5'))) + def _check_changes(self, orig_changes, expected_changes_regexp): + new_changes_file = os.path.join(self.outdir, 'pkg.changes') self.assertTrue(os.path.exists(new_changes_file)) with open(new_changes_file) as f: new_changes = f.read() self.assertNotEqual(orig_changes, new_changes) print new_changes + expected_changes_regexp += "(.+)" self.assertRegexpMatches(new_changes, expected_changes_regexp) m = re.match(expected_changes_regexp, new_changes, re.DOTALL) self.assertEqual(m.group(1), orig_changes) @@ -261,5 +298,5 @@ self._test_changesgenerate_new_commit_and_changes_file( self.fixtures.user_email) - def test_changesgenerate_new_commit_and_changes_file(self): + def test_changesgenerate_new_commit_and_changes_file_default_author(self): self._test_changesgenerate_new_commit_and_changes_file() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/obs-service-tar_scm-0.4.2.1412467141.df3329e/tests/test.py new/obs-service-tar_scm-0.5.0.1412769870.6cda976/tests/test.py --- old/obs-service-tar_scm-0.4.2.1412467141.df3329e/tests/test.py 2014-10-05 02:02:16.000000000 +0200 +++ new/obs-service-tar_scm-0.5.0.1412769870.6cda976/tests/test.py 2014-10-08 14:13:42.000000000 +0200 @@ -77,4 +77,5 @@ sys.exit(0) else: print("Left temporary files in %s" % TestEnvironment.tmp_dir) + print("You should remove these prior to the next test run.") sys.exit(1) -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org