Hello community,

here is the log from the commit of package python3-pbr for openSUSE:Factory 
checked in at 2015-08-15 11:39:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python3-pbr (Old)
 and      /work/SRC/openSUSE:Factory/.python3-pbr.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python3-pbr"

Changes:
--------
--- /work/SRC/openSUSE:Factory/python3-pbr/python3-pbr-doc.changes      
2015-08-07 00:20:25.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-pbr.new/python3-pbr-doc.changes 
2015-08-15 11:39:51.000000000 +0200
@@ -1,0 +2,18 @@
+Sat Aug 15 02:45:08 UTC 2015 - a...@gmx.de
+
+- update to version 1.5.0:
+   * Handle git being entirely absent
+   * We require the use of setuptools
+
+-------------------------------------------------------------------
+Sat Aug  8 23:32:02 UTC 2015 - a...@gmx.de
+
+- update to version 1.4.0:
+  * Fix docs for environment markers in extras
+  * Export ChangeLog and AUTHORS in install
+  * Updated from global requirements
+  * Show how long the git querying takes
+  * Add wsgi_scripts support to PBR
+  * Updated from global requirements
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/python3-pbr/python3-pbr.changes  2015-08-07 
00:20:26.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python3-pbr.new/python3-pbr.changes     
2015-08-15 11:39:51.000000000 +0200
@@ -1,0 +2,21 @@
+Sat Aug 15 02:45:08 UTC 2015 - a...@gmx.de
+
+-  update to version 1.5.0:
+   * Handle git being entirely absent
+   * We require the use of setuptools
+
+-------------------------------------------------------------------
+Sat Aug  8 23:32:02 UTC 2015 - a...@gmx.de
+
+- specfile:
+  * add Changelog to %doc
+
+- update to version 1.4.0:
+  * Fix docs for environment markers in extras
+  * Export ChangeLog and AUTHORS in install
+  * Updated from global requirements
+  * Show how long the git querying takes
+  * Add wsgi_scripts support to PBR
+  * Updated from global requirements
+
+-------------------------------------------------------------------
@@ -42,0 +64,15 @@
+
+-------------------------------------------------------------------
+Tue Jun 30 22:23:51 UTC 2015 - a...@gmx.de
+
+
+- update to version 1.3.0:
+  * Wrap env markers in parens
+  * Updated from global requirements
+  * Add more documentation around building docs
+  * Use string for 'OS_TEST_TIMEOUT' default
+  * This documents the use of comments that work between 2.6, 2.7 and
+    3.4
+
+- changes from version 1.2.0:
+  * Strip markers from test requirements.

Old:
----
  pbr-1.3.0.tar.gz

New:
----
  pbr-1.5.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-pbr-doc.spec ++++++
--- /var/tmp/diff_new_pack.flHVY1/_old  2015-08-15 11:39:52.000000000 +0200
+++ /var/tmp/diff_new_pack.flHVY1/_new  2015-08-15 11:39:52.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           python3-pbr-doc
-Version:        1.3.0
+Version:        1.5.0
 Release:        0
 Summary:        Documentation for python3-pbr
 License:        Apache-2.0
@@ -30,6 +30,7 @@
 Patch0:         0001-Remove-sphinx_config.init_values-manual-call.patch
 BuildRequires:  fdupes
 BuildRequires:  python3-devel
+BuildRequires:  python3-setuptools
 # Documentation requirements:
 BuildRequires:  python3-Sphinx >= 1.1.2
 BuildArch:      noarch

++++++ python3-pbr.spec ++++++
--- /var/tmp/diff_new_pack.flHVY1/_old  2015-08-15 11:39:52.000000000 +0200
+++ /var/tmp/diff_new_pack.flHVY1/_new  2015-08-15 11:39:52.000000000 +0200
@@ -21,7 +21,7 @@
 %bcond_with test
 
 Name:           python3-pbr
-Version:        1.3.0
+Version:        1.5.0
 Release:        0
 Summary:        Python Build Reasonableness
 License:        Apache-2.0
@@ -99,7 +99,7 @@
 
 %files
 %defattr(-,root,root,-)
