summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-pytest-check.spec409
-rw-r--r--sources1
3 files changed, 411 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..38b3d08 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/pytest-check-2.1.4.tar.gz
diff --git a/python-pytest-check.spec b/python-pytest-check.spec
new file mode 100644
index 0000000..42ee387
--- /dev/null
+++ b/python-pytest-check.spec
@@ -0,0 +1,409 @@
+%global _empty_manifest_terminate_build 0
+Name: python-pytest-check
+Version: 2.1.4
+Release: 1
+Summary: A pytest plugin that allows multiple failures per test.
+License: MIT License
+URL: https://pypi.org/project/pytest-check/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/a0/dc/a0eb5f6b939bef2730588d8dd1f2bcc96e4c032d98750c3126532c7d2c8d/pytest-check-2.1.4.tar.gz
+BuildArch: noarch
+
+Requires: python3-pytest
+
+%description
+Normally, a test function will fail and stop running with the first failed `assert`.
+That's totally fine for tons of kinds of software tests.
+However, there are times where you'd like to check more than one thing, and you'd really like to know the results of each check, even if one of them fails.
+`pytest-check` allows multiple failed "checks" per test function, so you can see the whole picture of what's going wrong.
+## Installation
+From PyPI:
+```
+$ pip install pytest-check
+```
+From conda (conda-forge):
+```
+$ conda install -c conda-forge pytest-check
+```
+## Example
+Quick example of where you might want multiple checks:
+```python
+import httpx
+from pytest_check import check
+def test_httpx_get():
+ r = httpx.get('https://www.example.org/')
+ # bail if bad status code
+ assert r.status_code == 200
+ # but if we get to here
+ # then check everything else without stopping
+ with check:
+ assert r.is_redirect is False
+ with check:
+ assert r.encoding == 'utf-8'
+ with check:
+ assert 'Example Domain' in r.text
+```
+## Import vs fixture
+The example above used import: `from pytest_check import check`.
+You can also grab `check` as a fixture with no import:
+```python
+def test_httpx_get(check):
+ r = httpx.get('https://www.example.org/')
+ with check:
+ assert r.is_redirect == False
+```
+## Validation functions
+`check` also helper functions for common checks.
+These methods do NOT need to be inside of a `with check:` block.
+- **check.equal** - *a == b*
+- **check.not_equal** - *a != b*
+- **check.is_** - *a is b*
+- **check.is_not** - *a is not b*
+- **check.is_true** - *bool(x) is True*
+- **check.is_false** - *bool(x) is False*
+- **check.is_none** - *x is None*
+- **check.is_not_none** - *x is not None*
+- **check.is_in** - *a in b*
+- **check.is_not_in** - *a not in b*
+- **check.is_instance** - *isinstance(a, b)*
+- **check.is_not_instance** - *not isinstance(a, b)*
+- **check.almost_equal** - *a == pytest.approx(b, rel, abs)* see at: [pytest.approx](https://docs.pytest.org/en/latest/reference.html#pytest-approx)
+- **check.not_almost_equal** - *a != pytest.approx(b, rel, abs)* see at: [pytest.approx](https://docs.pytest.org/en/latest/reference.html#pytest-approx)
+- **check.greater** - *a > b*
+- **check.greater_equal** - *a >= b*
+- **check.less** - *a < b*
+- **check.less_equal** - *a <= b*
+- **check.between** - *a < b < c*
+- **check.raises** - *func raises given exception* similar to [pytest.raises](https://docs.pytest.org/en/latest/reference/reference.html#pytest-raises)
+The httpx example can be rewritten with helper functions:
+```python
+def test_httpx_get_with_helpers():
+ r = httpx.get('https://www.example.org/')
+ assert r.status_code == 200
+ check.is_false(r.is_redirect)
+ check.equal(r.encoding, 'utf-8')
+ check.is_in('Example Domain', r.text)
+```
+Which you use is personal preference.
+## Defining your own check functions
+The `@check.check_func` decorator allows you to wrap any test helper that has an assert
+statement in it to be a non-blocking assert function.
+```python
+from pytest_check import check
+@check.check_func
+def is_four(a):
+ assert a == 4
+def test_all_four():
+ is_four(1)
+ is_four(2)
+ is_four(3)
+ is_four(4)
+```
+## Using raises as a context manager
+`raises` is used as context manager, much like `pytest.raises`. The main difference being that a failure to raise the right exception won't stop the execution of the test method.
+```python
+from pytest_check import check
+def test_raises():
+ with check.raises(AssertionError):
+ x = 3
+ assert 1 < x < 4
+```
+## Pseudo-tracebacks
+With `check`, tests can have multiple failures per test.
+This would possibly make for extensive output if we include the full traceback for
+every failure.
+To make the output a little more concise, `pytest-check` implements a shorter version, which we call pseudo-tracebacks.
+For example, take this test:
+```python
+def test_example():
+ a = 1
+ b = 2
+ c = [2, 4, 6]
+ check.greater(a, b)
+ check.less_equal(b, a)
+ check.is_in(a, c, "Is 1 in the list")
+ check.is_not_in(b, c, "make sure 2 isn't in list")
+```
+This will result in:
+
+%package -n python3-pytest-check
+Summary: A pytest plugin that allows multiple failures per test.
+Provides: python-pytest-check
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-pytest-check
+Normally, a test function will fail and stop running with the first failed `assert`.
+That's totally fine for tons of kinds of software tests.
+However, there are times where you'd like to check more than one thing, and you'd really like to know the results of each check, even if one of them fails.
+`pytest-check` allows multiple failed "checks" per test function, so you can see the whole picture of what's going wrong.
+## Installation
+From PyPI:
+```
+$ pip install pytest-check
+```
+From conda (conda-forge):
+```
+$ conda install -c conda-forge pytest-check
+```
+## Example
+Quick example of where you might want multiple checks:
+```python
+import httpx
+from pytest_check import check
+def test_httpx_get():
+ r = httpx.get('https://www.example.org/')
+ # bail if bad status code
+ assert r.status_code == 200
+ # but if we get to here
+ # then check everything else without stopping
+ with check:
+ assert r.is_redirect is False
+ with check:
+ assert r.encoding == 'utf-8'
+ with check:
+ assert 'Example Domain' in r.text
+```
+## Import vs fixture
+The example above used import: `from pytest_check import check`.
+You can also grab `check` as a fixture with no import:
+```python
+def test_httpx_get(check):
+ r = httpx.get('https://www.example.org/')
+ with check:
+ assert r.is_redirect == False
+```
+## Validation functions
+`check` also helper functions for common checks.
+These methods do NOT need to be inside of a `with check:` block.
+- **check.equal** - *a == b*
+- **check.not_equal** - *a != b*
+- **check.is_** - *a is b*
+- **check.is_not** - *a is not b*
+- **check.is_true** - *bool(x) is True*
+- **check.is_false** - *bool(x) is False*
+- **check.is_none** - *x is None*
+- **check.is_not_none** - *x is not None*
+- **check.is_in** - *a in b*
+- **check.is_not_in** - *a not in b*
+- **check.is_instance** - *isinstance(a, b)*
+- **check.is_not_instance** - *not isinstance(a, b)*
+- **check.almost_equal** - *a == pytest.approx(b, rel, abs)* see at: [pytest.approx](https://docs.pytest.org/en/latest/reference.html#pytest-approx)
+- **check.not_almost_equal** - *a != pytest.approx(b, rel, abs)* see at: [pytest.approx](https://docs.pytest.org/en/latest/reference.html#pytest-approx)
+- **check.greater** - *a > b*
+- **check.greater_equal** - *a >= b*
+- **check.less** - *a < b*
+- **check.less_equal** - *a <= b*
+- **check.between** - *a < b < c*
+- **check.raises** - *func raises given exception* similar to [pytest.raises](https://docs.pytest.org/en/latest/reference/reference.html#pytest-raises)
+The httpx example can be rewritten with helper functions:
+```python
+def test_httpx_get_with_helpers():
+ r = httpx.get('https://www.example.org/')
+ assert r.status_code == 200
+ check.is_false(r.is_redirect)
+ check.equal(r.encoding, 'utf-8')
+ check.is_in('Example Domain', r.text)
+```
+Which you use is personal preference.
+## Defining your own check functions
+The `@check.check_func` decorator allows you to wrap any test helper that has an assert
+statement in it to be a non-blocking assert function.
+```python
+from pytest_check import check
+@check.check_func
+def is_four(a):
+ assert a == 4
+def test_all_four():
+ is_four(1)
+ is_four(2)
+ is_four(3)
+ is_four(4)
+```
+## Using raises as a context manager
+`raises` is used as context manager, much like `pytest.raises`. The main difference being that a failure to raise the right exception won't stop the execution of the test method.
+```python
+from pytest_check import check
+def test_raises():
+ with check.raises(AssertionError):
+ x = 3
+ assert 1 < x < 4
+```
+## Pseudo-tracebacks
+With `check`, tests can have multiple failures per test.
+This would possibly make for extensive output if we include the full traceback for
+every failure.
+To make the output a little more concise, `pytest-check` implements a shorter version, which we call pseudo-tracebacks.
+For example, take this test:
+```python
+def test_example():
+ a = 1
+ b = 2
+ c = [2, 4, 6]
+ check.greater(a, b)
+ check.less_equal(b, a)
+ check.is_in(a, c, "Is 1 in the list")
+ check.is_not_in(b, c, "make sure 2 isn't in list")
+```
+This will result in:
+
+%package help
+Summary: Development documents and examples for pytest-check
+Provides: python3-pytest-check-doc
+%description help
+Normally, a test function will fail and stop running with the first failed `assert`.
+That's totally fine for tons of kinds of software tests.
+However, there are times where you'd like to check more than one thing, and you'd really like to know the results of each check, even if one of them fails.
+`pytest-check` allows multiple failed "checks" per test function, so you can see the whole picture of what's going wrong.
+## Installation
+From PyPI:
+```
+$ pip install pytest-check
+```
+From conda (conda-forge):
+```
+$ conda install -c conda-forge pytest-check
+```
+## Example
+Quick example of where you might want multiple checks:
+```python
+import httpx
+from pytest_check import check
+def test_httpx_get():
+ r = httpx.get('https://www.example.org/')
+ # bail if bad status code
+ assert r.status_code == 200
+ # but if we get to here
+ # then check everything else without stopping
+ with check:
+ assert r.is_redirect is False
+ with check:
+ assert r.encoding == 'utf-8'
+ with check:
+ assert 'Example Domain' in r.text
+```
+## Import vs fixture
+The example above used import: `from pytest_check import check`.
+You can also grab `check` as a fixture with no import:
+```python
+def test_httpx_get(check):
+ r = httpx.get('https://www.example.org/')
+ with check:
+ assert r.is_redirect == False
+```
+## Validation functions
+`check` also helper functions for common checks.
+These methods do NOT need to be inside of a `with check:` block.
+- **check.equal** - *a == b*
+- **check.not_equal** - *a != b*
+- **check.is_** - *a is b*
+- **check.is_not** - *a is not b*
+- **check.is_true** - *bool(x) is True*
+- **check.is_false** - *bool(x) is False*
+- **check.is_none** - *x is None*
+- **check.is_not_none** - *x is not None*
+- **check.is_in** - *a in b*
+- **check.is_not_in** - *a not in b*
+- **check.is_instance** - *isinstance(a, b)*
+- **check.is_not_instance** - *not isinstance(a, b)*
+- **check.almost_equal** - *a == pytest.approx(b, rel, abs)* see at: [pytest.approx](https://docs.pytest.org/en/latest/reference.html#pytest-approx)
+- **check.not_almost_equal** - *a != pytest.approx(b, rel, abs)* see at: [pytest.approx](https://docs.pytest.org/en/latest/reference.html#pytest-approx)
+- **check.greater** - *a > b*
+- **check.greater_equal** - *a >= b*
+- **check.less** - *a < b*
+- **check.less_equal** - *a <= b*
+- **check.between** - *a < b < c*
+- **check.raises** - *func raises given exception* similar to [pytest.raises](https://docs.pytest.org/en/latest/reference/reference.html#pytest-raises)
+The httpx example can be rewritten with helper functions:
+```python
+def test_httpx_get_with_helpers():
+ r = httpx.get('https://www.example.org/')
+ assert r.status_code == 200
+ check.is_false(r.is_redirect)
+ check.equal(r.encoding, 'utf-8')
+ check.is_in('Example Domain', r.text)
+```
+Which you use is personal preference.
+## Defining your own check functions
+The `@check.check_func` decorator allows you to wrap any test helper that has an assert
+statement in it to be a non-blocking assert function.
+```python
+from pytest_check import check
+@check.check_func
+def is_four(a):
+ assert a == 4
+def test_all_four():
+ is_four(1)
+ is_four(2)
+ is_four(3)
+ is_four(4)
+```
+## Using raises as a context manager
+`raises` is used as context manager, much like `pytest.raises`. The main difference being that a failure to raise the right exception won't stop the execution of the test method.
+```python
+from pytest_check import check
+def test_raises():
+ with check.raises(AssertionError):
+ x = 3
+ assert 1 < x < 4
+```
+## Pseudo-tracebacks
+With `check`, tests can have multiple failures per test.
+This would possibly make for extensive output if we include the full traceback for
+every failure.
+To make the output a little more concise, `pytest-check` implements a shorter version, which we call pseudo-tracebacks.
+For example, take this test:
+```python
+def test_example():
+ a = 1
+ b = 2
+ c = [2, 4, 6]
+ check.greater(a, b)
+ check.less_equal(b, a)
+ check.is_in(a, c, "Is 1 in the list")
+ check.is_not_in(b, c, "make sure 2 isn't in list")
+```
+This will result in:
+
+%prep
+%autosetup -n pytest-check-2.1.4
+
+%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-pytest-check -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 2.1.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..5a68d30
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+bbc65a525885581375623fbf187700c6 pytest-check-2.1.4.tar.gz