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

Reply via email to