-%doc README.rst AUTHORS LICENSE
+%doc README.rst AUTHORS LICENSE ChangeLog
 %{_bindir}/pbr
 %{_bindir}/pbr-%{py3_ver}
 %ghost %{_sysconfdir}/alternatives/pbr

++++++ pbr-1.3.0.tar.gz -> pbr-1.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/AUTHORS new/pbr-1.5.0/AUTHORS
--- old/pbr-1.3.0/AUTHORS       2015-07-10 23:32:49.000000000 +0200
+++ new/pbr-1.5.0/AUTHORS       2015-08-13 21:33:57.000000000 +0200
@@ -7,6 +7,7 @@
 Attila Fazekas <afaze...@redhat.com>
 Ben Nemec <bne...@redhat.com>
 Bhuvan Arumugam <bhu...@apache.org>
+Brant Knudson <bknud...@us.ibm.com>
 Brian Waldon <bcwal...@gmail.com>
 Chang Bo Guo <guoc...@cn.ibm.com>
 ChangBo Guo(gcb) <eric....@easystack.cn>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/ChangeLog new/pbr-1.5.0/ChangeLog
--- old/pbr-1.3.0/ChangeLog     2015-07-10 23:32:49.000000000 +0200
+++ new/pbr-1.5.0/ChangeLog     2015-08-13 21:33:57.000000000 +0200
@@ -1,6 +1,23 @@
 CHANGES
 =======
 
+1.5.0
+-----
+
+* Handle git being entirely absent
+* We require the use of setuptools
+
+1.4.0
+-----
+
+* Fix docs for environment markers in extras
+* Export ChangeLog and AUTHORS in install
+* Updated from global requirements
+* Updated from global requirements
+* Show how long the git querying takes
+* Add wsgi_scripts support to PBR
+* Updated from global requirements
+
 1.3.0
 -----
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/PKG-INFO new/pbr-1.5.0/PKG-INFO
--- old/pbr-1.3.0/PKG-INFO      2015-07-10 23:32:49.000000000 +0200
+++ new/pbr-1.5.0/PKG-INFO      2015-08-13 21:33:57.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pbr
-Version: 1.3.0
+Version: 1.5.0
 Summary: Python Build Reasonableness
 Home-page: https://launchpad.net/pbr
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/doc/source/index.rst 
new/pbr-1.5.0/doc/source/index.rst
--- old/pbr-1.3.0/doc/source/index.rst  2015-07-10 23:32:31.000000000 +0200
+++ new/pbr-1.5.0/doc/source/index.rst  2015-08-13 21:33:38.000000000 +0200
@@ -159,10 +159,10 @@
     [extras]
     security =
         aleph
-        bet :python_environment=='3.2'
-        gimel :python_environment=='2.7'
+        bet:python_version=='3.2'
+        gimel:python_version=='2.7'
     testing =
-        quux :python_environment=='2.7'
+        quux:python_version=='2.7'
 
 long_description
 ----------------
@@ -174,7 +174,7 @@
 
 Usage
 =====
-pbr requires a distribution to use distribute.  Your distribution
+pbr requires a distribution to use setuptools.  Your distribution
 must include a distutils2-like setup.cfg file, and a minimal setup.py script.
 
 A simple sample can be found in pbr's own setup.cfg
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/pbr/git.py new/pbr-1.5.0/pbr/git.py
--- old/pbr-1.3.0/pbr/git.py    2015-07-10 23:32:30.000000000 +0200
+++ new/pbr-1.5.0/pbr/git.py    2015-08-13 21:33:38.000000000 +0200
@@ -18,10 +18,12 @@
 
 import distutils.errors
 from distutils import log
+import errno
 import io
 import os
 import re
 import subprocess
+import time
 
 import pkg_resources
 
@@ -63,7 +65,13 @@
 
 
 def _get_git_directory():
-    return _run_shell_command(['git', 'rev-parse', '--git-dir'])
+    try:
+        return _run_shell_command(['git', 'rev-parse', '--git-dir'])
+    except OSError as e:
+        if e.errno == errno.ENOENT:
+            # git not installed.
+            return ''
+        raise
 
 
 def _git_is_installed():
