Package Details: python-flake8-quotes 3.4.0-1

Git Clone URL: https://aur.archlinux.org/python-flake8-quotes.git (read-only, click to copy)
Package Base: python-flake8-quotes
Description: Flake8 lint for quotes
Upstream URL: https://github.com/zheller/flake8-quotes
Licenses: MIT
Submitter: acxz
Maintainer: dmitmel
Last Packager: dmitmel
Votes: 4
Popularity: 0.004592
First Submitted: 2020-05-30 22:42 (UTC)
Last Updated: 2025-01-20 21:43 (UTC)

Latest Comments

1 2 Next › Last »

mreeves87 commented on 2024-12-28 22:07 (UTC) (edited on 2024-12-28 22:43 (UTC) by mreeves87)

Using pytest makes this package fail testing if any of the fallowing are installed:

 python-pytest-mypy, python-pytest-ruff,

Using the following resolves this:

 python -m pytest -k 'not test_stdin and not ruff::format and not mypy'

Neither of these test suites are part the original testing for this flake8-quotes. pytest brings them in by default along with any other test plugins that happen to be installed. I seem to have an additional pytest-plulgin that trigger flake8 testing. This does not seem to be part of an official package so that's my problem to deal with.

This should restore test behavior comparable to the orginal i.e. no plugins loaded for pytest unless asked for:

check() {
+    export PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
    cd "${_pkgname}-${pkgver}"
    python -m pytest -k 'not test_stdin'
}

gesh commented on 2024-12-23 14:44 (UTC)

Note: Package needs to be rebuilt for Python 3.13 (a bump to pkgrel suffices)

dmitmel commented on 2024-04-08 12:51 (UTC)

I'm going to just disable this one test since making it work has been more trouble than it's worth (basically seems to be double-checking the builtin functionality of flake8 of being able to run plugins when reading input from stdin).

gesh commented on 2024-04-08 12:17 (UTC)

Couldn't reproduce -- could you try https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot (ie install devtools, then pkgctl build)?

Andrei_Korshikov commented on 2024-04-08 10:33 (UTC)

self = <test.test_checks.TestFlake8Stdin testMethod=test_stdin>

    def test_stdin(self):
        """Test using stdin."""
        filepath = get_absolute_path('data/doubles.py')
        with open(filepath, 'rb') as f:
            p = subprocess.Popen(['flake8', '--select=Q', '-'], stdin=f,
                                 stdout=subprocess.PIPE, stderr=subprocess.PIPE)
            stdout, stderr = p.communicate()

        stdout_lines = stdout.splitlines()
>       self.assertEqual(stderr, b'')
E       AssertionError: b'Unable to find qualified name for module: stdin\n' != b''

test/test_checks.py:23: AssertionError

gesh commented on 2024-03-26 20:45 (UTC) (edited on 2024-03-26 20:46 (UTC) by gesh)

OK, found a workaround:

check() {
    cd "$_pkgname-$pkgver"
    PYTHONPATH=src:"$PYTHONPATH" python -m pytest test
}

gesh commented on 2024-03-26 20:05 (UTC)

For some reason, it appears python setup.py test manages to run flake8 with our package plugged in, whereas python -m {py,unit}test both run it in a clean environment. I've disabled the offending test in the below -- have run out of patience trying to massage it into success.

diff --git a/PKGBUILD b/PKGBUILD
index 8723a35..a40d4a5 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,24 +4,31 @@
 pkgname=python-flake8-quotes
 _pkgname=flake8-quotes
 pkgver=3.3.2
-pkgrel=1
+pkgrel=2
 pkgdesc="Flake8 lint for quotes"
 arch=('any')
 url="https://github.com/zheller/${_pkgname}"
 license=('MIT')
 depends=('flake8')
-makedepends=('python-setuptools')
+checkdepends=('python-pytest')
+makedepends=(python-build python-installer python-wheel python-setuptools)
 source=("${pkgname}-${pkgver}.tar.gz::https://github.com/zheller/${_pkgname}/archive/${pkgver}.tar.gz")
 sha256sums=('884d027b6126b6216bdb9fa95a9841c4f07f600569a4a41f3d0cdbf71afe6bcb')

 build() {
-    cd "${_pkgname}-${pkgver}"
-    python setup.py build
+    cd "$_pkgname-$pkgver"
+    python -m build --wheel --no-isolation
+}
+
+check() {
+    cd "$_pkgname-$pkgver"
+    # needs the package to be installed to run
+    python -m pytest -k 'not test_stdin'
 }

 package() {
-    cd "${_pkgname}-${pkgver}"
-    python setup.py install --root="${pkgdir}" --optimize=1
+    cd "$_pkgname-$pkgver"
+    python -m installer --destdir="$pkgdir" dist/*.whl

     install -Dm 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
 }

gesh commented on 2024-03-26 17:54 (UTC)

And indeed, checking it in this way reveals my implementation of check() is wrong, though I don't know why. But python setup.py test differs in behaviour from python -m unittest

gesh commented on 2024-03-26 17:39 (UTC)

You are correct, my bad. Yeah, PEP517 only controls the invocation of the build process, but at the end of the day you still need the the build backend, in this case python-setuptools. Nice catch!

dmitmel commented on 2024-03-26 16:52 (UTC)

gesh: Shouldn't python-setuptools be present in the dependencies as well?