summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-04-11 00:42:59 +0000
committerCoprDistGit <infra@openeuler.org>2023-04-11 00:42:59 +0000
commit65b3bec0e59048cec4981b03cb113f6d858de0c9 (patch)
tree65e3cb7fed90be5bfef3d4b40c01271614ddc1bf
parent9bd6771a5d0ebbcab6145f1d999015262c323455 (diff)
automatic import of python-tox-factor
-rw-r--r--.gitignore1
-rw-r--r--python-tox-factor.spec691
-rw-r--r--sources1
3 files changed, 693 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..eab5454 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/tox-factor-0.1.2.tar.gz
diff --git a/python-tox-factor.spec b/python-tox-factor.spec
new file mode 100644
index 0000000..ee25a05
--- /dev/null
+++ b/python-tox-factor.spec
@@ -0,0 +1,691 @@
+%global _empty_manifest_terminate_build 0
+Name: python-tox-factor
+Version: 0.1.2
+Release: 1
+Summary: Run tox testenvs that match a given factor
+License: BSD 3-Clause License
+URL: https://github.com/rpkilby/tox-factor
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/74/89/235bea4ce5b7e0e5494d145883a57cfeac083b7acec16a59ac8399e62a49/tox-factor-0.1.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-tox
+
+%description
+# tox-factor
+
+[![CircleCI](https://circleci.com/gh/rpkilby/tox-factor.svg?style=shield)](https://circleci.com/gh/rpkilby/tox-factor)
+[![Appveyor](https://ci.appveyor.com/api/projects/status/8yqgrr22dct9rxxg?svg=true)](https://ci.appveyor.com/project/rpkilby/tox-factor)
+[![codecov](https://codecov.io/gh/rpkilby/tox-factor/branch/master/graph/badge.svg)](https://codecov.io/gh/rpkilby/tox-factor)
+[![version](https://img.shields.io/pypi/v/tox-factor.svg)](https://pypi.python.org/pypi/tox-factor)
+[![python](https://img.shields.io/pypi/pyversions/tox-factor.svg)](https://pypi.org/project/tox-factor/)
+[![license](https://img.shields.io/pypi/l/tox-factor.svg)](https://pypi.python.org/pypi/tox-factor)
+
+## What is tox-factor?
+
+tox-factor enables running a subset of tox test envs, based on factor matching.
+
+
+## Okay, but what does that *actually* mean?
+
+Take the following tox config:
+
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django{20,21,22}-{redis,memcached}
+```
+
+The above defines 18 test envs, based on three factor groups - the python
+version, the django version, and a caching backend. While the above is powerful,
+tox does not provide a way to run builds based on a subset of those factors.
+For example, the call to run all Python 3.7 builds would be:
+
+```shell
+$ tox -e py37-django20-redis,py37-django20-memcached,py37-django21-redis,py37-django21-memcached,py37-django22-redis,py37-django22-memcached
+```
+
+tox-factor functions similarly to the `-e <env name>` argument, except it runs
+all envs that match the given factor. The six `py37` builds could be ran with:
+
+```shell
+$ tox -f py37
+```
+
+In addition to ease of use when running tox locally, this is useful for some CI
+setups. For example, two common tox CI patterns are to either:
+
+- Define a CI job for each tox test env. e.g.,
+
+ `tox -e py37-django20-redis`
+
+- Define a CI job for a common environment that runs multiple test envs. e.g.,
+
+ `tox -e py37-django20-redis,py37-django20-memcached,...`
+
+For the latter case, this plugin eases maintenance of CI, as it could be
+shortened to `tox -f py37`. Additionally, take the following update to the above
+tox config:
+
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django{20,21,22}-{redis,memcached}
+ py{36,37,38}-django{30}-{redis,memcached}
+```
+
+By using tox-factor, it wouldn't be necessary to update the Python 3.7 build, as
+the new `py37-django30-*` env would be matched automatically.
+
+
+
+## Verifying the matched test envs
+
+If you want to verify which test envs are actually ran, combine the factor
+matching with the `-l` flag. This will display all test envs that match. e.g.,
+
+```shell
+$ tox -f py37 -l
+py37-django20-redis
+py37-django20-memcached
+py37-django21-redis
+py37-django21-memcached
+py37-django22-redis
+py37-django22-memcached
+```
+
+
+## Usage details
+
+The factor option accepts a comma-separated list (similar to the `-e` option).
+```shell
+$ tox -f py27,py37 -l
+py27-django111
+py37-django21
+```
+
+Alternatively, factors can be provided via the `TOXFACTOR` environment variable:
+```shell
+$ TOXFACTOR=py27,py37 tox -l
+py27-django111
+py37-django21
+```
+
+Factors can also match non-generative env names. For example, given the
+following tox config:
+
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django20
+
+[testenv:list]
+```
+
+Then the following would match:
+
+```shell
+$ tox -f py37,lint -l
+py37-django20
+lint
+```
+
+Factors are always superseded by a given `toxenv`. For example, tox-factor would
+noop in the following cases:
+
+```shell
+$ tox -f py37 -e py35-django21 -l
+py35-django21
+
+$ TOXENV=py35-django21 tox -f py37 -l
+py35-django21
+```
+
+Factors do not support partial matching. `tox -f py3` would not match `py37`.
+However, factors may match disparate dash-separated parts. Given the following:
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django{20,21,22}-{redis,memcached}
+```
+
+Then `tox -f py37-redis` would match:
+```
+py37-django20-redis
+py37-django21-redis
+py37-django22-redis
+```
+
+
+## Release Process
+
+- Update changelog
+- Update package version in setup.py
+- Create git tag for version
+- Upload release to PyPI test server
+- Upload release to official PyPI server
+
+```shell
+$ pip install -U pip setuptools wheel twine
+$ rm -rf dist/ build/
+$ python setup.py sdist bdist_wheel
+$ twine upload -r test dist/*
+$ twine upload dist/*
+```
+
+
+## Thanks
+
+This code is largely based off the work done by @ryanhiebert in [tox-travis][1].
+Without his efforts, it would have taken significantly more time to write and
+test this package.
+
+## License
+
+See: [LICENSE][2]
+
+[1]: https://github.com/tox-dev/tox-travis
+[2]: https://github.com/rpkilby/tox-factor/blob/master/LICENSE
+
+BSD 3-Clause License
+
+Copyright (c) 2019, Ryan P Kilby
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+
+%package -n python3-tox-factor
+Summary: Run tox testenvs that match a given factor
+Provides: python-tox-factor
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-tox-factor
+# tox-factor
+
+[![CircleCI](https://circleci.com/gh/rpkilby/tox-factor.svg?style=shield)](https://circleci.com/gh/rpkilby/tox-factor)
+[![Appveyor](https://ci.appveyor.com/api/projects/status/8yqgrr22dct9rxxg?svg=true)](https://ci.appveyor.com/project/rpkilby/tox-factor)
+[![codecov](https://codecov.io/gh/rpkilby/tox-factor/branch/master/graph/badge.svg)](https://codecov.io/gh/rpkilby/tox-factor)
+[![version](https://img.shields.io/pypi/v/tox-factor.svg)](https://pypi.python.org/pypi/tox-factor)
+[![python](https://img.shields.io/pypi/pyversions/tox-factor.svg)](https://pypi.org/project/tox-factor/)
+[![license](https://img.shields.io/pypi/l/tox-factor.svg)](https://pypi.python.org/pypi/tox-factor)
+
+## What is tox-factor?
+
+tox-factor enables running a subset of tox test envs, based on factor matching.
+
+
+## Okay, but what does that *actually* mean?
+
+Take the following tox config:
+
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django{20,21,22}-{redis,memcached}
+```
+
+The above defines 18 test envs, based on three factor groups - the python
+version, the django version, and a caching backend. While the above is powerful,
+tox does not provide a way to run builds based on a subset of those factors.
+For example, the call to run all Python 3.7 builds would be:
+
+```shell
+$ tox -e py37-django20-redis,py37-django20-memcached,py37-django21-redis,py37-django21-memcached,py37-django22-redis,py37-django22-memcached
+```
+
+tox-factor functions similarly to the `-e <env name>` argument, except it runs
+all envs that match the given factor. The six `py37` builds could be ran with:
+
+```shell
+$ tox -f py37
+```
+
+In addition to ease of use when running tox locally, this is useful for some CI
+setups. For example, two common tox CI patterns are to either:
+
+- Define a CI job for each tox test env. e.g.,
+
+ `tox -e py37-django20-redis`
+
+- Define a CI job for a common environment that runs multiple test envs. e.g.,
+
+ `tox -e py37-django20-redis,py37-django20-memcached,...`
+
+For the latter case, this plugin eases maintenance of CI, as it could be
+shortened to `tox -f py37`. Additionally, take the following update to the above
+tox config:
+
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django{20,21,22}-{redis,memcached}
+ py{36,37,38}-django{30}-{redis,memcached}
+```
+
+By using tox-factor, it wouldn't be necessary to update the Python 3.7 build, as
+the new `py37-django30-*` env would be matched automatically.
+
+
+
+## Verifying the matched test envs
+
+If you want to verify which test envs are actually ran, combine the factor
+matching with the `-l` flag. This will display all test envs that match. e.g.,
+
+```shell
+$ tox -f py37 -l
+py37-django20-redis
+py37-django20-memcached
+py37-django21-redis
+py37-django21-memcached
+py37-django22-redis
+py37-django22-memcached
+```
+
+
+## Usage details
+
+The factor option accepts a comma-separated list (similar to the `-e` option).
+```shell
+$ tox -f py27,py37 -l
+py27-django111
+py37-django21
+```
+
+Alternatively, factors can be provided via the `TOXFACTOR` environment variable:
+```shell
+$ TOXFACTOR=py27,py37 tox -l
+py27-django111
+py37-django21
+```
+
+Factors can also match non-generative env names. For example, given the
+following tox config:
+
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django20
+
+[testenv:list]
+```
+
+Then the following would match:
+
+```shell
+$ tox -f py37,lint -l
+py37-django20
+lint
+```
+
+Factors are always superseded by a given `toxenv`. For example, tox-factor would
+noop in the following cases:
+
+```shell
+$ tox -f py37 -e py35-django21 -l
+py35-django21
+
+$ TOXENV=py35-django21 tox -f py37 -l
+py35-django21
+```
+
+Factors do not support partial matching. `tox -f py3` would not match `py37`.
+However, factors may match disparate dash-separated parts. Given the following:
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django{20,21,22}-{redis,memcached}
+```
+
+Then `tox -f py37-redis` would match:
+```
+py37-django20-redis
+py37-django21-redis
+py37-django22-redis
+```
+
+
+## Release Process
+
+- Update changelog
+- Update package version in setup.py
+- Create git tag for version
+- Upload release to PyPI test server
+- Upload release to official PyPI server
+
+```shell
+$ pip install -U pip setuptools wheel twine
+$ rm -rf dist/ build/
+$ python setup.py sdist bdist_wheel
+$ twine upload -r test dist/*
+$ twine upload dist/*
+```
+
+
+## Thanks
+
+This code is largely based off the work done by @ryanhiebert in [tox-travis][1].
+Without his efforts, it would have taken significantly more time to write and
+test this package.
+
+## License
+
+See: [LICENSE][2]
+
+[1]: https://github.com/tox-dev/tox-travis
+[2]: https://github.com/rpkilby/tox-factor/blob/master/LICENSE
+
+BSD 3-Clause License
+
+Copyright (c) 2019, Ryan P Kilby
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+
+%package help
+Summary: Development documents and examples for tox-factor
+Provides: python3-tox-factor-doc
+%description help
+# tox-factor
+
+[![CircleCI](https://circleci.com/gh/rpkilby/tox-factor.svg?style=shield)](https://circleci.com/gh/rpkilby/tox-factor)
+[![Appveyor](https://ci.appveyor.com/api/projects/status/8yqgrr22dct9rxxg?svg=true)](https://ci.appveyor.com/project/rpkilby/tox-factor)
+[![codecov](https://codecov.io/gh/rpkilby/tox-factor/branch/master/graph/badge.svg)](https://codecov.io/gh/rpkilby/tox-factor)
+[![version](https://img.shields.io/pypi/v/tox-factor.svg)](https://pypi.python.org/pypi/tox-factor)
+[![python](https://img.shields.io/pypi/pyversions/tox-factor.svg)](https://pypi.org/project/tox-factor/)
+[![license](https://img.shields.io/pypi/l/tox-factor.svg)](https://pypi.python.org/pypi/tox-factor)
+
+## What is tox-factor?
+
+tox-factor enables running a subset of tox test envs, based on factor matching.
+
+
+## Okay, but what does that *actually* mean?
+
+Take the following tox config:
+
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django{20,21,22}-{redis,memcached}
+```
+
+The above defines 18 test envs, based on three factor groups - the python
+version, the django version, and a caching backend. While the above is powerful,
+tox does not provide a way to run builds based on a subset of those factors.
+For example, the call to run all Python 3.7 builds would be:
+
+```shell
+$ tox -e py37-django20-redis,py37-django20-memcached,py37-django21-redis,py37-django21-memcached,py37-django22-redis,py37-django22-memcached
+```
+
+tox-factor functions similarly to the `-e <env name>` argument, except it runs
+all envs that match the given factor. The six `py37` builds could be ran with:
+
+```shell
+$ tox -f py37
+```
+
+In addition to ease of use when running tox locally, this is useful for some CI
+setups. For example, two common tox CI patterns are to either:
+
+- Define a CI job for each tox test env. e.g.,
+
+ `tox -e py37-django20-redis`
+
+- Define a CI job for a common environment that runs multiple test envs. e.g.,
+
+ `tox -e py37-django20-redis,py37-django20-memcached,...`
+
+For the latter case, this plugin eases maintenance of CI, as it could be
+shortened to `tox -f py37`. Additionally, take the following update to the above
+tox config:
+
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django{20,21,22}-{redis,memcached}
+ py{36,37,38}-django{30}-{redis,memcached}
+```
+
+By using tox-factor, it wouldn't be necessary to update the Python 3.7 build, as
+the new `py37-django30-*` env would be matched automatically.
+
+
+
+## Verifying the matched test envs
+
+If you want to verify which test envs are actually ran, combine the factor
+matching with the `-l` flag. This will display all test envs that match. e.g.,
+
+```shell
+$ tox -f py37 -l
+py37-django20-redis
+py37-django20-memcached
+py37-django21-redis
+py37-django21-memcached
+py37-django22-redis
+py37-django22-memcached
+```
+
+
+## Usage details
+
+The factor option accepts a comma-separated list (similar to the `-e` option).
+```shell
+$ tox -f py27,py37 -l
+py27-django111
+py37-django21
+```
+
+Alternatively, factors can be provided via the `TOXFACTOR` environment variable:
+```shell
+$ TOXFACTOR=py27,py37 tox -l
+py27-django111
+py37-django21
+```
+
+Factors can also match non-generative env names. For example, given the
+following tox config:
+
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django20
+
+[testenv:list]
+```
+
+Then the following would match:
+
+```shell
+$ tox -f py37,lint -l
+py37-django20
+lint
+```
+
+Factors are always superseded by a given `toxenv`. For example, tox-factor would
+noop in the following cases:
+
+```shell
+$ tox -f py37 -e py35-django21 -l
+py35-django21
+
+$ TOXENV=py35-django21 tox -f py37 -l
+py35-django21
+```
+
+Factors do not support partial matching. `tox -f py3` would not match `py37`.
+However, factors may match disparate dash-separated parts. Given the following:
+```ini
+[tox]
+envlist =
+ py{35,36,37}-django{20,21,22}-{redis,memcached}
+```
+
+Then `tox -f py37-redis` would match:
+```
+py37-django20-redis
+py37-django21-redis
+py37-django22-redis
+```
+
+
+## Release Process
+
+- Update changelog
+- Update package version in setup.py
+- Create git tag for version
+- Upload release to PyPI test server
+- Upload release to official PyPI server
+
+```shell
+$ pip install -U pip setuptools wheel twine
+$ rm -rf dist/ build/
+$ python setup.py sdist bdist_wheel
+$ twine upload -r test dist/*
+$ twine upload dist/*
+```
+
+
+## Thanks
+
+This code is largely based off the work done by @ryanhiebert in [tox-travis][1].
+Without his efforts, it would have taken significantly more time to write and
+test this package.
+
+## License
+
+See: [LICENSE][2]
+
+[1]: https://github.com/tox-dev/tox-travis
+[2]: https://github.com/rpkilby/tox-factor/blob/master/LICENSE
+
+BSD 3-Clause License
+
+Copyright (c) 2019, Ryan P Kilby
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+* Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+
+
+%prep
+%autosetup -n tox-factor-0.1.2
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-tox-factor -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Apr 11 2023 Python_Bot <Python_Bot@openeuler.org> - 0.1.2-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..ab8ca09
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+5cdfaec1ad7c42451b2dd89de71aa899 tox-factor-0.1.2.tar.gz