@@ -221,6 +229,7 @@
 def write_git_changelog(git_dir=None, dest_dir=os.path.curdir,
                         option_dict=dict(), changelog=None):
     """Write a changelog based on the git changelog."""
+    start = time.time()
     if not changelog:
         changelog = _iter_log_oneline(git_dir=git_dir, option_dict=option_dict)
         if changelog:
@@ -236,6 +245,8 @@
     with io.open(new_changelog, "w", encoding="utf-8") as changelog_file:
         for release, content in changelog:
             changelog_file.write(content)
+    stop = time.time()
+    log.info('[pbr] ChangeLog complete (%0.1fs)' % (stop - start))
 
 
 def generate_authors(git_dir=None, dest_dir='.', option_dict=dict()):
@@ -244,6 +255,7 @@
                                              'SKIP_GENERATE_AUTHORS')
     if should_skip:
         return
+    start = time.time()
     old_authors = os.path.join(dest_dir, 'AUTHORS.in')
     new_authors = os.path.join(dest_dir, 'AUTHORS')
     # If there's already an AUTHORS file and it's not writable, just use it
@@ -278,3 +290,5 @@
                     new_authors_fh.write(old_authors_fh.read())
             new_authors_fh.write(('\n'.join(authors) + '\n')
                                  .encode('utf-8'))
+    stop = time.time()
+    log.info('[pbr] AUTHORS complete (%0.1fs)' % (stop - start))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/pbr/hooks/commands.py 
new/pbr-1.5.0/pbr/hooks/commands.py
--- old/pbr-1.3.0/pbr/hooks/commands.py 2015-07-10 23:32:30.000000000 +0200
+++ new/pbr-1.5.0/pbr/hooks/commands.py 2015-08-13 21:33:38.000000000 +0200
@@ -61,3 +61,5 @@
         # We always want non-egg install unless explicitly requested
         if 'manpages' in self.pbr_config or not use_egg:
             self.add_command('pbr.packaging.LocalInstall')
+        else:
+            self.add_command('pbr.packaging.InstallWithGit')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/pbr/packaging.py 
new/pbr-1.5.0/pbr/packaging.py
--- old/pbr-1.3.0/pbr/packaging.py      2015-07-10 23:32:30.000000000 +0200
+++ new/pbr-1.5.0/pbr/packaging.py      2015-08-13 21:33:38.000000000 +0200
@@ -163,6 +163,20 @@
     return dependency_links
 
 
+class InstallWithGit(install.install):
+    """Extracts ChangeLog and AUTHORS from git then installs.
+
+    This is useful for e.g. readthedocs where the package is
+    installed and then docs built.
+    """
+
+    command_name = 'install'
+
+    def run(self):
+        _from_git(self.distribution)
+        return install.install.run(self)
+
+
 class LocalInstall(install.install):
     """Runs python setup.py install in a sensible manner.
 
@@ -174,6 +188,7 @@
     command_name = 'install'
 
     def run(self):
+        _from_git(self.distribution)
         return du_install.install.run(self)
 
 
@@ -212,6 +227,36 @@
 def have_nose():
     return _have_nose
 
+_wsgi_text = """#PBR Generated from %(group)r
+
+from %(module_name)s import %(import_target)s
+
+if __name__ == "__main__":
+    import argparse
+    import socket
+    import wsgiref.simple_server as wss
+
+    my_ip = socket.gethostbyname(socket.gethostname())
+    parser = argparse.ArgumentParser(
+        description=%(import_target)s.__doc__,
+        formatter_class=argparse.ArgumentDefaultsHelpFormatter)
+    parser.add_argument('--port', '-p', type=int, default=8000,
+                        help='TCP port to listen on')
+    args = parser.parse_args()
+    server = wss.make_server('', args.port, %(invoke_target)s())
+
+    print("*" * 80)
+    print("STARTING test server %(module_name)s.%(invoke_target)s")
+    url = "http://%%s:%%d/"; %% (my_ip, server.server_port)
+    print("Available at %%s" %% url)
+    print("DANGER! For testing only, do not use in production")
+    print("*" * 80)
+
+    server.serve_forever()
+else:
+    application = %(invoke_target)s()
+
+"""
 
 _script_text = """# PBR Generated from %(group)r
 
