summaryrefslogtreecommitdiff
path: root/python-covimerage.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 07:01:36 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 07:01:36 +0000
commit92fecfc81a3c4f81174f46ef7bded47f8cef8c8f (patch)
treec4255c1671bf57f75b052146d95120e3448a94fe /python-covimerage.spec
parentb0793687c408a18a9807886241c08c89178ca217 (diff)
automatic import of python-covimerage
Diffstat (limited to 'python-covimerage.spec')
-rw-r--r--python-covimerage.spec433
1 files changed, 433 insertions, 0 deletions
diff --git a/python-covimerage.spec b/python-covimerage.spec
new file mode 100644
index 0000000..5d15a4c
--- /dev/null
+++ b/python-covimerage.spec
@@ -0,0 +1,433 @@
+%global _empty_manifest_terminate_build 0
+Name: python-covimerage
+Version: 0.2.2
+Release: 1
+Summary: Generate coverage information for Vim scripts.
+License: MIT License
+URL: https://github.com/Vimjas/covimerage
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e7/fd/45a6ce480ac42e53b5d6cf6c8c93620e5d2ba39060df2713fff00651e2de/covimerage-0.2.2.tar.gz
+BuildArch: noarch
+
+Requires: python3-attrs
+Requires: python3-click
+Requires: python3-coverage
+Requires: python3-pytest
+Requires: python3-pytest-mock
+Requires: python3-flake8
+Requires: python3-isort
+Requires: python3-pdbpp
+Requires: python3-pytest-pdb
+Requires: python3-flake8
+Requires: python3-isort
+Requires: python3-pytest
+Requires: python3-pytest-mock
+
+%description
+# covimerage
+
+Generates code coverage information for Vim scripts.
+
+It parses the output from Vim's `:profile` command, and generates data
+compatible with [Coverage.py](http://coverage.readthedocs.io/).
+
+[![Build Status](https://circleci.com/gh/Vimjas/covimerage/tree/master.svg?style=shield)](https://circleci.com/gh/Vimjas/covimerage)
+[![codecov](https://codecov.io/gh/Vimjas/covimerage/branch/master/graph/badge.svg)](https://codecov.io/gh/Vimjas/covimerage/branch/master)
+[![Codacy Badge](https://api.codacy.com/project/badge/Grade/548eb25f726646fbbe660dc9fb6d392a)](https://www.codacy.com/app/blueyed/covimerage)
+
+## Installation
+
+You can install covimerage using pip:
+
+```sh
+pip install covimerage
+```
+
+## Simple usage
+
+You can use `covimerage run` to wrap the call to Neovim/Vim with necessary
+boilerplate:
+
+```sh
+covimerage run vim -Nu test/vimrc -c 'Vader! test/**'
+```
+
+This will write the file `.coverage_covimerage` by default (use `--data-file`
+to configure it), which is compatible with Coverage.py.
+A report is automatically generated (on stdout).
+
+You can then call `covimerage xml` to create a `coverage.xml` file
+(Cobertura-compatible), which tools like [Codecov](https://codecov.io/)'s
+`codecov` tool can consume, e.g. via `codecov -f coverage.xml`.
+
+## Manual/advanced usage
+
+### 1. Generate profile information for your Vim script(s)
+
+You have to basically add the following to your tests vimrc:
+
+```vim
+profile start /tmp/vim-profile.txt
+profile! file ./*
+```
+
+This makes Neovim/Vim then write a file with profiling information.
+
+### 2. Call covimerage on the output file(s)
+
+```sh
+covimerage write_coverage /tmp/vim-profile.txt
+```
+
+This will create a file `.coverage_covimerage` (the default for `--data-file`),
+with entries marked for processing by a
+[Coverage.py](http://coverage.readthedocs.io/) plugin (provided by
+covimerage)).
+
+### 3. Include the covimerage plugin in .coveragerc
+
+When using `coverage` on the generated output (data file), you need to add
+the `covimerage` plugin to the `.coveragerc` file (which Coverage.py uses).
+This is basically all the `.coveragerc` you will need, but you could use
+other settings here (for Coverage.py), e.g. to omit some files:
+
+```
+[run]
+plugins = covimerage
+data_file = .coverage_covimerage
+```
+
+### 4. Create the report(s)
+
+You can now call e.g. `coverage report -m`, and you should be able to use
+coverage reporting platforms like <https://codecov.io/> or
+<https://coveralls.io>, which are basically using `coverage xml`.
+
+## Reference implementation
+
+- [Neomake](https://github.com/neomake/neomake) is the first adopter of this.
+ It has an advanced test setup (including Docker based builds), and looking at
+ tis setup could be helpful when setting up covimerage for your
+ plugin/project.
+
+ - [Neomake's coverage report on codecov.io](https://codecov.io/gh/neomake/neomake/tree/master)
+ - [PR/change to integrate it in
+ Neomake](https://github.com/neomake/neomake/pull/1600) (Neomake's test
+ setup is rather advanced, so do not let that scare you!)
+
+## Caveats
+
+Coverage information for a function may get wiped if the function is re-defined
+after testing it. This is a known limitation that does not depend on the
+implementation of covimerage, but on the vim profiler itself, since profiling
+data for a function, used to extract coverage data, is reset when the function
+is re-defined, even if the definition is identical.
+
+This can be an issue if the source files being checked for coverage are
+reloaded with `runtime` between tests for some reasons, e.g. when mocking some
+function. To prevent coverage information from being lost, one solution is to
+write such tests in a different suite that is run separately, and combine the
+coverage results with `covimerage run --append`.
+
+## Links
+
+- Discussion in Coverage.py's issue tracker:
+ [coverage issue 607](https://bitbucket.org/ned/coveragepy/issues/607/)
+
+## TODO
+
+- Line hit counts: known to covimerage, but not supported by Coverage.py
+ (<https://bitbucket.org/ned/coveragepy/issues/607/#comment-40048034>).
+
+
+
+
+%package -n python3-covimerage
+Summary: Generate coverage information for Vim scripts.
+Provides: python-covimerage
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-covimerage
+# covimerage
+
+Generates code coverage information for Vim scripts.
+
+It parses the output from Vim's `:profile` command, and generates data
+compatible with [Coverage.py](http://coverage.readthedocs.io/).
+
+[![Build Status](https://circleci.com/gh/Vimjas/covimerage/tree/master.svg?style=shield)](https://circleci.com/gh/Vimjas/covimerage)
+[![codecov](https://codecov.io/gh/Vimjas/covimerage/branch/master/graph/badge.svg)](https://codecov.io/gh/Vimjas/covimerage/branch/master)
+[![Codacy Badge](https://api.codacy.com/project/badge/Grade/548eb25f726646fbbe660dc9fb6d392a)](https://www.codacy.com/app/blueyed/covimerage)
+
+## Installation
+
+You can install covimerage using pip:
+
+```sh
+pip install covimerage
+```
+
+## Simple usage
+
+You can use `covimerage run` to wrap the call to Neovim/Vim with necessary
+boilerplate:
+
+```sh
+covimerage run vim -Nu test/vimrc -c 'Vader! test/**'
+```
+
+This will write the file `.coverage_covimerage` by default (use `--data-file`
+to configure it), which is compatible with Coverage.py.
+A report is automatically generated (on stdout).
+
+You can then call `covimerage xml` to create a `coverage.xml` file
+(Cobertura-compatible), which tools like [Codecov](https://codecov.io/)'s
+`codecov` tool can consume, e.g. via `codecov -f coverage.xml`.
+
+## Manual/advanced usage
+
+### 1. Generate profile information for your Vim script(s)
+
+You have to basically add the following to your tests vimrc:
+
+```vim
+profile start /tmp/vim-profile.txt
+profile! file ./*
+```
+
+This makes Neovim/Vim then write a file with profiling information.
+
+### 2. Call covimerage on the output file(s)
+
+```sh
+covimerage write_coverage /tmp/vim-profile.txt
+```
+
+This will create a file `.coverage_covimerage` (the default for `--data-file`),
+with entries marked for processing by a
+[Coverage.py](http://coverage.readthedocs.io/) plugin (provided by
+covimerage)).
+
+### 3. Include the covimerage plugin in .coveragerc
+
+When using `coverage` on the generated output (data file), you need to add
+the `covimerage` plugin to the `.coveragerc` file (which Coverage.py uses).
+This is basically all the `.coveragerc` you will need, but you could use
+other settings here (for Coverage.py), e.g. to omit some files:
+
+```
+[run]
+plugins = covimerage
+data_file = .coverage_covimerage
+```
+
+### 4. Create the report(s)
+
+You can now call e.g. `coverage report -m`, and you should be able to use
+coverage reporting platforms like <https://codecov.io/> or
+<https://coveralls.io>, which are basically using `coverage xml`.
+
+## Reference implementation
+
+- [Neomake](https://github.com/neomake/neomake) is the first adopter of this.
+ It has an advanced test setup (including Docker based builds), and looking at
+ tis setup could be helpful when setting up covimerage for your
+ plugin/project.
+
+ - [Neomake's coverage report on codecov.io](https://codecov.io/gh/neomake/neomake/tree/master)
+ - [PR/change to integrate it in
+ Neomake](https://github.com/neomake/neomake/pull/1600) (Neomake's test
+ setup is rather advanced, so do not let that scare you!)
+
+## Caveats
+
+Coverage information for a function may get wiped if the function is re-defined
+after testing it. This is a known limitation that does not depend on the
+implementation of covimerage, but on the vim profiler itself, since profiling
+data for a function, used to extract coverage data, is reset when the function
+is re-defined, even if the definition is identical.
+
+This can be an issue if the source files being checked for coverage are
+reloaded with `runtime` between tests for some reasons, e.g. when mocking some
+function. To prevent coverage information from being lost, one solution is to
+write such tests in a different suite that is run separately, and combine the
+coverage results with `covimerage run --append`.
+
+## Links
+
+- Discussion in Coverage.py's issue tracker:
+ [coverage issue 607](https://bitbucket.org/ned/coveragepy/issues/607/)
+
+## TODO
+
+- Line hit counts: known to covimerage, but not supported by Coverage.py
+ (<https://bitbucket.org/ned/coveragepy/issues/607/#comment-40048034>).
+
+
+
+
+%package help
+Summary: Development documents and examples for covimerage
+Provides: python3-covimerage-doc
+%description help
+# covimerage
+
+Generates code coverage information for Vim scripts.
+
+It parses the output from Vim's `:profile` command, and generates data
+compatible with [Coverage.py](http://coverage.readthedocs.io/).
+
+[![Build Status](https://circleci.com/gh/Vimjas/covimerage/tree/master.svg?style=shield)](https://circleci.com/gh/Vimjas/covimerage)
+[![codecov](https://codecov.io/gh/Vimjas/covimerage/branch/master/graph/badge.svg)](https://codecov.io/gh/Vimjas/covimerage/branch/master)
+[![Codacy Badge](https://api.codacy.com/project/badge/Grade/548eb25f726646fbbe660dc9fb6d392a)](https://www.codacy.com/app/blueyed/covimerage)
+
+## Installation
+
+You can install covimerage using pip:
+
+```sh
+pip install covimerage
+```
+
+## Simple usage
+
+You can use `covimerage run` to wrap the call to Neovim/Vim with necessary
+boilerplate:
+
+```sh
+covimerage run vim -Nu test/vimrc -c 'Vader! test/**'
+```
+
+This will write the file `.coverage_covimerage` by default (use `--data-file`
+to configure it), which is compatible with Coverage.py.
+A report is automatically generated (on stdout).
+
+You can then call `covimerage xml` to create a `coverage.xml` file
+(Cobertura-compatible), which tools like [Codecov](https://codecov.io/)'s
+`codecov` tool can consume, e.g. via `codecov -f coverage.xml`.
+
+## Manual/advanced usage
+
+### 1. Generate profile information for your Vim script(s)
+
+You have to basically add the following to your tests vimrc:
+
+```vim
+profile start /tmp/vim-profile.txt
+profile! file ./*
+```
+
+This makes Neovim/Vim then write a file with profiling information.
+
+### 2. Call covimerage on the output file(s)
+
+```sh
+covimerage write_coverage /tmp/vim-profile.txt
+```
+
+This will create a file `.coverage_covimerage` (the default for `--data-file`),
+with entries marked for processing by a
+[Coverage.py](http://coverage.readthedocs.io/) plugin (provided by
+covimerage)).
+
+### 3. Include the covimerage plugin in .coveragerc
+
+When using `coverage` on the generated output (data file), you need to add
+the `covimerage` plugin to the `.coveragerc` file (which Coverage.py uses).
+This is basically all the `.coveragerc` you will need, but you could use
+other settings here (for Coverage.py), e.g. to omit some files:
+
+```
+[run]
+plugins = covimerage
+data_file = .coverage_covimerage
+```
+
+### 4. Create the report(s)
+
+You can now call e.g. `coverage report -m`, and you should be able to use
+coverage reporting platforms like <https://codecov.io/> or
+<https://coveralls.io>, which are basically using `coverage xml`.
+
+## Reference implementation
+
+- [Neomake](https://github.com/neomake/neomake) is the first adopter of this.
+ It has an advanced test setup (including Docker based builds), and looking at
+ tis setup could be helpful when setting up covimerage for your
+ plugin/project.
+
+ - [Neomake's coverage report on codecov.io](https://codecov.io/gh/neomake/neomake/tree/master)
+ - [PR/change to integrate it in
+ Neomake](https://github.com/neomake/neomake/pull/1600) (Neomake's test
+ setup is rather advanced, so do not let that scare you!)
+
+## Caveats
+
+Coverage information for a function may get wiped if the function is re-defined
+after testing it. This is a known limitation that does not depend on the
+implementation of covimerage, but on the vim profiler itself, since profiling
+data for a function, used to extract coverage data, is reset when the function
+is re-defined, even if the definition is identical.
+
+This can be an issue if the source files being checked for coverage are
+reloaded with `runtime` between tests for some reasons, e.g. when mocking some
+function. To prevent coverage information from being lost, one solution is to
+write such tests in a different suite that is run separately, and combine the
+coverage results with `covimerage run --append`.
+
+## Links
+
+- Discussion in Coverage.py's issue tracker:
+ [coverage issue 607](https://bitbucket.org/ned/coveragepy/issues/607/)
+
+## TODO
+
+- Line hit counts: known to covimerage, but not supported by Coverage.py
+ (<https://bitbucket.org/ned/coveragepy/issues/607/#comment-40048034>).
+
+
+
+
+%prep
+%autosetup -n covimerage-0.2.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-covimerage -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.2-1
+- Package Spec generated