Hello community, here is the log from the commit of package python-oslotest for openSUSE:Factory checked in at 2014-04-02 17:25:33 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-oslotest (Old) and /work/SRC/openSUSE:Factory/.python-oslotest.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-oslotest" Changes: -------- --- /work/SRC/openSUSE:Factory/python-oslotest/python-oslotest.changes 2014-03-28 12:12:40.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.python-oslotest.new/python-oslotest.changes 2014-04-02 17:25:34.000000000 +0200 @@ -1,0 +2,13 @@ +Wed Apr 2 09:30:30 UTC 2014 - [email protected] + +- Update to version 1.0.0: + * Import run_cross_tests.sh from oslo-incubator + * Fix up documentation files + * Fake logger as instance attribute + * Require testrepository and other tools at runtime + * Updated from global requirements + * Add tool to run cross-project tests +- Fix dependencies +- Use testrepository to run tests + +------------------------------------------------------------------- Old: ---- oslotest-0.1.tar.gz New: ---- oslotest-1.0.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-oslotest.spec ++++++ --- /var/tmp/diff_new_pack.h0D4wk/_old 2014-04-02 17:25:34.000000000 +0200 +++ /var/tmp/diff_new_pack.h0D4wk/_new 2014-04-02 17:25:34.000000000 +0200 @@ -17,7 +17,7 @@ Name: python-oslotest -Version: 0.1 +Version: 1.0.0 Release: 0 Summary: OpenStack test framework License: Apache-2.0 @@ -25,36 +25,35 @@ Url: http://launchpad.net/oslo Source: https://pypi.python.org/packages/source/o/oslotest/oslotest-%{version}.tar.gz BuildRequires: python-devel -BuildRequires: python-fixtures -BuildRequires: python-mock -BuildRequires: python-mox -BuildRequires: python-nose BuildRequires: python-pbr -BuildRequires: python-setuptools +# Test requirements: +BuildRequires: python-fixtures >= 0.3.14 +BuildRequires: python-mock >= 1.0 +BuildRequires: python-mox >= 0.5.3 +BuildRequires: python-python-subunit >= 0.0.18 BuildRequires: python-six -BuildRequires: python-testtools +BuildRequires: python-testrepository >= 0.0.18 +BuildRequires: python-testscenarios >= 0.4 +BuildRequires: python-testtools >= 0.9.34 +Requires: python-fixtures >= 0.3.14 +Requires: python-mock >= 1.0 +Requires: python-mox >= 0.5.3 +Requires: python-python-subunit >= 0.0.18 +Requires: python-six +Requires: python-testrepository >= 0.0.18 +Requires: python-testscenarios >= 0.4 +Requires: python-testtools >= 0.9.34 BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} && 0%{?suse_version} <= 1110 +BuildRequires: python-discover %{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")} %else BuildArch: noarch %endif %description -========== - oslotest -========== - OpenStack test framework -* Free software: Apache license -* Documentation: http://docs.openstack.org/developer/oslotest - -Features --------- - -* TODO - %prep %setup -q -n oslotest-%{version} @@ -65,7 +64,7 @@ python setup.py install --prefix=%{_prefix} --root=%{buildroot} %check -nosetests +testr init && testr run %files %defattr(-,root,root,-) ++++++ oslotest-0.1.tar.gz -> oslotest-1.0.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/ChangeLog new/oslotest-1.0.0/ChangeLog --- old/oslotest-0.1/ChangeLog 2014-02-21 20:03:26.000000000 +0100 +++ new/oslotest-1.0.0/ChangeLog 2014-04-01 18:50:57.000000000 +0200 @@ -1,6 +1,16 @@ CHANGES ======= +1.0.0 +----- + +* Import run_cross_tests.sh from oslo-incubator +* Fix up documentation files +* Fake logger as instance attribute +* Require testrepository and other tools at runtime +* Updated from global requirements +* Add tool to run cross-project tests + 0.1 --- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/PKG-INFO new/oslotest-1.0.0/PKG-INFO --- old/oslotest-0.1/PKG-INFO 2014-02-21 20:03:26.000000000 +0100 +++ new/oslotest-1.0.0/PKG-INFO 2014-04-01 18:50:57.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: oslotest -Version: 0.1 +Version: 1.0.0 Summary: OpenStack test framework Home-page: http://launchpad.net/oslo Author: OpenStack @@ -10,15 +10,80 @@ oslotest ========== - OpenStack test framework + OpenStack test framework and test fixtures * Free software: Apache license * Documentation: http://docs.openstack.org/developer/oslotest - Features - -------- + Cross-testing With Other Projects + ================================= - * TODO + The oslotest package is cross-tested against its consuming projects to + ensure that no changes to the library break the tests in those other + projects. + + In the Gate + ----------- + + To add your project to the list for cross-testing, update + ``modules/openstack_project/files/jenkins_job_builder/config/projects.yaml`` + in the openstack-infra/config git repository and add sections like: + + :: + + - '{pipeline}-oslo.test-dsvm-{name}{branch-designator}': + pipeline: check + node: 'devstack-precise || devstack-precise-check' + branch-designator: '' + branch-override: default + - '{pipeline}-oslo.test-dsvm-{name}{branch-designator}': + pipeline: gate + node: devstack-precise + branch-designator: '' + branch-override: default + + to the ``jobs`` list for your project. Refer to + https://review.openstack.org/#/c/76381 for an example. + + Then update ``modules/openstack_project/files/zuul/layout.yaml`` by + adding the new check test to the global list of jobs (to make it + non-voting to start), and then to your project and to oslo.test. + + :: + + - name: check-oslo.test-dsvm-oslo.messaging + voting: false + + :: + + - name: openstack/oslo.messaging + ... + check: + ... + - check-oslo.test-dsvm-oslo.messaging + ... + + :: + + - name: openstack/oslo.test + ... + check: + ... + - check-oslo.test-dsvm-oslo.messaging + ... + + + Locally + ------- + + To run the cross-tests locally, invoke the script directly, passing + the path to the other source repository and the tox environment name + to use: + + :: + + $ cd oslo.test + $ ./tools/run_cross_tests.sh ~/repos/openstack/oslo.config py27 Platform: UNKNOWN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/README.rst new/oslotest-1.0.0/README.rst --- old/oslotest-0.1/README.rst 2014-02-21 20:02:58.000000000 +0100 +++ new/oslotest-1.0.0/README.rst 2014-04-01 18:50:31.000000000 +0200 @@ -2,12 +2,77 @@ oslotest ========== -OpenStack test framework +OpenStack test framework and test fixtures * Free software: Apache license * Documentation: http://docs.openstack.org/developer/oslotest -Features --------- +Cross-testing With Other Projects +================================= -* TODO +The oslotest package is cross-tested against its consuming projects to +ensure that no changes to the library break the tests in those other +projects. + +In the Gate +----------- + +To add your project to the list for cross-testing, update +``modules/openstack_project/files/jenkins_job_builder/config/projects.yaml`` +in the openstack-infra/config git repository and add sections like: + +:: + + - '{pipeline}-oslo.test-dsvm-{name}{branch-designator}': + pipeline: check + node: 'devstack-precise || devstack-precise-check' + branch-designator: '' + branch-override: default + - '{pipeline}-oslo.test-dsvm-{name}{branch-designator}': + pipeline: gate + node: devstack-precise + branch-designator: '' + branch-override: default + +to the ``jobs`` list for your project. Refer to +https://review.openstack.org/#/c/76381 for an example. + +Then update ``modules/openstack_project/files/zuul/layout.yaml`` by +adding the new check test to the global list of jobs (to make it +non-voting to start), and then to your project and to oslo.test. + +:: + + - name: check-oslo.test-dsvm-oslo.messaging + voting: false + +:: + + - name: openstack/oslo.messaging + ... + check: + ... + - check-oslo.test-dsvm-oslo.messaging + ... + +:: + + - name: openstack/oslo.test + ... + check: + ... + - check-oslo.test-dsvm-oslo.messaging + ... + + +Locally +------- + +To run the cross-tests locally, invoke the script directly, passing +the path to the other source repository and the tox environment name +to use: + +:: + + $ cd oslo.test + $ ./tools/run_cross_tests.sh ~/repos/openstack/oslo.config py27 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/doc/source/contributing.rst new/oslotest-1.0.0/doc/source/contributing.rst --- old/oslotest-0.1/doc/source/contributing.rst 2014-02-21 20:02:57.000000000 +0100 +++ new/oslotest-1.0.0/doc/source/contributing.rst 2014-04-01 18:50:31.000000000 +0200 @@ -1 +1,5 @@ -.. include:: ../../CONTRIBUTING.rst \ No newline at end of file +============== + Contributing +============== + +.. include:: ../../CONTRIBUTING.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/doc/source/index.rst new/oslotest-1.0.0/doc/source/index.rst --- old/oslotest-0.1/doc/source/index.rst 2014-02-21 20:02:57.000000000 +0100 +++ new/oslotest-1.0.0/doc/source/index.rst 2014-04-01 18:50:31.000000000 +0200 @@ -3,8 +3,8 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. -Welcome to 's documentation! -======================================================== +Welcome to oslo.test's documentation! +===================================== Contents: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/doc/source/installation.rst new/oslotest-1.0.0/doc/source/installation.rst --- old/oslotest-0.1/doc/source/installation.rst 2014-02-21 20:02:57.000000000 +0100 +++ new/oslotest-1.0.0/doc/source/installation.rst 2014-04-01 18:50:31.000000000 +0200 @@ -4,9 +4,4 @@ At the command line:: - $ pip install - -Or, if you have virtualenvwrapper installed:: - - $ mkvirtualenv - $ pip install \ No newline at end of file + $ pip install oslotest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/doc/source/readme.rst new/oslotest-1.0.0/doc/source/readme.rst --- old/oslotest-0.1/doc/source/readme.rst 2014-02-21 20:02:57.000000000 +0100 +++ new/oslotest-1.0.0/doc/source/readme.rst 2014-04-01 18:50:31.000000000 +0200 @@ -1 +1 @@ -.. include:: ../README.rst \ No newline at end of file +.. include:: ../../README.rst diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/doc/source/usage.rst new/oslotest-1.0.0/doc/source/usage.rst --- old/oslotest-0.1/doc/source/usage.rst 2014-02-21 20:02:57.000000000 +0100 +++ new/oslotest-1.0.0/doc/source/usage.rst 2014-04-01 18:50:31.000000000 +0200 @@ -4,4 +4,10 @@ To use in a project:: - import test \ No newline at end of file + from oslotest import base + + + class MyTest(base.BaseTestCase): + + def test_something(self): + self.assertTrue(True) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/openstack-common.conf new/oslotest-1.0.0/openstack-common.conf --- old/oslotest-0.1/openstack-common.conf 1970-01-01 01:00:00.000000000 +0100 +++ new/oslotest-1.0.0/openstack-common.conf 2014-04-01 18:50:31.000000000 +0200 @@ -0,0 +1,7 @@ +[DEFAULT] + +# The list of modules to copy from oslo-incubator.git +script = tools/run_cross_tests.sh + +# The base module to hold the copy of openstack.common +base=oslotest diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/oslotest/base.py new/oslotest-1.0.0/oslotest/base.py --- old/oslotest-0.1/oslotest/base.py 2014-02-21 20:02:58.000000000 +0100 +++ new/oslotest-1.0.0/oslotest/base.py 2014-04-01 18:50:31.000000000 +0200 @@ -61,7 +61,7 @@ level = logging.INFO capture_logs = os.environ.get('OS_LOG_CAPTURE') in _TRUE_VALUES if capture_logs: - self.useFixture( + self.logger = self.useFixture( fixtures.FakeLogger( format=_LOG_FORMAT, level=level, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/oslotest.egg-info/PKG-INFO new/oslotest-1.0.0/oslotest.egg-info/PKG-INFO --- old/oslotest-0.1/oslotest.egg-info/PKG-INFO 2014-02-21 20:03:26.000000000 +0100 +++ new/oslotest-1.0.0/oslotest.egg-info/PKG-INFO 2014-04-01 18:50:57.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: oslotest -Version: 0.1 +Version: 1.0.0 Summary: OpenStack test framework Home-page: http://launchpad.net/oslo Author: OpenStack @@ -10,15 +10,80 @@ oslotest ========== - OpenStack test framework + OpenStack test framework and test fixtures * Free software: Apache license * Documentation: http://docs.openstack.org/developer/oslotest - Features - -------- + Cross-testing With Other Projects + ================================= - * TODO + The oslotest package is cross-tested against its consuming projects to + ensure that no changes to the library break the tests in those other + projects. + + In the Gate + ----------- + + To add your project to the list for cross-testing, update + ``modules/openstack_project/files/jenkins_job_builder/config/projects.yaml`` + in the openstack-infra/config git repository and add sections like: + + :: + + - '{pipeline}-oslo.test-dsvm-{name}{branch-designator}': + pipeline: check + node: 'devstack-precise || devstack-precise-check' + branch-designator: '' + branch-override: default + - '{pipeline}-oslo.test-dsvm-{name}{branch-designator}': + pipeline: gate + node: devstack-precise + branch-designator: '' + branch-override: default + + to the ``jobs`` list for your project. Refer to + https://review.openstack.org/#/c/76381 for an example. + + Then update ``modules/openstack_project/files/zuul/layout.yaml`` by + adding the new check test to the global list of jobs (to make it + non-voting to start), and then to your project and to oslo.test. + + :: + + - name: check-oslo.test-dsvm-oslo.messaging + voting: false + + :: + + - name: openstack/oslo.messaging + ... + check: + ... + - check-oslo.test-dsvm-oslo.messaging + ... + + :: + + - name: openstack/oslo.test + ... + check: + ... + - check-oslo.test-dsvm-oslo.messaging + ... + + + Locally + ------- + + To run the cross-tests locally, invoke the script directly, passing + the path to the other source repository and the tox environment name + to use: + + :: + + $ cd oslo.test + $ ./tools/run_cross_tests.sh ~/repos/openstack/oslo.config py27 Platform: UNKNOWN diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/oslotest.egg-info/SOURCES.txt new/oslotest-1.0.0/oslotest.egg-info/SOURCES.txt --- old/oslotest-0.1/oslotest.egg-info/SOURCES.txt 2014-02-21 20:03:26.000000000 +0100 +++ new/oslotest-1.0.0/oslotest.egg-info/SOURCES.txt 2014-04-01 18:50:57.000000000 +0200 @@ -8,6 +8,7 @@ LICENSE MANIFEST.in README.rst +openstack-common.conf requirements-py3.txt requirements.txt setup.cfg @@ -34,4 +35,5 @@ tests/__init__.py tests/unit/__init__.py tests/unit/test_mockpatch.py -tests/unit/test_moxstubout.py \ No newline at end of file +tests/unit/test_moxstubout.py +tools/run_cross_tests.sh \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/oslotest.egg-info/requires.txt new/oslotest-1.0.0/oslotest.egg-info/requires.txt --- old/oslotest-0.1/oslotest.egg-info/requires.txt 2014-02-21 20:03:26.000000000 +0100 +++ new/oslotest-1.0.0/oslotest.egg-info/requires.txt 2014-04-01 18:50:57.000000000 +0200 @@ -1,4 +1,8 @@ +discover fixtures>=0.3.14 +python-subunit>=0.0.18 +testrepository>=0.0.18 +testscenarios>=0.4 testtools>=0.9.34 mock>=1.0 mox>=0.5.3 \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/requirements-py3.txt new/oslotest-1.0.0/requirements-py3.txt --- old/oslotest-0.1/requirements-py3.txt 2014-02-21 20:02:57.000000000 +0100 +++ new/oslotest-1.0.0/requirements-py3.txt 2014-04-01 18:50:31.000000000 +0200 @@ -1,4 +1,8 @@ +discover fixtures>=0.3.14 -testtools>=0.9.32 +python-subunit>=0.0.18 +testscenarios>=0.4 +testrepository>=0.0.18 +testtools>=0.9.34 mock>=1.0 mox3>=0.7.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/requirements.txt new/oslotest-1.0.0/requirements.txt --- old/oslotest-0.1/requirements.txt 2014-02-21 20:02:57.000000000 +0100 +++ new/oslotest-1.0.0/requirements.txt 2014-04-01 18:50:31.000000000 +0200 @@ -1,4 +1,8 @@ +discover fixtures>=0.3.14 +python-subunit>=0.0.18 +testrepository>=0.0.18 +testscenarios>=0.4 testtools>=0.9.34 mock>=1.0 mox>=0.5.3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/test-requirements-py3.txt new/oslotest-1.0.0/test-requirements-py3.txt --- old/oslotest-0.1/test-requirements-py3.txt 2014-02-21 20:02:57.000000000 +0100 +++ new/oslotest-1.0.0/test-requirements-py3.txt 2014-04-01 18:50:31.000000000 +0200 @@ -1,10 +1,5 @@ hacking>=0.8.0,<0.9 -discover -python-subunit -testrepository>=0.0.17 -testscenarios>=0.4 - # when we can require tox>= 1.4, this can go into tox.ini: # [testenv:cover] # deps = {[testenv]deps} coverage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/test-requirements.txt new/oslotest-1.0.0/test-requirements.txt --- old/oslotest-0.1/test-requirements.txt 2014-02-21 20:02:57.000000000 +0100 +++ new/oslotest-1.0.0/test-requirements.txt 2014-04-01 18:50:31.000000000 +0200 @@ -1,10 +1,5 @@ hacking>=0.8.0,<0.9 -discover -python-subunit>=0.0.18 -testrepository>=0.0.17 -testscenarios>=0.4 - # when we can require tox>= 1.4, this can go into tox.ini: # [testenv:cover] # deps = {[testenv]deps} coverage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/oslotest-0.1/tools/run_cross_tests.sh new/oslotest-1.0.0/tools/run_cross_tests.sh --- old/oslotest-0.1/tools/run_cross_tests.sh 1970-01-01 01:00:00.000000000 +0100 +++ new/oslotest-1.0.0/tools/run_cross_tests.sh 2014-04-01 18:50:31.000000000 +0200 @@ -0,0 +1,70 @@ +#!/bin/bash +# +# Run cross-project tests + +# Fail the build if any command fails +set -e + +project_dir="$1" +venv="$2" + +# Set up the virtualenv without running the tests +(cd $project_dir && tox --notest -e $venv) + +tox_envbin=$project_dir/.tox/$venv/bin + +our_name=$(python setup.py --name) + +# Replace the pip-installed package with the version in our source +# tree. Look to see if we are already installed before trying to +# uninstall ourselves, to avoid failures from packages that do not use us +# yet. +if $tox_envbin/pip freeze | grep -q $our_name +then + $tox_envbin/pip uninstall -y $our_name +fi +$tox_envbin/pip install -U . + +# Run the tests +(cd $project_dir && tox -e $venv) +result=$? + + +# The below checks are modified from +# openstack-infra/config/modules/jenkins/files/slave_scripts/run-unittests.sh. + +# They expect to be run in the project being tested. +cd $project_dir + +echo "Begin pip freeze output from test virtualenv:" +echo "======================================================================" +.tox/$venv/bin/pip freeze +echo "======================================================================" + +# We only want to run the next check if the tool is installed, so look +# for it before continuing. +if [ -f /usr/local/jenkins/slave_scripts/subunit2html.py -a -d ".testrepository" ] ; then + if [ -f ".testrepository/0.2" ] ; then + cp .testrepository/0.2 ./subunit_log.txt + elif [ -f ".testrepository/0" ] ; then + .tox/$venv/bin/subunit-1to2 < .testrepository/0 > ./subunit_log.txt + fi + .tox/$venv/bin/python /usr/local/jenkins/slave_scripts/subunit2html.py ./subunit_log.txt testr_results.html + gzip -9 ./subunit_log.txt + gzip -9 ./testr_results.html + + export PYTHON=.tox/$venv/bin/python + set -e + rancount=$(.tox/$venv/bin/testr last | sed -ne 's/Ran \([0-9]\+\).*tests in.*/\1/p') + if [ "$rancount" -eq "0" ] ; then + echo + echo "Zero tests were run. At least one test should have been run." + echo "Failing this test as a result" + echo + exit 1 + fi +fi + +# If we make it this far, report status based on the tests that were +# run. +exit $result -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