@@ -225,16 +270,25 @@
 """
 
 
+# the following allows us to specify different templates per entry
+# point group when generating pbr scripts.
+ENTRY_POINTS_MAP = {
+    'console_scripts': _script_text,
+    'gui_scripts': _script_text,
+    'wsgi_scripts': _wsgi_text
+}
+
+
 def override_get_script_args(
         dist, executable=os.path.normpath(sys.executable), is_wininst=False):
     """Override entrypoints console_script."""
     header = easy_install.get_script_header("", executable, is_wininst)
-    for group in 'console_scripts', 'gui_scripts':
+    for group, template in ENTRY_POINTS_MAP.items():
         for name, ep in dist.get_entry_map(group).items():
             if not ep.attrs or len(ep.attrs) > 2:
                 raise ValueError("Script targets must be of the form "
                                  "'func' or 'Class.class_method'.")
-            script_text = _script_text % dict(
+            script_text = template % dict(
                 group=group,
                 module_name=ep.module_name,
                 import_target=ep.attrs[0],
@@ -358,18 +412,22 @@
                 self.filelist.append(entry)
 
 
+def _from_git(distribution):
+    option_dict = distribution.get_option_dict('pbr')
+    changelog = git._iter_log_oneline(option_dict=option_dict)
+    if changelog:
+        changelog = git._iter_changelog(changelog)
+    git.write_git_changelog(option_dict=option_dict, changelog=changelog)
+    git.generate_authors(option_dict=option_dict)
+
+
 class LocalSDist(sdist.sdist):
     """Builds the ChangeLog and Authors files from VC first."""
 
     command_name = 'sdist'
 
     def run(self):
-        option_dict = self.distribution.get_option_dict('pbr')
-        changelog = git._iter_log_oneline(option_dict=option_dict)
-        if changelog:
-            changelog = git._iter_changelog(changelog)
-        git.write_git_changelog(option_dict=option_dict, changelog=changelog)
-        git.generate_authors(option_dict=option_dict)
+        _from_git(self.distribution)
         # sdist.sdist is an old style class, can't use super()
         sdist.sdist.run(self)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/pbr/tests/test_packaging.py 
new/pbr-1.5.0/pbr/tests/test_packaging.py
--- old/pbr-1.3.0/pbr/tests/test_packaging.py   2015-07-10 23:32:31.000000000 
+0200
+++ new/pbr-1.5.0/pbr/tests/test_packaging.py   2015-08-13 21:33:38.000000000 
+0200
@@ -156,21 +156,23 @@
         super(TestPackagingInGitRepoWithCommit, self).setUp()
         repo = self.useFixture(TestRepo(self.package_dir))
         repo.commit()
-        self.run_setup('sdist', allow_fail=False)
 
     def test_authors(self):
+        self.run_setup('sdist', allow_fail=False)
         # One commit, something should be in the authors list
         with open(os.path.join(self.package_dir, 'AUTHORS'), 'r') as f:
             body = f.read()
         self.assertNotEqual(body, '')
 
     def test_changelog(self):
+        self.run_setup('sdist', allow_fail=False)
         with open(os.path.join(self.package_dir, 'ChangeLog'), 'r') as f:
             body = f.read()
         # One commit, something should be in the ChangeLog list
         self.assertNotEqual(body, '')
 
     def test_manifest_exclude_honoured(self):
+        self.run_setup('sdist', allow_fail=False)
         with open(os.path.join(
                 self.package_dir,
                 'pbr_testpackage.egg-info/SOURCES.txt'), 'r') as f:
@@ -179,6 +181,12 @@
             body, matchers.Not(matchers.Contains('pbr_testpackage/extra.py')))
         self.assertThat(body, matchers.Contains('pbr_testpackage/__init__.py'))
 
+    def test_install_writes_changelog(self):
+        stdout, _, _ = self.run_setup(
+            'install', '--root', self.temp_dir + 'installed',
+            allow_fail=False)
+        self.expectThat(stdout, matchers.Contains('Generating ChangeLog'))
+
 
 class TestPackagingInGitRepoWithoutCommit(base.BaseTestCase):
 
@@ -204,18 +212,26 @@
 
     def setUp(self):
         super(TestPackagingInPlainDirectory, self).setUp()
-        self.run_setup('sdist', allow_fail=False)
 
     def test_authors(self):
+        self.run_setup('sdist', allow_fail=False)
         # Not a git repo, no AUTHORS file created
         filename = os.path.join(self.package_dir, 'AUTHORS')
         self.assertFalse(os.path.exists(filename))
 
     def test_changelog(self):
+        self.run_setup('sdist', allow_fail=False)
         # Not a git repo, no ChangeLog created
         filename = os.path.join(self.package_dir, 'ChangeLog')
         self.assertFalse(os.path.exists(filename))
 
+    def test_install_no_ChangeLog(self):
+        stdout, _, _ = self.run_setup(
+            'install', '--root', self.temp_dir + 'installed',
+            allow_fail=False)
+        self.expectThat(
+            stdout, matchers.Not(matchers.Contains('Generating ChangeLog')))
+
 
 class TestPresenceOfGit(base.BaseTestCase):
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/pbr/tests/test_wsgi.py 
new/pbr-1.5.0/pbr/tests/test_wsgi.py
--- old/pbr-1.3.0/pbr/tests/test_wsgi.py        1970-01-01 01:00:00.000000000 
+0100
+++ new/pbr-1.5.0/pbr/tests/test_wsgi.py        2015-08-13 21:33:38.000000000 
+0200
@@ -0,0 +1,171 @@
+# Copyright (c) 2015 Hewlett-Packard Development Company, L.P. (HP)
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import os
+import re
+import subprocess
+import sys
+import tempfile
+import time
+try:
+    # python 2
+    from urllib2 import urlopen
+except ImportError:
+    # python 3
+    from urllib.request import urlopen
+
+import fixtures
+
+from pbr.tests import base
+
+
+class TestWsgiScripts(base.BaseTestCase):
+
+    cmd_names = ('pbr_test_wsgi', 'pbr_test_wsgi_with_class')
+
+    def test_wsgi_script_install(self):
+        """Test that we install a non-pkg-resources wsgi script."""
+        if os.name == 'nt':
+            self.skipTest('Windows support is passthrough')
+
+        stdout, _, return_code = self.run_setup(
+            'install', '--prefix=%s' % self.temp_dir)
+
+        self.useFixture(
+            fixtures.EnvironmentVariable(
+                'PYTHONPATH', ".:%s/lib/python%s.%s/site-packages" % (
+                    self.temp_dir,
+                    sys.version_info[0],
+                    sys.version_info[1])))
+
+        self._check_wsgi_install_content(stdout)
+
+    def test_wsgi_script_run(self):
+        """Test that we install a runnable wsgi script.
+
+        This test actually attempts to start and interact with the
+        wsgi script in question to demonstrate that it's a working
+        wsgi script using simple server. It's a bit hokey because of
+        process management that has to be done.
+
+        """
+        self.skipTest("Test skipped until we can determine a reliable "
+                      "way to capture subprocess stdout without blocking")
+
+        if os.name == 'nt':
+            self.skipTest('Windows support is passthrough')
+
+        stdout, _, return_code = self.run_setup(
+            'install', '--prefix=%s' % self.temp_dir)
+
+        self.useFixture(
+            fixtures.EnvironmentVariable(
+                'PYTHONPATH', ".:%s/lib/python%s.%s/site-packages" % (
+                    self.temp_dir,
+                    sys.version_info[0],
+                    sys.version_info[1])))
+        # NOTE(sdague): making python unbuffered is critical to
+        # getting output out of the subprocess.
+        self.useFixture(
+            fixtures.EnvironmentVariable(
+                'PYTHONUNBUFFERED', '1'))
+
+        self._check_wsgi_install_content(stdout)
+
+        # Live test run the scripts and see that they respond to wsgi
+        # requests.
+        self._test_wsgi()
+
+    def _test_wsgi(self):
+        for cmd_name in self.cmd_names:
+            cmd = os.path.join(self.temp_dir, 'bin', cmd_name)
+            stdout = tempfile.NamedTemporaryFile()
+            print("Running %s > %s" % (cmd, stdout.name))
+            # NOTE(sdague): ok, this looks a little janky, and it
+            # is. However getting python to not hang with
+            # popen.communicate is beyond me.
+            #
+            # We're opening with a random port (so no conflicts), and
+            # redirecting all stdout and stderr to files. We can then
+            # safely read these files and not deadlock later in the
+            # test. This requires shell expansion.
+            p = subprocess.Popen(
+                "%s -p 0 > %s 2>&1" % (cmd, stdout.name),
+                shell=True,
+                close_fds=True,
+                cwd=self.temp_dir)
+
+            self.addCleanup(p.kill)
+
+            # the sleep is important to force a context switch to the
+            # subprocess
+            time.sleep(0.1)
+
+            stdoutdata = stdout.read()
+            self.assertIn(
+                "STARTING test server pbr_testpackage.wsgi",
+                stdoutdata)
+            self.assertIn(
+                "DANGER! For testing only, do not use in production",
+                stdoutdata)
+
+            m = re.search('(http://[^:]+:\d+)/', stdoutdata)
+            self.assertIsNotNone(m, "Regex failed to match on %s" % stdoutdata)
+
+            f = urlopen(m.group(1))
+            self.assertEqual("Hello World", f.read())
+
+            # the sleep is important to force a context switch to the
+            # subprocess
+            time.sleep(0.1)
+
+            # Kill off the child, it should force a flush of the stdout.
+            p.kill()
+            time.sleep(0.1)
+
+            stdoutdata = stdout.read()
+            # we should have logged an HTTP request, return code 200, that
+            # returned 11 bytes
+            self.assertIn('"GET / HTTP/1.1" 200 11', stdoutdata)
+
+    def _check_wsgi_install_content(self, install_stdout):
+        for cmd_name in self.cmd_names:
+            install_txt = 'Installing %s script to %s' % (cmd_name,
+                                                          self.temp_dir)
+            self.assertIn(install_txt, install_stdout)
+
+            cmd_filename = os.path.join(self.temp_dir, 'bin', cmd_name)
+
+            script_txt = open(cmd_filename, 'r').read()
+            self.assertNotIn('pkg_resources', script_txt)
+
+            main_block = """if __name__ == "__main__":
+    import argparse
+    import socket
+    import wsgiref.simple_server as wss"""
+
+            if cmd_name == 'pbr_test_wsgi':
+                app_name = "main"
+            else:
+                app_name = "WSGI.app"
+
+            starting_block = ("STARTING test server pbr_testpackage.wsgi."
+                              "%s" % app_name)
+
+            else_block = """else:
+    application = %s()""" % app_name
+
+            self.assertIn(main_block, script_txt)
+            self.assertIn(starting_block, script_txt)
+            self.assertIn(else_block, script_txt)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pbr-1.3.0/pbr/tests/testpackage/pbr_testpackage/wsgi.py 
new/pbr-1.5.0/pbr/tests/testpackage/pbr_testpackage/wsgi.py
--- old/pbr-1.3.0/pbr/tests/testpackage/pbr_testpackage/wsgi.py 1970-01-01 
01:00:00.000000000 +0100
+++ new/pbr-1.5.0/pbr/tests/testpackage/pbr_testpackage/wsgi.py 2015-08-13 
21:33:38.000000000 +0200
@@ -0,0 +1,31 @@
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+from __future__ import print_function
+
+
+def application(env, start_response):
+    start_response('200 OK', [('Content-Type', 'text/html')])
+    return ["Hello World"]
+
+
+def main():
+    return application
+
+
+class WSGI(object):
+
+    @classmethod
+    def app(self):
+        return application
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/pbr/tests/testpackage/setup.cfg 
new/pbr-1.5.0/pbr/tests/testpackage/setup.cfg
--- old/pbr-1.3.0/pbr/tests/testpackage/setup.cfg       2015-07-10 
23:32:30.000000000 +0200
+++ new/pbr-1.5.0/pbr/tests/testpackage/setup.cfg       2015-08-13 
21:33:38.000000000 +0200
@@ -38,6 +38,10 @@
     pbr_test_cmd = pbr_testpackage.cmd:main
     pbr_test_cmd_with_class = pbr_testpackage.cmd:Foo.bar
 
+wsgi_scripts =
+    pbr_test_wsgi = pbr_testpackage.wsgi:main
+    pbr_test_wsgi_with_class = pbr_testpackage.wsgi:WSGI.app
+
 [extension=pbr_testpackage.testext]
 sources = src/testext.c
 optional = True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/pbr.egg-info/PKG-INFO 
new/pbr-1.5.0/pbr.egg-info/PKG-INFO
--- old/pbr-1.3.0/pbr.egg-info/PKG-INFO 2015-07-10 23:32:49.000000000 +0200
+++ new/pbr-1.5.0/pbr.egg-info/PKG-INFO 2015-08-13 21:33:57.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pbr
-Version: 1.3.0
+Version: 1.5.0
 Summary: Python Build Reasonableness
 Home-page: https://launchpad.net/pbr
 Author: OpenStack
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/pbr.egg-info/SOURCES.txt 
new/pbr-1.5.0/pbr.egg-info/SOURCES.txt
--- old/pbr-1.3.0/pbr.egg-info/SOURCES.txt      2015-07-10 23:32:49.000000000 
+0200
+++ new/pbr-1.5.0/pbr.egg-info/SOURCES.txt      2015-08-13 21:33:57.000000000 
+0200
@@ -64,6 +64,7 @@
 pbr/tests/test_setup.py
 pbr/tests/test_util.py
 pbr/tests/test_version.py
+pbr/tests/test_wsgi.py
 pbr/tests/util.py
 pbr/tests/testpackage/CHANGES.txt
 pbr/tests/testpackage/LICENSE.txt
@@ -81,6 +82,7 @@
 pbr/tests/testpackage/pbr_testpackage/_setup_hooks.py
 pbr/tests/testpackage/pbr_testpackage/cmd.py
 pbr/tests/testpackage/pbr_testpackage/extra.py
+pbr/tests/testpackage/pbr_testpackage/wsgi.py
 pbr/tests/testpackage/pbr_testpackage/package_data/1.txt
 pbr/tests/testpackage/pbr_testpackage/package_data/2.txt
 pbr/tests/testpackage/src/testext.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/pbr.egg-info/pbr.json 
new/pbr-1.5.0/pbr.egg-info/pbr.json
--- old/pbr-1.3.0/pbr.egg-info/pbr.json 2015-07-10 23:32:49.000000000 +0200
+++ new/pbr-1.5.0/pbr.egg-info/pbr.json 2015-08-13 21:33:57.000000000 +0200
@@ -1 +1 @@
-{"git_version": "61a3a1e", "is_release": true}
\ No newline at end of file
+{"is_release": true, "git_version": "5c0bb91"}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/setup.cfg new/pbr-1.5.0/setup.cfg
--- old/pbr-1.3.0/setup.cfg     2015-07-10 23:32:49.000000000 +0200
+++ new/pbr-1.5.0/setup.cfg     2015-08-13 21:33:57.000000000 +0200
@@ -53,7 +53,7 @@
 universal = 1
 
 [egg_info]
-tag_svn_revision = 0
 tag_build = 
+tag_svn_revision = 0
 tag_date = 0
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pbr-1.3.0/test-requirements.txt 
new/pbr-1.5.0/test-requirements.txt
--- old/pbr-1.3.0/test-requirements.txt 2015-07-10 23:32:31.000000000 +0200
+++ new/pbr-1.5.0/test-requirements.txt 2015-08-13 21:33:38.000000000 +0200
@@ -5,8 +5,7 @@
 discover
 fixtures>=1.3.1
 hacking<0.11,>=0.10.0
-mock>=1.0;python_version!='2.6'
-mock==1.0.1;python_version=='2.6'
+mock>=1.2
 python-subunit>=0.0.18
 sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2
 six>=1.9.0



Reply via email to